Add sssf skill, installable via the skills CLI
Port the sssf skill from ~/.agents/skills/sssf into this repo so it can be distributed and installed with the skills CLI (skills add INDigitalStudio/skills --skill sssf). - Copy the skill (SKILL.md, cookbooks, references, scripts, templates, and the visualizer app source) into sssf/. - Gitignore build/runtime artifacts: the visualizer's node_modules/ and dist/, Python bytecode, and the machine-specific repos.json. - Make the skill location-independent: install.py now stamps the skill's real path into the stamped justfile's skill_dir (replacing the hardcoded ~/.agents/skills/sssf), so 'just obs' finds the visualizer wherever the CLI installed the skill. - Update cookbooks to use <skill>/scripts/... instead of the hardcoded path, and document the skills CLI install command. - Update the repo README with install instructions.
This commit is contained in:
parent
a42608f602
commit
2cc766aabe
98 changed files with 12508 additions and 0 deletions
63
sssf/cookbooks/create_config.md
Normal file
63
sssf/cookbooks/create_config.md
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# Create Config
|
||||
|
||||
Generate `sssf.config.yaml` — the agent roster for a target repo.
|
||||
|
||||
## Generate it
|
||||
|
||||
```bash
|
||||
uv run <skill>/scripts/make_config.py
|
||||
```
|
||||
|
||||
`<skill>` is the directory this skill was installed into (e.g. `~/.agents/skills/sssf` or a repo's `.claude/skills/sssf`).
|
||||
|
||||
Writes `adws/adw_sssf_config/sssf.config.yaml` — creating the directory if needed — with the starter agents (planner, builder, scout, reviewer, documenter) wired to the prompt files `/sssf install` stamped into `adws/adw_data/prompt_engineering/`. That path is the default every ADW and the justfile look for; `--config` overrides it. `make_config.py` refuses to overwrite an existing config unless you pass `--force`, so retuning an existing roster is a hand edit — see `update_config.md`.
|
||||
|
||||
## The rule
|
||||
|
||||
**One agent, one prompt, one purpose.** An entry defines who an agent *is*: its coding agent, model, thinking level, and exactly one system prompt plus one user prompt. How it gets *used* — the output type, a per-call user prompt override — lives at the ADW call site, never here.
|
||||
|
||||
## Schema
|
||||
|
||||
```yaml
|
||||
defaults:
|
||||
coding_agent: pi # v1: pi only (claude_code is specced, stubbed until v2)
|
||||
model: google/gemini-3.6-flash # ALWAYS provider/model-id — a bare id is ambiguous
|
||||
thinking: medium # off | minimal | low | medium | high | xhigh | max
|
||||
harness_engineering: [] # pi extension names
|
||||
data_dir: adws/adw_data # runtime home: {data_dir}/sessions/{adw_id}/{agent_name}/
|
||||
|
||||
observability:
|
||||
db: adws/adw_data/sssf.db # tracer writes here; the UI polls it
|
||||
poll_ms: 500 # visualizer live-poll cadence
|
||||
|
||||
agents:
|
||||
- name: planner # ADW scripts name agents, never models
|
||||
coding_agent: pi
|
||||
model: google/gemini-3.6-flash
|
||||
thinking: high
|
||||
color: "#a78bfa" # optional hex — this agent's lane color in the visualizer
|
||||
purpose: Turn a request into a plan the builder can implement without asking questions.
|
||||
prompt_engineering:
|
||||
system: adws/adw_data/prompt_engineering/planner/system.md
|
||||
user: adws/adw_data/prompt_engineering/planner/user.md
|
||||
|
||||
- name: scout
|
||||
thinking: high # unset keys fall through to defaults
|
||||
purpose: Find and report where things live; change nothing.
|
||||
prompt_engineering:
|
||||
system: adws/adw_data/prompt_engineering/scout/system.md
|
||||
user: adws/adw_data/prompt_engineering/scout/user.md
|
||||
tools: # optional allowlist — omit the key entirely for all tools
|
||||
- read
|
||||
- bash
|
||||
```
|
||||
|
||||
Every agent entry merges over `defaults`, so an entry only states what differs. Pi's builtin tools are `read`, `bash`, `edit`, `write` — a read-only recon agent gets `[read, bash]`; a builder omits `tools` altogether.
|
||||
|
||||
## After generating
|
||||
|
||||
1. Each agent needs its prompt pair to exist on disk: `adws/adw_data/prompt_engineering/{name}/system.md` and `user.md`. `agents.validate()` fails the run at startup if either is missing.
|
||||
2. Write `purpose` as one sentence and make the system prompt say the same thing — the two should not drift.
|
||||
3. Validate by running the smallest ADW that names your agents; a bad entry fails fast, before anything spawns.
|
||||
|
||||
Full field-by-field spec, thinking-level mapping, and model resolution: `references/config.md`. Retuning an existing roster: `update_config.md`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue