@jaimevalasek/aioson 1.36.0 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/docs/en/1-understand/ecosystem-map.md +1 -1
  3. package/docs/en/1-understand/glossary.md +1 -1
  4. package/docs/en/2-start/first-project.md +1 -1
  5. package/docs/en/2-start/initial-decisions.md +4 -2
  6. package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +8 -1
  7. package/docs/en/3-recipes/full-feature-with-sheldon.md +3 -1
  8. package/docs/en/4-agents/README.md +6 -3
  9. package/docs/en/4-agents/briefing-refiner.md +146 -0
  10. package/docs/en/5-reference/README.md +1 -0
  11. package/docs/en/5-reference/autopilot-handoff.md +286 -0
  12. package/docs/en/5-reference/cli-reference.md +6 -0
  13. package/docs/pt/1-entender/glossario.md +1 -1
  14. package/docs/pt/1-entender/mapa-do-ecossistema.md +1 -1
  15. package/docs/pt/2-comecar/decisoes-iniciais.md +4 -2
  16. package/docs/pt/2-comecar/primeiro-projeto.md +1 -1
  17. package/docs/pt/3-receitas/da-ideia-ao-prd-via-briefing.md +8 -1
  18. package/docs/pt/3-receitas/feature-completa-com-sheldon.md +3 -1
  19. package/docs/pt/4-agentes/README.md +13 -11
  20. package/docs/pt/4-agentes/briefing-refiner.md +64 -40
  21. package/docs/pt/4-agentes/briefing.md +6 -1
  22. package/docs/pt/4-agentes/dev.md +19 -1
  23. package/docs/pt/4-agentes/deyvin.md +4 -0
  24. package/docs/pt/4-agentes/discover.md +4 -0
  25. package/docs/pt/4-agentes/neo.md +4 -0
  26. package/docs/pt/4-agentes/orache.md +6 -0
  27. package/docs/pt/4-agentes/orchestrator.md +12 -0
  28. package/docs/pt/4-agentes/pentester.md +6 -0
  29. package/docs/pt/4-agentes/product.md +19 -1
  30. package/docs/pt/4-agentes/qa.md +10 -2
  31. package/docs/pt/4-agentes/setup.md +3 -1
  32. package/docs/pt/4-agentes/sheldon.md +12 -0
  33. package/docs/pt/4-agentes/tester.md +6 -0
  34. package/docs/pt/4-agentes/ux-ui.md +2 -1
  35. package/docs/pt/5-referencia/README.md +1 -1
  36. package/docs/pt/5-referencia/agent-chain-continuity.md +1 -1
  37. package/docs/pt/5-referencia/autopilot-handoff.md +191 -74
  38. package/docs/pt/5-referencia/comandos-cli.md +16 -7
  39. package/docs/pt/5-referencia/skills.md +2 -0
  40. package/docs/pt/agentes.md +3 -1
  41. package/package.json +1 -1
  42. package/src/agents.js +1 -1
  43. package/src/artifact-kinds.js +2 -1
  44. package/src/autopilot-signal.js +71 -0
  45. package/src/cli.js +9 -1
  46. package/src/commands/agents.js +18 -2
  47. package/src/commands/briefing.js +337 -1
  48. package/src/commands/feature-close.js +136 -43
  49. package/src/commands/live.js +47 -11
  50. package/src/commands/update.js +5 -1
  51. package/src/commands/verification-plan.js +28 -1
  52. package/src/commands/verify-artifact.js +64 -1
  53. package/src/commands/workflow-execute.js +149 -31
  54. package/src/commands/workflow-next.js +60 -16
  55. package/src/doctor.js +4 -2
  56. package/src/i18n/messages/en.js +2 -1
  57. package/src/i18n/messages/es.js +2 -1
  58. package/src/i18n/messages/fr.js +2 -1
  59. package/src/i18n/messages/pt-BR.js +2 -1
  60. package/src/lib/briefing-refiner/apply-feedback.js +18 -4
  61. package/src/lib/briefing-refiner/feedback-schema.js +73 -4
  62. package/src/lib/briefing-refiner/refinement-report.js +11 -0
  63. package/src/lib/briefing-refiner/review-html.js +388 -68
  64. package/src/parser.js +6 -0
  65. package/template/.aioson/agents/briefing-refiner.md +87 -47
  66. package/template/.aioson/agents/briefing.md +4 -0
  67. package/template/.aioson/agents/dev.md +9 -2
  68. package/template/.aioson/agents/deyvin.md +4 -0
  69. package/template/.aioson/agents/discover.md +4 -0
  70. package/template/.aioson/agents/neo.md +4 -0
  71. package/template/.aioson/agents/orache.md +4 -0
  72. package/template/.aioson/agents/orchestrator.md +16 -0
  73. package/template/.aioson/agents/pentester.md +4 -0
  74. package/template/.aioson/agents/product.md +25 -1
  75. package/template/.aioson/agents/qa.md +5 -1
  76. package/template/.aioson/agents/sheldon.md +9 -1
  77. package/template/.aioson/agents/tester.md +4 -0
  78. package/template/.aioson/agents/ux-ui.md +1 -1
  79. package/template/.aioson/docs/agent-help.md +126 -0
  80. package/template/.aioson/docs/autopilot-handoff.md +26 -16
  81. package/template/.aioson/docs/dev/phase-loop.md +8 -5
  82. package/template/.aioson/docs/play/llm-data-and-bindings.md +70 -7
  83. package/template/.aioson/skills/design/interface-design/SKILL.md +17 -0
  84. package/template/AGENTS.md +36 -36
  85. package/template/CLAUDE.md +1 -1
@@ -4,9 +4,13 @@
4
4
 
5
5
  > Activated as `@briefing-refiner`. Execute these instructions immediately when invoked.
6
6
 
7
+ ## Help (--help)
8
+
9
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @briefing-refiner` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
10
+
7
11
  ## Mission
8
12
 
9
- Refine an existing `@briefing` artifact before `@product` generates a PRD. Generate a local editable review surface, consume only structured feedback, and apply confirmed changes back to the briefing while preserving the briefing contract.
13
+ Refine an existing `@briefing` artifact before `@product` generates a PRD. You do the intelligent audit; the CLI owns the review surface. Generate the review via `aioson briefing:review`, consume only structured feedback via `aioson briefing:apply-feedback`, and iterate rounds until nothing blocks the PRD.
10
14
 
11
15
  ## Required input
12
16
 
@@ -39,39 +43,67 @@ aioson context:select . --agent=briefing-refiner --mode=planning --task="<refine
39
43
 
40
44
  Treat `must_read` and `should_read` from `context:search` as routing hints, not permission to bulk-load files. If a returned rule/doc looks relevant but `context:select` omits it, refine the task/paths/intent once; otherwise keep the context lean.
41
45
 
42
- ## Operating modes
46
+ ## The refinement loop
43
47
 
44
- ### Generate review
48
+ The whole agent runs this loop until the briefing is clean:
45
49
 
46
- Use this when no pending `.aioson/briefings/{slug}/refinement-feedback.json` exists or when the user explicitly asks to regenerate the review.
50
+ 1. **Generate review** (below) audit findings `aioson briefing:review`.
51
+ 2. User reviews in the browser and returns the feedback JSON (any of the three routes in the handoff).
52
+ 3. **Apply feedback** (below) — dry-run → confirm → apply. The CLI archives the consumed feedback/findings for that round.
53
+ 4. **Decide the next iteration:**
54
+ - Blockers remain (`next_action: resolve_blockers`), or the applied changes materially changed the briefing text → **regenerate the review** (fresh audit of the UPDATED text, new findings file, next round) and go back to step 2.
55
+ - No blockers and no substantive open questions → exit the loop: tell the user to run `aioson briefing:approve . --slug={slug}` and route to `@product`, or offer prototype mode first (see Handoff).
47
56
 
48
- 1. Parse `briefings.md`.
49
- 2. Verify these sections exist: `Context`, `Problem`, `Proposed solution`, `Themes`, `Risks`, `Identified gaps`, `Sources`, `Open questions`.
50
- 3. Audit for ambiguity, redundancy, missing decisions, unclear risks, vague open questions, inconsistent terms, and implementation-impact gaps.
51
- 4. If the briefing is too thin for a rich-surface idea or the user asks whether it is worth pursuing, load `.aioson/skills/process/briefing-expansion-scout/SKILL.md`, write/update `.aioson/briefings/{slug}/expansion-scout.md`, and reference it in `refinement-report.md`.
52
- 5. Write:
53
- - `.aioson/briefings/{slug}/review.html`
54
- - `.aioson/briefings/{slug}/refinement-feedback.json`
55
- - `.aioson/briefings/{slug}/refinement-report.md`
56
- 6. Tell the user to open `review.html`, edit sections, add notes/statuses, then save/export `refinement-feedback.json`.
57
-
58
- ### Apply pending feedback
57
+ Never exit the loop by hand-editing `briefings.md`, and never route to `@product` while `resolve_blockers` is the recorded next action.
59
58
 
60
- Use this when `.aioson/briefings/{slug}/refinement-feedback.json` exists and contains unapplied changes.
61
-
62
- 1. Validate feedback schema, slug, source path, section coverage, and source hash.
63
- 2. Summarize proposed edits, unresolved comments, and blocking items in the harness.
64
- 3. Ask for explicit confirmation before editing `briefings.md`.
65
- 4. If confirmed, apply only structured JSON feedback. Never infer changes from the HTML DOM.
66
- 5. Preserve all mandatory sections.
67
- 6. If the briefing was `approved` and `prd_generated` is `null`, set it back to `draft` and `approved_at: null`.
68
- 7. Write/update `refinement-report.md`.
59
+ ### Generate review
69
60
 
70
- ### Decline or blocked feedback
61
+ Use this when no pending `.aioson/briefings/{slug}/refinement-feedback.json` exists (the apply step archives consumed feedback, so file present = pending) or when the user explicitly asks to regenerate the review.
62
+
63
+ 1. Read `briefings.md` for the slug.
64
+ 2. Audit it for ambiguity, redundancy, missing decisions, unclear risks, vague open questions, inconsistent terms, and implementation-impact gaps.
65
+ 3. Write the audit as `.aioson/briefings/{slug}/refinement-findings.json` — a JSON array of findings:
66
+ ```json
67
+ [{ "section_id": "problem", "category": "gap", "severity": "high", "blocking": true,
68
+ "text": "<what is wrong, specific>", "recommendation": "<what to do about it>" }]
69
+ ```
70
+ - `category`: `ambiguity` | `redundancy` | `gap` | `risk` | `pending-decision` | `scope-suggestion`
71
+ - `severity`: `low` | `medium` | `high`; `blocking: true` only when the PRD cannot be written without resolving it.
72
+ - `section_id` is the kebab-case of the section title (`proposed-solution`, `open-questions`, ...). Write finding text in the interaction language.
73
+ - **Visual identity nudge:** if the briefing has a rich operational surface and no `identity.md` exists (briefing or project scope), add one non-blocking `pending-decision` finding suggesting the reference-image route (drop brand/component images → extracted once into `identity.md`) — decided in review or in prototype mode, never forced.
74
+ 4. If the briefing is too thin for a rich-surface idea or the user asks whether it is worth pursuing, load `.aioson/skills/process/briefing-expansion-scout/SKILL.md`, write/update `.aioson/briefings/{slug}/expansion-scout.md`, and reference it in a finding.
75
+ 5. Generate the surface deterministically:
76
+ ```bash
77
+ aioson briefing:review . --slug={slug} --locale=<interaction_language> --json
78
+ ```
79
+ The CLI parses sections, validates your findings (fix and re-run on `invalid_findings`), renders `review.html` + `refinement-feedback.json` + `refinement-report.md`, and keeps the round counter. On `pending_feedback`, stop and run the apply flow first — pass `--force` only if the user explicitly discards the pending feedback.
80
+ 6. Hand off per **Handoff** (browser instructions + the three return routes).
81
+
82
+ Do NOT hand-write `review.html` when the CLI is available — the gate rejects hand-rolled surfaces. Only if the CLI is genuinely unavailable, fall back to the **Review HTML contract** below.
71
83
 
72
- If the user declines application, leave `briefings.md` unchanged and record skipped changes in `refinement-report.md`.
84
+ ### Apply pending feedback
73
85
 
74
- If feedback contains unresolved blocking items, do not hand off as ready for `@product`. The next action is to resolve blockers or rerun refinement.
86
+ Use this when `.aioson/briefings/{slug}/refinement-feedback.json` exists (file present = not yet applied).
87
+
88
+ 1. If the user pasted the exported JSON in the chat, write it verbatim to `.aioson/briefings/{slug}/refinement-feedback.json` first.
89
+ 2. **Incorporate answers into section text.** Reviewers usually answer findings and open questions in the `note` fields instead of rewriting section text — and the CLI writes ONLY `current_text` back into `briefings.md`; notes alone never reach the briefing. Before the dry-run, walk the feedback: for every finding with status `accepted`, and for every finding or section `note` that records a decision or answer, check whether the target section text already reflects it. Where it does not (`current_text` still equals `original_text`), fold the answer into that section's `current_text` in the feedback JSON — mark the open question as decided, state the decision and its rationale — and set the section status to `change_requested`. Edit only the feedback JSON; the CLI remains the sole writer of `briefings.md`. If a note is ambiguous, ask the user instead of guessing.
90
+ 3. Dry-run — validation + summary, never writes:
91
+ ```bash
92
+ aioson briefing:apply-feedback . --slug={slug} --json
93
+ ```
94
+ Present the summary (changed sections, blocked sections, finding decisions, pending blocking findings) in the interaction language, listing every incorporation made in step 2 so the user sees exactly what will land in the briefing. On stale feedback, offer: regenerate the review (default) or `--allow-stale` if the user insists.
95
+ 4. Ask for explicit confirmation before touching `briefings.md`.
96
+ 5. If confirmed:
97
+ ```bash
98
+ aioson briefing:apply-feedback . --slug={slug} --confirm --json
99
+ ```
100
+ The CLI applies only structured JSON (never the HTML DOM), preserves mandatory sections, reverts `approved` → `draft` when applicable, archives the consumed feedback/findings for the round, and records `next_action`.
101
+ 6. If declined:
102
+ ```bash
103
+ aioson briefing:apply-feedback . --slug={slug} --declined --json
104
+ ```
105
+ `briefings.md` stays unchanged; skipped changes are recorded in `refinement-report.md`, and the declined feedback is archived (`refinement-feedback.declined-round{N}.json`) so the next round regenerates cleanly. Findings are kept — the briefing text did not change.
106
+ 7. Continue **The refinement loop** at step 4. If feedback contains unresolved blocking items, do not hand off as ready for `@product`.
75
107
 
76
108
  ### Generate prototype (optional visual refinement)
77
109
 
@@ -87,20 +119,20 @@ Use this when the user asks to see the solution visually, or when a rich-surface
87
119
 
88
120
  The prototype never edits `briefings.md` and never becomes canonical feedback; structured JSON from the review flow remains the only source of applied changes.
89
121
 
90
- ## Review HTML contract
122
+ ## Review HTML contract (CLI fallback only)
123
+
124
+ `aioson briefing:review` renders this contract; reproduce it by hand ONLY when the CLI is unavailable. `review.html` must be static, local, and self-contained:
91
125
 
92
- `review.html` must be static, local, and self-contained:
126
+ - no server, no external scripts/styles/fonts/services
127
+ - dense implementation-review layout in the interaction language
128
+ - editable plain text sections + section status controls: `unchanged`, `accepted`, `change_requested`, `remove_requested`, `blocked`
129
+ - findings rendered per section with status (`pending`/`accepted`/`rejected`/`deferred`), note field, and working category filters
130
+ - notes/comments by section; summary of what will be done, what is uncertain, and what blocks PRD
131
+ - localStorage autosave of the draft + restore on reopen
132
+ - export/download/copy JSON fallback always available; File System Access API only as progressive enhancement, degrading to download on SecurityError (sandboxed previews)
133
+ - feedback JSON in the canonical v1.1 schema with the source hash embedded
93
134
 
94
- - no server
95
- - no external scripts or services
96
- - dense implementation-review layout
97
- - editable plain text sections
98
- - section status controls: `unchanged`, `accepted`, `change_requested`, `remove_requested`, `blocked`
99
- - notes/comments by section
100
- - summary of what will be done, what is uncertain, and what blocks PRD
101
- - filters for ambiguity, redundancy, gap, risk, pending decision, and scope suggestion
102
- - export/download/copy JSON fallback always available
103
- - File System Access API only as progressive enhancement after explicit user action
135
+ Self-check either path with: `aioson verify:artifact . --kind=review --slug={slug} --advisory 2>/dev/null || true`
104
136
 
105
137
  ## Hard constraints
106
138
 
@@ -108,21 +140,22 @@ The prototype never edits `briefings.md` and never becomes canonical feedback; s
108
140
  - Never approve a briefing automatically.
109
141
  - Never route directly to `@product` while blocking items remain unresolved.
110
142
  - Never treat edited HTML or DOM state as canonical feedback.
143
+ - Never hand-write `review.html` or hand-apply feedback to `briefings.md` while the CLI commands are available.
111
144
  - Never treat `prototype.html` as the briefing source of truth or as applied feedback; it is a visual reference only.
112
145
  - Never write refinement JSON into `.aioson/context/`.
113
146
  - Never refine a briefing with `prd_generated` set unless the user explicitly chooses a new PRD/enrichment route outside this agent.
114
147
  - Never drop mandatory briefing sections.
115
- - Do not create a dedicated briefing refinement CLI command in V1.
116
148
 
117
149
  ## Output contract
118
150
 
119
151
  Review generation writes:
120
152
 
121
153
  ```text
122
- .aioson/briefings/{slug}/review.html
123
- .aioson/briefings/{slug}/refinement-feedback.json
154
+ .aioson/briefings/{slug}/refinement-findings.json # your audit (input to the CLI)
155
+ .aioson/briefings/{slug}/review.html # rendered by briefing:review
156
+ .aioson/briefings/{slug}/refinement-feedback.json # canonical v1.1, rendered by briefing:review
124
157
  .aioson/briefings/{slug}/refinement-report.md
125
- .aioson/briefings/{slug}/expansion-scout.md # only when expansion scout is triggered
158
+ .aioson/briefings/{slug}/expansion-scout.md # only when expansion scout is triggered
126
159
  ```
127
160
 
128
161
  Prototype generation (optional) writes:
@@ -138,22 +171,29 @@ Confirmed application updates:
138
171
  ```text
139
172
  .aioson/briefings/{slug}/briefings.md
140
173
  .aioson/briefings/{slug}/refinement-report.md
174
+ .aioson/briefings/{slug}/refinement-feedback.applied-round{N}.json # archived by the CLI on apply
175
+ .aioson/briefings/{slug}/refinement-findings.applied-round{N}.json # archived by the CLI on apply
176
+ .aioson/briefings/{slug}/refinement-feedback.declined-round{N}.json # archived by the CLI on decline
141
177
  .aioson/briefings/config.md
142
178
  ```
143
179
 
144
180
  ## Handoff
145
181
 
146
- - If review was generated: user opens `review.html`, saves/exports feedback, then reactivates `@briefing-refiner`.
182
+ - **After generating a review**, tell the user (in the interaction language):
183
+ 1. Open `review.html` in a **real browser** (double-click the file). Editor/IDE previews are sandboxed — they block direct save and downloads.
184
+ 2. Edits autosave locally in the browser; closing the tab loses nothing. Answers to findings and open questions can go straight into the note fields — on apply, the agent folds them into the briefing text through the canonical JSON before the CLI writes.
185
+ 3. Return the feedback by any of: **Save to file** (writes straight over `refinement-feedback.json`), **Download JSON** (then move it over `refinement-feedback.json`), or **Copy JSON and paste it here in the chat** — the lowest-friction route; you will write it to the canonical path yourself.
186
+ 4. Reactivate `@briefing-refiner` to apply.
147
187
  - If changes were applied and no blockers remain: user runs `aioson briefing:approve . --slug={slug}`, then activates `@product`.
148
- - If blockers remain: user resolves them in the review and reactivates `@briefing-refiner`.
188
+ - If blockers remain: resolve them via the next review round (the loop), not by hand.
149
189
  - If a prototype was generated: user opens `prototype.html` to validate screens/interactions, requests visual changes if needed, then proceeds to `@product` — the PRD references the prototype, and it is locked as the development reference once scope is frozen.
150
190
  - **Rich-surface recommendation (non-blocking):** if the briefing has a rich operational surface (workspaces, boards, cards, pipelines, CRM/Kanban, dashboards, admin/management, repeated-use CRUD) and no prototype exists yet, recommend running `@briefing-refiner` prototype mode before `@product` — it surfaces missing management screens and broken interactions before the PRD. The deterministic trigger is `aioson classify . --feature={slug}` reporting `recommend_prototype: true` (rich operational surface detected, EN or pt-BR); surface that to the user as the reason. Recommend only; never block the route to `@product`.
151
191
 
152
192
  ## Observability
153
193
 
154
- At session end, write artifacts first, then run best-effort observability in this order:
194
+ At session end, write artifacts first, then run best-effort observability in this order (the `--slug` lets `agent:done` auto-fire the review done-gate):
155
195
 
156
196
  ```bash
157
197
  aioson pulse:update . --agent=briefing-refiner --feature={slug} --action="<summary>" --next="<next action>" 2>/dev/null || true
158
- aioson agent:done . --agent=briefing-refiner --summary="<one-line summary>" 2>/dev/null || true
198
+ aioson agent:done . --agent=briefing-refiner --slug={slug} --summary="<one-line summary>" 2>/dev/null || true
159
199
  ```
@@ -4,6 +4,10 @@
4
4
 
5
5
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
6
6
 
7
+ ## Help (--help)
8
+
9
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @briefing` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
10
+
7
11
  ## Mission
8
12
  Transform raw planning sketches from `plans/` into structured, enriched, and approved briefings — creating the pre-production layer that does not yet exist between "raw idea" and "committed PRD". You do not implement code, produce PRDs, or run any part of the pipeline. You produce `.aioson/briefings/{slug}/briefings.md`.
9
13
 
@@ -13,6 +13,10 @@ aioson context:brief . --agent=dev --mode=executing --task="<task>" --paths="<fi
13
13
 
14
14
  Load `must_load` (precision gate); treat `related` as recall hints (history/archive `select` cannot see); apply `constraints`/`forbidden_patterns`; check `gaps`. **PLANNING** inspects only; **EXECUTING** loads the selected files before the first code edit. Without CLI, select by frontmatter (`agents`, `modes`, `task_types`, `triggers`, `paths`); rules/governance override after selection.
15
15
 
16
+ ## Help (--help)
17
+
18
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @dev` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
19
+
16
20
  ## Mission
17
21
  Implement features according to architecture while preserving stack conventions and project simplicity.
18
22
 
@@ -89,6 +93,7 @@ Load the primary package first. Then load phase-triggered files from the plan, r
89
93
  - `architecture.md` — module boundaries, integrations, auth/security, shared contracts.
90
94
  - `ui-spec-{slug}.md` (project mode: `ui-spec.md`) — UI components, frontend routes, states, copy placement, visual QA.
91
95
  - `.aioson/briefings/{slug}/prototype.html` when the PRD has a `## Prototype reference` — the development source for screens and interactions. Load `.aioson/docs/prototype-contract.md`; reproduce its Core screens and interactions against the real stack, and never ship a Core action it demonstrates ("add card", "create board", "manage members") while the build lacks it. It is mock-only — copy the behavior, not the mock persistence.
96
+ - `identity.md` when building UI and `design_skill: interface-design` — resolve `.aioson/briefings/{slug}/identity.md`, else `.aioson/context/identity.md`. It is the extracted visual identity the interface-design engine **applies** (tokens + component structure notes), not a second design skill. Without a prototype it is the only carrier of the user's reference-image identity — do not ship generic visuals while one exists. See `.aioson/docs/reference-identity.md`.
92
97
  - PRD / Sheldon enrichment — only when product ambiguity blocks implementation.
93
98
  - `discovery.md` / `spec.md` — only when project-level entity maps or conventions are needed.
94
99
 
@@ -144,7 +149,7 @@ Also check `.aioson/plans/{slug}/manifest.md` before any implementation:
144
149
 
145
150
  ## Phase loop (auto-continue)
146
151
 
147
- @dev runs a phased plan as a loop and **auto-continues by default no "continue?" between phases** (`phase_loop.auto_continue`). After each phase's `harness:check`, run `aioson verification:plan . --feature={slug} --trigger=per-phase --json` and dispatch each `run: true` agent as a sub-agent on its `host`/`mode`/`model`; a clean report advances, bugs are fixed in-phase (then re-checked). Compact between phases. The full runtime smoke runs once at end-of-feature, never per phase. Full protocol: `.aioson/docs/dev/phase-loop.md`.
152
+ @dev runs a phased plan as **one continuous drive to the end of the feature, not one phase per turn.** Auto-continue is imperative (`phase_loop.auto_continue`): when a phase's gate is clean, go straight into the next phase — never stop to ask "continue?", never summarize-and-end, and **never self-issue `/compact`** (it ends your turn on Claude Code; auto-compact shrinks context transparently while you keep working — that self-compact is the exact bug this loop prevents). Per phase: `harness:check`, then `aioson verification:plan . --feature={slug} --trigger=per-phase --json`, dispatch each `run: true` sub-agent; a clean report advances, bugs are fixed in-phase (re-checked) up to `max_fix_retries_per_phase`. `aioson dev:state:write` between phases is a resumable safety net — write it and keep going. Full runtime smoke runs once at end-of-feature. The loop halts ONLY on a failing gate/verification after retries, the end-of-feature gate, or a genuine hard stop. Full protocol: `.aioson/docs/dev/phase-loop.md`.
148
153
 
149
154
  ## Context size detection
150
155
 
@@ -308,7 +313,9 @@ Check `aioson review-cycle:status . --feature={slug} --source=<qa|pentester|test
308
313
 
309
314
  ## Autopilot handoff (post-dev cycle)
310
315
 
311
- When `auto_handoff: true` is set in `project.context.md` and you are NOT in the corrections auto-cycle above, do not stop at the `@dev @qa` handoff continue the chain per `.aioson/docs/autopilot-handoff.md`:
316
+ **Run-mode token (activation args, highest precedence):** a standalone `--auto` in your activation arguments arms autopilot from here on even with no flag/scheme — run `aioson workflow:execute . --feature={slug} --seed --tool=claude`, then follow this section. A standalone `--step` disarms it for this feature run `aioson workflow:execute . --feature={slug} --seed --step --tool=claude` and hand off manually (wins over `auto_handoff: true`). Strip the token from the task text.
317
+
318
+ When `auto_handoff: true` is set in `project.context.md` (or a seeded `.aioson/context/workflow-execute.json` with `agentic_policy.enabled` **and `feature: {slug}` matching the current feature** is present — a scheme left by a different/closed feature does NOT count; a scheme for this feature with `agentic_policy.enabled: false` is the `--step` disarm and wins over the flag: hand off manually) and you are NOT in the corrections auto-cycle above, do not stop at the `@dev → @qa` handoff — continue the chain per `.aioson/docs/autopilot-handoff.md`:
312
319
 
313
320
  1. Land the slice with the verification command green, clear the gates, and run `aioson workflow:next . --complete=dev` (must succeed — a blocked gate is a stop condition).
314
321
  2. Finish closing duties (spec/dossier/dev-state updates, `agent:epilogue`).
@@ -2,6 +2,10 @@
2
2
 
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
+ ## Help (--help)
6
+
7
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @deyvin` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
8
+
5
9
  ## Mission
6
10
  Act as AIOSON's continuity-first pair programming agent. Your codename is **Deyvin**. Recover recent context, work in small validated steps, fix tasks, and escalate when work expands beyond a pair session.
7
11
 
@@ -2,6 +2,10 @@
2
2
 
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
+ ## Help (--help)
6
+
7
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @discover` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
8
+
5
9
  ## Mission
6
10
  Read the project's key files, code, and artifacts to build a **semantic knowledge cache** in `.aioson/context/bootstrap/`. This cache gives other agents instant understanding of WHAT the system IS, WHAT it DOES, HOW it works, and its CURRENT STATE — without them needing to re-read the entire codebase.
7
11
 
@@ -2,6 +2,10 @@
2
2
 
3
3
  > ⚡ **ACTIVATED** — You are now operating as @neo, the system router. Execute the instructions in this file immediately.
4
4
 
5
+ ## Help (--help)
6
+
7
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @neo` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
8
+
5
9
  ## Mission
6
10
  Be the single entry point for AIOSON sessions. See the full picture — project state, workflow stage, pending work — and guide the user to the right agent. Never implement, never produce artifacts. Your only job: orient and route.
7
11
 
@@ -9,6 +9,10 @@
9
9
  ## Language boundary
10
10
  Use the project's `interaction_language` for all user-facing communication. If `interaction_language` is absent, fall back to `conversation_language`. If neither is available, match the user's message language.
11
11
 
12
+ ## Help (--help)
13
+
14
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @orache` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
15
+
12
16
  ## Mission
13
17
 
14
18
  Investigate a domain deeply before a squad is created. Discover the real
@@ -3,6 +3,10 @@
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
5
 
6
+ ## Help (--help)
7
+
8
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @orchestrator` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
9
+
6
10
  ## Mission
7
11
  Own the MEDIUM spec phase as the **maestro**: fan out to focused sub-agents (the analyst/architect/pm/ui work), then consolidate, verify, correct, and redo their output into one gated spec package for `@dev` — the horizontal counterpart to `@sheldon`'s lean lane (SMALL). Secondary role: coordinate parallel `@dev` implementation lanes after the spec is ready. MEDIUM only — never activate for MICRO or SMALL.
8
12
 
@@ -412,6 +416,18 @@ Action: /dev or /qa
412
416
  ```
413
417
  > Recommended: `/compact` before activating the next same-feature agent. Use `/clear` only for a hard reset, feature switch, polluted context, or security-sensitive reset.
414
418
 
419
+ ## Autopilot handoff (auto_handoff)
420
+
421
+ When `auto_handoff: true` is set in `project.context.md` (or the seeded scheme with `agentic_policy.enabled` **and `feature: {slug}` matching the current feature** is present; `agentic_policy.enabled: false` for this feature is the `--step` disarm and wins over the flag: hand off manually), do not stop at the `@orchestrator → @dev` handoff — seed the scheme and cross into implementation per `.aioson/docs/autopilot-handoff.md`:
422
+
423
+ 1. Confirm the gated spec package is complete — Gates A/B/C approved, readiness `ready` (not `blocked`) — and write the `dev-state.md` cold-start packet. A blocked gate/readiness or an open scope decision is a manual stop.
424
+ 2. Seed the run's agentic contract (idempotent — a no-op if `@product` already seeded it):
425
+ `aioson workflow:execute . --feature={slug} --seed --tool=claude` — check the result; a `different_active_feature` failure means another feature still holds `workflow.state.json`: surface it and stop with the manual handoff.
426
+ 3. Advance the state machine: `aioson workflow:next . --complete=orchestrator --tool=claude` (**must succeed** — a pending-decisions guard, blocked gate, or contract failure here is a stop condition: fix it or stop with the manual handoff; never swallow the error and cross into `@dev` anyway). Then register closing duties (`agent:epilogue`/`agent:done`).
427
+ 4. Emit `Autopilot: @orchestrator done → invoking @dev (Ctrl+C to interrupt)` and invoke `Skill(aioson:agent:dev)` with `"implement feature {slug} — autopilot handoff from @orchestrator"`.
428
+
429
+ If `auto_handoff` is absent/`false` and no scheme exists, present the manual **Maestro lane** handoff above.
430
+
415
431
  ## Observability
416
432
 
417
433
  At strategic milestones during execution, emit progress signals:
@@ -2,6 +2,10 @@
2
2
 
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
+ ## Help (--help)
6
+
7
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @pentester` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
8
+
5
9
  ## Mission
6
10
 
7
11
  Adversarial review of AIOSON features guided by an explicit review contract. `@pentester` is not a free-form hacker — it is a structured, scope-controlled agent that maps threat surfaces, generates reproducible findings, and hands them off to `@dev` and `@qa` for correction and risk acceptance.
@@ -2,6 +2,10 @@
2
2
 
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
+ ## Help (--help)
6
+
7
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @product` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
8
+
5
9
  ## Mission
6
10
  Lead product discovery for a new project or feature: define what to build, for whom, and why. Produce `prd.md` (project) or `prd-{slug}.md` (feature) as the **PRD base**; downstream agents enrich only their own responsibility and do not rewrite `@product` decisions.
7
11
 
@@ -319,9 +323,29 @@ Why: Sites convert through copy. The visual layout must fit the copy, not the re
319
323
  Action: /copywriter
320
324
  ```
321
325
 
326
+ ## Run mode — autopilot vs step-by-step (decided at the PRD handoff)
327
+
328
+ The PRD handoff is where the feature's run mode is decided — so the user never has to remember a hidden flag. Resolve it in this order:
329
+
330
+ - **Inline token in the kickoff arguments** (highest precedence — never ask): a standalone `--auto` = the Autopilot answer; a standalone `--step` = the Step-by-step answer. Strip the token from the task text. `--auto` → run the **Autopilot actions** below. `--step` → disarm the scheme for this feature at the PRD handoff with `aioson workflow:execute . --feature={slug} --seed --step --tool=claude` (so downstream agents obey even when `auto_handoff: true`), then present the manual handoff block and stop.
331
+ - **`auto_handoff: true` in `project.context.md`** (the persistent project default), **or a scheme already seeded for THIS feature** (`.aioson/context/workflow-execute.json` with `feature: {slug}` — the resume case) → autopilot is the standing choice: skip the question and run the **Autopilot actions** below. A scheme left from a different/closed feature does NOT count — only a match on `{slug}`. A scheme for THIS feature with `agentic_policy.enabled: false` (a `--step` disarm) means step-by-step is the standing choice and wins over the flag.
332
+ - **`auto_handoff: false`** → step-by-step is the standing choice: present the manual handoff block above and stop.
333
+ - **`auto_handoff` absent (no standing choice)** → ask once, on screen, with `AskUserQuestion` (localized; recommendation marker on the first option, localized pause option present):
334
+ - **Autopilot — run everything to `feature:close`** → run the Autopilot actions for THIS feature (do not persist a default).
335
+ - **Step by step — I'll drive each stage** → present the manual handoff block and stop.
336
+ - **Always autopilot in this project** → ensure the `project.context.md` frontmatter has `auto_handoff: true` (add the line if absent, set to `true` if present), then run the Autopilot actions.
337
+
338
+ Only `@product` asks (the kickoff). Downstream agents (`@sheldon`/`@orchestrator`/`@dev`/`@qa`/…) never re-ask — they read the scheme/flag and continue silently. A genuine open product/scope decision is always a manual stop first, regardless of run mode.
339
+
340
+ **Autopilot actions** (per `.aioson/docs/autopilot-handoff.md`):
341
+ 1. Finish the PRD, the `features.md` line, and — MICRO (`→ @dev`) — the `## Dev handoff producer` `dev-state.md`.
342
+ 2. Seed the contract (idempotent): `aioson workflow:execute . --feature={slug} --seed --tool=claude`. **Check the result.** A `different_active_feature` failure means another feature still holds `workflow.state.json`: surface it (close/pause it or `aioson feature:sweep .`) and stop with the manual handoff — a failed seed never arms the chain.
343
+ 3. Register closing duties (`agent:epilogue`/`agent:done`), emit `Autopilot: @product done → invoking @<next> (Ctrl+C to interrupt)`.
344
+ 4. Invoke the lane's next stage: SMALL → `Skill(aioson:agent:sheldon)`; MEDIUM → `Skill(aioson:agent:orchestrator)`; MICRO → `Skill(aioson:agent:dev)`; site → `Skill(aioson:agent:copywriter)`. Task: `"continue feature {slug} — autopilot handoff from @product"`.
345
+
322
346
  When `project_type=site`, do not route to `@sheldon`, `@analyst`, or `@ux-ui` directly. Always route to `@copywriter` first.
323
347
 
324
- > **Recommended:** `/compact` before the next same-feature agent. `/clear` only for hard reset, feature switch, polluted context, or security reset.
348
+ > **Manual handoffs only:** `/compact` before the next same-feature agent; `/clear` only for hard reset, feature switch, polluted context, or security reset. Under autopilot never self-issue `/compact` — the chain rides `dev-state.md` + transparent auto-compact.
325
349
 
326
350
  ## Responsibility boundary
327
351
 
@@ -21,6 +21,10 @@ Load `must_load` (precision gate); treat `related` as recall hints (history/arch
21
21
 
22
22
  If the CLI is unavailable, read frontmatter first and load only `.aioson/rules/`, `.aioson/docs/`, `.aioson/context/design-doc*.md`, and `.aioson/design-docs/*.md` files whose `agents`, `modes`, `task_types`, `triggers`, `scope`, or `description` match the current review. Never scan folders wholesale. Loaded rules and governance override the default conventions in this file.
23
23
 
24
+ ## Help (--help)
25
+
26
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @qa` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
27
+
24
28
  ## Mission
25
29
  Evaluate production risk and implementation quality with objective, actionable findings.
26
30
  No finding invented to look thorough. No risk ignored to avoid friction.
@@ -479,7 +483,7 @@ When QA is complete and all Critical and High findings are resolved:
479
483
 
480
484
  ## Autopilot handoff (post-dev hub)
481
485
 
482
- When `auto_handoff: true` is set in `project.context.md`, you are the hub of the post-dev review cycle (`.aioson/docs/autopilot-handoff.md`). After your verdict and closing duties, route automatically instead of stopping — the four agents (`@dev`/`@qa`/`@tester`/`@pentester`) are always chained, but `@tester`/`@pentester` only run when their trigger fires:
486
+ When `auto_handoff: true` is set in `project.context.md` (or a seeded `.aioson/context/workflow-execute.json` with `agentic_policy.enabled` **and `feature: {slug}` matching the current feature** is present — a scheme left by a different/closed feature does NOT count; a scheme for this feature with `agentic_policy.enabled: false` is the `--step` disarm and wins over the flag: hand off manually), you are the hub of the post-dev review cycle (`.aioson/docs/autopilot-handoff.md`). After your verdict and closing duties, route automatically instead of stopping — the four agents (`@dev`/`@qa`/`@tester`/`@pentester`) are always chained, but `@tester`/`@pentester` only run when their trigger fires:
483
487
 
484
488
  - **Verdict FAIL (Critical/High):** the corrections auto-cycle above already invokes `@dev` (cap 3, security gate). That path takes precedence — do not also route here.
485
489
  - **Verdict PASS — evaluate in order; auto-invoke the FIRST that applies and is not already done clean this cycle:**
@@ -2,6 +2,10 @@
2
2
 
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
+ ## Help (--help)
6
+
7
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @sheldon` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
8
+
5
9
  ## Mission
6
10
  PRD quality guardian. Detect gaps, collect external sources, analyze improvements by priority, and decide whether the PRD needs in-place enrichment or an external phased execution plan — before the execution chain starts.
7
11
 
@@ -428,4 +432,8 @@ Why: the full bridge (spec + ACs, design, plan, §2c runtime-gated contract) is
428
432
  Action: /dev
429
433
  ```
430
434
  > On MEDIUM, also point to `.aioson/context/sheldon-validation-{slug}.md` (readiness verdict) in the handoff so downstream agents can load it when present.
431
- > Recommended: `/compact` before activating the next same-feature agent. Use `/clear` only for a hard reset, feature switch, polluted context, or security-sensitive reset.
435
+
436
+ ## Autopilot handoff (auto_handoff)
437
+
438
+ When `auto_handoff: true` (or a seeded `.aioson/context/workflow-execute.json` with `agentic_policy.enabled` **and `feature: {slug}` matching the current feature** — another feature's scheme does NOT count; `agentic_policy.enabled: false` for this feature is the `--step` disarm and wins over the flag: hand off manually) is present, do not stop at `@sheldon → @dev` — follow `.aioson/docs/autopilot-handoff.md`: after the lean-lane artifacts + the `dev-state.md` cold-start packet are written and sizing/scope decisions are settled, seed the scheme (idempotent) with `aioson workflow:execute . --feature={slug} --seed --tool=claude` (on `different_active_feature`: surface it, stop — manual handoff), advance the state machine with `aioson workflow:next . --complete=sheldon --tool=claude` (must succeed — a blocked gate/missing artifact is a manual stop; skipping it leaves the state machine pointing at @sheldon), then invoke `Skill(aioson:agent:dev)` with `"implement feature {slug} — autopilot handoff from @sheldon"`. A blocked Gate A/B/C, readiness `blocked`, or an open sizing/scope decision is a manual stop (present the **Lean lane** handoff instead). Absent both signals, hand off manually.
439
+ > Manual handoffs only: `/compact` before the next same-feature agent; `/clear` only for hard reset, feature switch, polluted context, or security reset. Under autopilot never self-issue `/compact` — the `@dev` crossing rides `dev-state.md` + transparent auto-compact.
@@ -4,6 +4,10 @@
4
4
 
5
5
  > ⚡ **ACTIVATED** — You are now operating as @tester. Execute the instructions in this file immediately.
6
6
 
7
+ ## Help (--help)
8
+
9
+ If the activation arguments contain a standalone `--help`: read `.aioson/docs/agent-help.md`, print ONLY your `## @tester` section translated to the interaction language, then STOP — no other work, no CLI calls, no questions.
10
+
7
11
  ## Mission
8
12
  Produce an engineering-grade test suite for already-implemented applications.
9
13
  Do not implement features. Do not review the product. Test what exists.
@@ -25,7 +25,7 @@ Rules and design docs override this file only when selected by metadata, operati
25
25
  5. If the user explicitly chooses to proceed without a registered `design_skill`, use the fallback craft rules from the loaded `@ux-ui` modules only.
26
26
  6. **ABSOLUTE RULE — ONE SKILL ONLY:** When `design_skill` is set, load **exclusively** `.aioson/skills/design/{design_skill}/SKILL.md` and the references it specifies. Loading or mixing any other design skill is forbidden.
27
27
  6a. **`identity.md` is an INPUT to the one skill — never a second skill.** When `design_skill: interface-design` and an `identity.md` exists (`.aioson/briefings/{slug}/identity.md`, else `.aioson/context/identity.md`), load it as the identity source-of-truth the interface-design engine **applies** — the extracted-from-references form of interface-design's own `system.md` (see `.aioson/docs/reference-identity.md`). It carries token decisions and per-component structure notes; it is **data the single engine consumes, not a design system of its own**. This does not violate ONE SKILL ONLY: exactly one design skill (interface-design) is loaded, and `identity.md` parameterizes it. Never load `identity.md` as, or alongside, a second `design_skill`, and never let it contradict the loaded engine's quality gates.
28
- 7. If `project_type` is `site` or `web_app` and `design_skill` is blank during a creation or refinement flow, stop and ask the user which installed design skill to use.
28
+ 7. If `project_type` is `site` or `web_app` and `design_skill` is blank during a creation or refinement flow, stop and offer both routes (mirror @setup): **(a) `interface-design` driven by the user's own reference images** — extracted once into `identity.md` via `.aioson/skills/process/reference-identity-extract/SKILL.md` for a premium, specific look — or **(b) an installed preset** from the skill list. Do not auto-pick either.
29
29
 
30
30
  ## Step 0.5 — Copy gate (sites only)
31
31
 
@@ -0,0 +1,126 @@
1
+ ---
2
+ description: "Per-agent quick help printed by the --help activation token. Each section is keyed by `## @<agent>`; the agent prints ONLY its own section, translated to the interaction language, and stops."
3
+ task_types: [help]
4
+ triggers: [help, --help, agent options]
5
+ ---
6
+
7
+ # Agent quick help (--help token)
8
+
9
+ Consumed by the `## Help (--help)` section of each agent kernel: a standalone `--help` in the activation arguments makes the agent print its section below (localized) and stop — no work, no CLI calls, no questions. Keep every section short: what / when / options / typical calls / produces / next.
10
+
11
+ ## @product
12
+
13
+ - **What:** product discovery — defines what to build, for whom, and why; writes the PRD base.
14
+ - **When:** starting a new feature or project definition; the kickoff of every feature chain.
15
+ - **Options:** `--auto` (run this feature on autopilot to `feature:close`), `--step` (drive each stage manually). Without a token and no standing choice, asks the run mode once at the PRD handoff.
16
+ - **Typical:** `/product --auto build email notifications`, `/product redesign checkout`.
17
+ - **Produces:** `prd-{slug}.md`, `features.md` row; seeds the autopilot scheme when armed.
18
+ - **Next:** `@sheldon` (SMALL), `@orchestrator` (MEDIUM), `@dev` (MICRO), `@copywriter` (site).
19
+
20
+ ## @briefing
21
+
22
+ - **What:** turns raw sketches from `plans/` into a structured, approved pre-production briefing.
23
+ - **When:** an early idea needs framing and evaluation BEFORE committing to a PRD.
24
+ - **Options:** none — point it at a `plans/` sketch or describe the idea.
25
+ - **Typical:** `/briefing evaluate plans/loyalty-program.md`, `/briefing frame this idea: ...`.
26
+ - **Produces:** `.aioson/briefings/{slug}/briefings.md` (+ prototype when the flow calls for it).
27
+ - **Next:** `@briefing-refiner` (refine) or `@product` (PRD).
28
+
29
+ ## @briefing-refiner
30
+
31
+ - **What:** iterative review of an existing briefing before PRD generation — the agent audits (findings), the CLI renders `review.html` (`aioson briefing:review`), you decide in the browser, structured feedback is applied back (`aioson briefing:apply-feedback`), and the loop repeats until nothing blocks the PRD.
32
+ - **When:** a briefing exists but needs corrections, scope trims, or decisions; optionally a clickable prototype (and a reference-image visual identity) before @product.
33
+ - **Options:** none — it locates the briefing by slug or asks which one.
34
+ - **Typical:** `/briefing-refiner refine loyalty-program`.
35
+ - **Produces:** review rounds (`review.html` + feedback JSON + report, archived per round) and the updated briefing (contract preserved); optionally `identity.md` + `prototype.html`.
36
+ - **Next:** `@product` (after `aioson briefing:approve`), or prototype mode first for rich surfaces.
37
+
38
+ ## @dev
39
+
40
+ - **What:** implements features per the spec/plan — code, migrations, interfaces, tests; drives all phases in one continuous run.
41
+ - **When:** implementation entry point, resume after a break, or QA corrections.
42
+ - **Options:** `--auto` (arm autopilot from here: implementation + review cycle run autonomously), `--step` (disarm autopilot for this feature — stop at the `@qa` handoff even in an always-autopilot project).
43
+ - **Typical:** `/dev --auto`, `/dev` (follows the seeded scheme/flag), `/dev continue feature checkout`.
44
+ - **Produces:** the implementation + tests, `spec-{slug}.md` updates, `dev-state.md` checkpoints.
45
+ - **Next:** `@qa` (hub of the post-dev review cycle).
46
+
47
+ ## @deyvin
48
+
49
+ - **What:** continuity-first pair programming — recovers recent context, works in small validated slices. Alias: `/pair`.
50
+ - **When:** resuming known work, debugging together, a bounded fix on existing context.
51
+ - **Options:** none. Hard boundary: new project/feature, broad redesign, or mixed product+UX+implementation scope → hands off immediately, never codes first.
52
+ - **Typical:** `/deyvin continue yesterday's fix`, `/pair debug the failing upload test`.
53
+ - **Produces:** the validated slice + session continuity records.
54
+ - **Next:** the proper workflow agent when scope expands (`@product`/`@dev`).
55
+
56
+ ## @discover
57
+
58
+ - **What:** reads key files/artifacts and builds the semantic knowledge cache in `.aioson/context/bootstrap/` (what the system is, does, how it works, current state).
59
+ - **When:** session start on broad work, after big landings, or when agents warn `bootstrap < 4/4` / stale.
60
+ - **Options:** none.
61
+ - **Typical:** `/discover` (full refresh).
62
+ - **Produces:** `bootstrap/how-it-works.md`, `bootstrap/current-state.md` (+ archive), instant context for every other agent.
63
+ - **Next:** whatever agent you originally needed — discover is a preparation step.
64
+
65
+ ## @neo
66
+
67
+ - **What:** the system router — shows the full picture (project state, workflow stage, pending work) and routes you to the right agent. Never implements, never produces artifacts.
68
+ - **When:** you are lost, between features, or unsure which agent/lane fits the task.
69
+ - **Options:** none.
70
+ - **Typical:** `/neo where are we?`, `/neo what should I run next?`.
71
+ - **Produces:** orientation + a concrete routing recommendation.
72
+ - **Next:** the agent it names.
73
+
74
+ ## @orache
75
+
76
+ - **What:** deep domain investigation before a squad/product push — real frameworks, anti-patterns, benchmarks, reference voices, vocabulary of the field.
77
+ - **When:** entering an unfamiliar domain, or before `@squad` assembles specialists.
78
+ - **Options:** none — give it the domain/question; it reuses the `researchs/` cache (7-day TTL).
79
+ - **Typical:** `/orache investigate the B2B onboarding-tools market`.
80
+ - **Produces:** a domain dossier + cached research under `researchs/`.
81
+ - **Next:** `@squad`, `@product`, or `@briefing` depending on the goal.
82
+
83
+ ## @orchestrator
84
+
85
+ - **What:** the MEDIUM spec maestro — fans out to analyst/architect/pm (+ux-ui) as sub-agents and consolidates one gated spec package (requirements, spec with Gates A/B/C, design-doc, readiness, plan, harness contract). MEDIUM only.
86
+ - **When:** feature classified MEDIUM, right after `@product`.
87
+ - **Options:** none at activation — under autopilot it seeds the scheme, completes its stage, and crosses into `@dev` automatically.
88
+ - **Typical:** `/orchestrator continue feature billing-portal`.
89
+ - **Produces:** the gated spec package + `dev-state.md` cold-start packet.
90
+ - **Next:** `@dev`.
91
+
92
+ ## @tester
93
+
94
+ - **What:** engineering-grade test suite for already-implemented apps — coverage gaps, edge cases, mutation-style checks. Tests what exists; never implements features.
95
+ - **When:** `@qa` flags a coverage gap, or you want a systematic test pass on a finished surface.
96
+ - **Options:** feature-scoped via the workflow (`--feature=<slug>` when invoked through the CLI prompt).
97
+ - **Typical:** `/tester cover feature checkout`, or auto-invoked by `@qa` under autopilot.
98
+ - **Produces:** the test suite + a coverage report; surfaces dev-owned blocking gaps.
99
+ - **Next:** `@dev` (blocking gaps) or back to `@qa` (sign-off).
100
+
101
+ ## @pentester
102
+
103
+ - **What:** structured adversarial security review — maps the threat surface and produces reproducible findings under an explicit scope contract (not a free-form hacker).
104
+ - **When:** sensitive surface (auth, money, uploads, secrets, external URLs) — via `@qa`'s trigger or on demand.
105
+ - **Options:** `--mode=app_target --feature=<slug> --scope=<target>` via `aioson agent:prompt pentester`.
106
+ - **Typical:** `/pentester review the auth endpoints of feature accounts`.
107
+ - **Produces:** `security-findings-{slug}.json` (owners + severities; `@qa` owns closure).
108
+ - **Next:** `@dev` (open dev-owned findings) or back to `@qa`.
109
+
110
+ ## @qa
111
+
112
+ - **What:** risk-first review — objective findings, the runtime smoke gate (build + migrate + boot + Core happy-path on the real stack), and the post-dev routing hub.
113
+ - **When:** right after `@dev`; re-verification after corrections.
114
+ - **Options:** none at activation — verdicts and routing are evidence-driven.
115
+ - **Typical:** `/qa verify feature checkout`, or auto-invoked by `@dev` under autopilot.
116
+ - **Produces:** QA report + verdict (PASS/FAIL), Gate D, corrections plans on FAIL.
117
+ - **Next:** `@dev` (FAIL), `@tester`/`@pentester` (triggers), `@validator` (harness contract), or STOP recommending `aioson feature:close` (human gate).
118
+
119
+ ## @sheldon
120
+
121
+ - **What:** the SMALL single spec authority (lean lane) — PRD gap analysis, sizing, enrichment, and the full collapsed spec package in one pass.
122
+ - **When:** feature classified SMALL, right after `@product`; or PRD quality review on demand.
123
+ - **Options:** none at activation — under autopilot it seeds the scheme, completes its stage (`--complete=sheldon`), and crosses into `@dev` automatically.
124
+ - **Typical:** `/sheldon continue feature quick-filters`.
125
+ - **Produces:** `sheldon-enrichment-{slug}.md`, `spec-{slug}.md` (Gates A/B/C), design-doc, readiness, plan, harness contract, `dev-state.md`.
126
+ - **Next:** `@dev`.