@fernado03/zoo-flow 0.5.2 → 0.7.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.
- package/README.md +105 -90
- package/bin/zoo-flow.js +405 -56
- package/docs/architecture.md +380 -0
- package/docs/bloat-control.md +49 -0
- package/docs/command-design.md +38 -0
- package/docs/command-flow.md +133 -0
- package/docs/comparison.md +86 -0
- package/docs/context-packs.md +35 -0
- package/docs/dogfood/01-small-library.md +28 -0
- package/docs/dogfood/02-web-app.md +29 -0
- package/docs/dogfood/03-mixed-monorepo.md +29 -0
- package/docs/mode-rules.md +86 -0
- package/docs/npm-publishing.md +79 -0
- package/docs/out-of-scope/mainstream-issue-trackers-only.md +25 -0
- package/docs/out-of-scope/question-limits.md +18 -0
- package/docs/out-of-scope/setup-skill-verify-mode.md +15 -0
- package/docs/overview.md +61 -0
- package/docs/philosophy.md +73 -0
- package/docs/quality-scorecard.md +23 -0
- package/docs/skill-maintenance.md +32 -0
- package/docs/skills-index.md +61 -0
- package/docs/team-mode.md +46 -0
- package/docs/token-budget.md +22 -0
- package/docs/troubleshooting.md +288 -0
- package/examples/demo-transcripts/01-small-tweak.md +37 -0
- package/examples/demo-transcripts/02-unknown-bug-fix.md +37 -0
- package/examples/demo-transcripts/03-new-feature.md +37 -0
- package/examples/demo-transcripts/04-refactor.md +37 -0
- package/examples/demo-transcripts/05-review-and-verify.md +37 -0
- package/examples/feature-flow.md +117 -0
- package/examples/fix-flow.md +139 -0
- package/package.json +16 -5
- package/quality/scorecard.json +88 -0
- package/quality/token-budget.exceptions.json +13 -0
- package/scripts/bundle.ps1 +135 -0
- package/scripts/check-golden-transcripts.js +69 -0
- package/scripts/check-package-links.js +72 -0
- package/scripts/check-package-manifest.js +70 -0
- package/scripts/eval-routing.js +149 -0
- package/scripts/score-quality.js +292 -0
- package/scripts/test-doctor.js +107 -0
- package/scripts/test-project-shapes.js +99 -0
- package/scripts/token-budget.js +105 -0
- package/templates/full/.roo/commands/caveman.md +1 -1
- package/templates/full/.roo/commands/diagnose.md +2 -1
- package/templates/full/.roo/commands/explore.md +13 -13
- package/templates/full/.roo/commands/feature.md +1 -1
- package/templates/full/.roo/commands/fix.md +1 -1
- package/templates/full/.roo/commands/grill-me.md +2 -1
- package/templates/full/.roo/commands/grill-with-docs.md +2 -1
- package/templates/full/.roo/commands/handoff.md +2 -1
- package/templates/full/.roo/commands/improve-codebase-architecture.md +2 -1
- package/templates/full/.roo/commands/prototype.md +1 -1
- package/templates/full/.roo/commands/refactor.md +1 -1
- package/templates/full/.roo/commands/review.md +11 -0
- package/templates/full/.roo/commands/scaffold-context.md +13 -13
- package/templates/full/.roo/commands/setup-matt-pocock-skills.md +8 -8
- package/templates/full/.roo/commands/tdd.md +1 -1
- package/templates/full/.roo/commands/to-issues.md +2 -1
- package/templates/full/.roo/commands/to-prd.md +2 -1
- package/templates/full/.roo/commands/triage.md +1 -1
- package/templates/full/.roo/commands/tweak.md +1 -1
- package/templates/full/.roo/commands/update-docs.md +22 -22
- package/templates/full/.roo/commands/verify.md +11 -0
- package/templates/full/.roo/commands/write-a-skill.md +2 -1
- package/templates/full/.roo/commands/zoom-out.md +2 -1
- package/templates/full/.roo/rules/01-command-protocol.md +1 -1
- package/templates/full/.roo/rules/04-context-economy.md +27 -29
- package/templates/full/.roo/rules-code-tweaker/01-completion.md +12 -8
- package/templates/full/.roo/rules-custom-orchestrator/00-routing.md +77 -63
- package/templates/full/.roo/rules-custom-orchestrator/01-delegation-message.md +59 -55
- package/templates/full/.roo/rules-system-architect/02-completion.md +6 -2
- package/templates/full/.roo/skills/engineering/README.md +2 -0
- package/templates/full/.roo/skills/engineering/commit-and-document/SKILL.md +1 -2
- package/templates/full/.roo/skills/engineering/grill-with-docs/ADR-FORMAT.md +1 -1
- package/templates/full/.roo/skills/engineering/grill-with-docs/CONTEXT-FORMAT.md +36 -61
- package/templates/full/.roo/skills/engineering/grill-with-docs/SKILL.md +1 -1
- package/templates/full/.roo/skills/engineering/improve-codebase-architecture/SKILL.md +3 -3
- package/templates/full/.roo/skills/engineering/prototype/SKILL.md +37 -37
- package/templates/full/.roo/skills/engineering/review/SKILL.md +111 -0
- package/templates/full/.roo/skills/engineering/scaffold-context/SKILL.md +218 -152
- package/templates/full/.roo/skills/engineering/scaffold-context/templates/writing-patterns.md +17 -0
- package/templates/full/.roo/skills/engineering/setup-matt-pocock-skills/SKILL.md +3 -3
- package/templates/full/.roo/skills/engineering/setup-matt-pocock-skills/domain.md +2 -3
- package/templates/full/.roo/skills/engineering/tdd/SKILL.md +2 -0
- package/templates/full/.roo/skills/engineering/to-prd/SKILL.md +57 -57
- package/templates/full/.roo/skills/engineering/tweak/SKILL.md +2 -1
- package/templates/full/.roo/skills/engineering/verify/SKILL.md +80 -0
- package/templates/full/.roo/skills/in-progress/README.md +0 -1
- package/templates/full/.roomodes +47 -47
- package/templates/full/.zoo-flow/CONTEXT.md +8 -8
- package/templates/full/.zoo-flow/START_HERE.md +61 -61
- package/templates/full/.zoo-flow/docs/adr/0001-record-architecture-decisions.md +22 -22
- package/templates/full/.zoo-flow/evals/no-regression-checklist.md +26 -24
- package/templates/full/.zoo-flow/evals/routing-cases.jsonl +20 -0
- package/templates/full/.zoo-flow/evals/routing-cases.md +213 -189
- package/templates/full/.zoo-flow/project-profile.json +24 -0
- package/tests/fixtures/bad-routing-cases/bad-json.jsonl +1 -0
- package/tests/fixtures/bad-routing-cases/bad-mode.jsonl +1 -0
- package/tests/fixtures/bad-routing-cases/missing-command.jsonl +1 -0
- package/tests/fixtures/doctor/bad-built-in-delegation/fixture.json +1 -0
- package/tests/fixtures/doctor/bad-mode-slug/fixture.json +1 -0
- package/tests/fixtures/doctor/bad-skill-wrapper/fixture.json +1 -0
- package/tests/fixtures/doctor/bad-zoo-path/fixture.json +1 -0
- package/tests/fixtures/doctor/helper-missing-mode/fixture.json +1 -0
- package/tests/fixtures/doctor/helper-not-permitted/fixture.json +1 -0
- package/tests/fixtures/doctor/manual-good-template/fixture.json +1 -0
- package/tests/fixtures/doctor/missing-command/fixture.json +1 -0
- package/tests/fixtures/doctor/missing-roomodes/fixture.json +1 -0
- package/tests/fixtures/doctor/missing-skill/fixture.json +1 -0
- package/tests/fixtures/project-shapes/cli-tool/cmd/root.go +1 -0
- package/tests/fixtures/project-shapes/cli-tool/fixture.json +1 -0
- package/tests/fixtures/project-shapes/cli-tool/package.json +1 -0
- package/tests/fixtures/project-shapes/data-pipeline/fixture.json +1 -0
- package/tests/fixtures/project-shapes/data-pipeline/pipelines/invoices.py +1 -0
- package/tests/fixtures/project-shapes/data-pipeline/pyproject.toml +2 -0
- package/tests/fixtures/project-shapes/library/fixture.json +1 -0
- package/tests/fixtures/project-shapes/library/package.json +1 -0
- package/tests/fixtures/project-shapes/library/src/index.ts +1 -0
- package/tests/fixtures/project-shapes/monorepo/fixture.json +1 -0
- package/tests/fixtures/project-shapes/monorepo/package.json +1 -0
- package/tests/fixtures/project-shapes/monorepo/packages/core/index.ts +1 -0
- package/tests/fixtures/project-shapes/monorepo/packages/web/index.ts +1 -0
- package/tests/fixtures/project-shapes/serverless/fixture.json +1 -0
- package/tests/fixtures/project-shapes/serverless/functions/webhook.ts +1 -0
- package/tests/fixtures/project-shapes/serverless/package.json +1 -0
- package/tests/fixtures/project-shapes/web-app/app/routes/index.tsx +1 -0
- package/tests/fixtures/project-shapes/web-app/fixture.json +1 -0
- package/tests/fixtures/project-shapes/web-app/package.json +1 -0
- package/tests/golden-transcripts/01-small-tweak-golden.md +21 -0
- package/tests/golden-transcripts/02-diagnosis-golden.md +26 -0
- package/tests/golden-transcripts/03-verification-golden.md +24 -0
- package/tests/golden-transcripts/04-review-golden.md +26 -0
- package/tests/golden-transcripts/05-feature-planning-golden.md +23 -0
- package/templates/full/.roo/skills/in-progress/review/SKILL.md +0 -39
|
@@ -1,69 +1,83 @@
|
|
|
1
|
-
# Orchestrator Routing
|
|
2
|
-
|
|
3
|
-
Router only. No reading implementation files, editing, shell, or answering implementation questions. Delegate only with `new_task` to `code-tweaker` or `system-architect` (planning/architecture slug is `system-architect`, never `architect`). Summarize and stop after a subtask returns; do not auto-launch another.
|
|
4
|
-
|
|
5
|
-
## Hard delegation boundary
|
|
6
|
-
|
|
7
|
-
The only valid `new_task` target slugs are:
|
|
8
|
-
|
|
9
|
-
- `code-tweaker`
|
|
10
|
-
- `system-architect`
|
|
11
|
-
|
|
12
|
-
Never delegate to built-in/default modes, including Ask, Code, Debug, Architect, or Orchestrator.
|
|
13
|
-
|
|
14
|
-
If a task sounds like "ask", "inspect", "review", "analyze", "deep inspection", "investigate", or "reason about safety", route it to `system-architect`.
|
|
15
|
-
|
|
16
|
-
If a task requires source edits, tests, docs updates, prototypes, or commits, route it to `code-tweaker`.
|
|
17
|
-
|
|
18
|
-
If neither custom mode is suitable, stop and report that no valid Zoo Flow mode exists. Do not fall back to Ask mode.
|
|
19
|
-
|
|
20
|
-
## Natural language first
|
|
21
|
-
|
|
22
|
-
Users are not expected to know slash commands. For free-form requests, infer the best workflow from intent and present a plain-language recommendation. Slash commands are optional power-user overrides. Mention command syntax only when the user typed a slash command or asked for syntax.
|
|
23
|
-
|
|
24
|
-
## User-facing workflow names
|
|
25
|
-
|
|
26
|
-
Slash commands are internal routing labels unless the user explicitly typed one or asked for syntax. For free-form requests, use plain-language workflow names only: small implementation, test-first, diagnosis, feature planning, refactor planning, exploration, documentation update, commit and journal, prototype, issue triage. Never show slash commands as selectable options for free-form requests. Internal delegation may still use the slash command after approval.
|
|
27
|
-
|
|
28
|
-
## Routed commands
|
|
29
|
-
|
|
30
|
-
| Workflow | Command | Mode |
|
|
31
|
-
| -------------------- | ---------------------- | ---------------- |
|
|
32
|
-
| small implementation | `/tweak` | code-tweaker |
|
|
33
|
-
| test-first | `/tdd` | code-tweaker |
|
|
34
|
-
| documentation update | `/update-docs` | code-tweaker |
|
|
35
|
-
| commit and journal | `/commit-and-document` | code-tweaker |
|
|
36
|
-
| prototype | `/prototype` | code-tweaker |
|
|
37
|
-
| diagnosis | `/fix` | system-architect |
|
|
38
|
-
| feature planning | `/feature` | system-architect |
|
|
39
|
-
| refactor planning | `/refactor` | system-architect |
|
|
1
|
+
# Orchestrator Routing
|
|
2
|
+
|
|
3
|
+
Router only. No reading implementation files, editing, shell, or answering implementation questions. Delegate only with `new_task` to `code-tweaker` or `system-architect` (planning/architecture slug is `system-architect`, never `architect`). Summarize and stop after a subtask returns; do not auto-launch another.
|
|
4
|
+
|
|
5
|
+
## Hard delegation boundary
|
|
6
|
+
|
|
7
|
+
The only valid `new_task` target slugs are:
|
|
8
|
+
|
|
9
|
+
- `code-tweaker`
|
|
10
|
+
- `system-architect`
|
|
11
|
+
|
|
12
|
+
Never delegate to built-in/default modes, including Ask, Code, Debug, Architect, or Orchestrator.
|
|
13
|
+
|
|
14
|
+
If a task sounds like "ask", "inspect", "review", "branch review", "pre-commit review", "analyze", "deep inspection", "investigate", or "reason about safety", route it to `system-architect`.
|
|
15
|
+
|
|
16
|
+
If a task requires source edits, tests, verification, docs updates, prototypes, or commits, route it to `code-tweaker`.
|
|
17
|
+
|
|
18
|
+
If neither custom mode is suitable, stop and report that no valid Zoo Flow mode exists. Do not fall back to Ask mode.
|
|
19
|
+
|
|
20
|
+
## Natural language first
|
|
21
|
+
|
|
22
|
+
Users are not expected to know slash commands. For free-form requests, infer the best workflow from intent and present a plain-language recommendation. Slash commands are optional power-user overrides. Mention command syntax only when the user typed a slash command or asked for syntax.
|
|
23
|
+
|
|
24
|
+
## User-facing workflow names
|
|
25
|
+
|
|
26
|
+
Slash commands are internal routing labels unless the user explicitly typed one or asked for syntax. For free-form requests, use plain-language workflow names only: small implementation, test-first, diagnosis, feature planning, refactor planning, exploration, documentation update, commit and journal, prototype, issue triage, review, verification. Never show slash commands as selectable options for free-form requests. Internal delegation may still use the slash command after approval.
|
|
27
|
+
|
|
28
|
+
## Routed commands
|
|
29
|
+
|
|
30
|
+
| Workflow | Command | Mode |
|
|
31
|
+
| -------------------- | ---------------------- | ---------------- |
|
|
32
|
+
| small implementation | `/tweak` | code-tweaker |
|
|
33
|
+
| test-first | `/tdd` | code-tweaker |
|
|
34
|
+
| documentation update | `/update-docs` | code-tweaker |
|
|
35
|
+
| commit and journal | `/commit-and-document` | code-tweaker |
|
|
36
|
+
| prototype | `/prototype` | code-tweaker |
|
|
37
|
+
| diagnosis | `/fix` | system-architect |
|
|
38
|
+
| feature planning | `/feature` | system-architect |
|
|
39
|
+
| refactor planning | `/refactor` | system-architect |
|
|
40
40
|
| exploration | `/explore` | system-architect |
|
|
41
41
|
| issue triage | `/triage` | system-architect |
|
|
42
|
+
| review | `/review` | system-architect |
|
|
43
|
+
| verification | `/verify` | code-tweaker |
|
|
44
|
+
|
|
45
|
+
## Routing decision guide
|
|
46
|
+
|
|
47
|
+
Read intent, not keywords. Top-down: 1. unknown code area or unclear next move → exploration; 2. broken behavior with unknown cause → diagnosis; 3. new capability needing design, PRD, issue slicing, or phase gates → feature planning; 4. working behavior but structure is the problem → refactor planning; 5. small known low-risk change → small implementation; 6. clear behavior and interface, user wants tests first → test-first; 7. throwaway design/state/UI uncertainty → prototype; 8. docs drift from code → documentation update; 9. finished work needs commit/journal → commit and journal; 10. issue creation, sorting, labels, or tracker workflow → issue triage; 11. diff, branch, PR, standards, architecture, or pre-commit inspection → review; 12. check if this passes, run tests for this change, verify the branch, or make sure nothing broke → verification.
|
|
48
|
+
|
|
49
|
+
## Routing weight
|
|
50
|
+
|
|
51
|
+
Prefer the lightest workflow that preserves correctness. Use small implementation for known, localized, low-risk changes. Do not use feature planning merely because code will be added. Do not use diagnosis when the cause and target change are already known. Do not use refactor planning for one-file cleanup without design tradeoffs. If the target area is unknown, choose exploration first.
|
|
52
|
+
|
|
53
|
+
## Risk levels
|
|
54
|
+
|
|
55
|
+
Use risk to choose the lightest safe workflow. Risk does not override command intent; explicit slash commands still route as-is. R1 copy/style/doc typo/one-line obvious edit → small implementation. R2 localized code change with known target → small implementation or test-first. R3 behavior change with clear interface → test-first, then suggest verification or review. R4 cross-module change or design tradeoff → feature planning or refactor planning, then suggest verification and review. R5 auth/payments/security/migrations/data loss/external API contracts → strict planning/diagnosis with explicit approval gates, then suggest verification and review.
|
|
56
|
+
|
|
57
|
+
## Disambiguation
|
|
58
|
+
|
|
59
|
+
Diagnosis vs small implementation: unknown cause → diagnosis; known cause → small implementation. Diagnosis vs refactor planning: wrong behavior → diagnosis; working behavior but bad structure → refactor planning. Feature planning vs test-first: needs sharpening/PRD/issues → feature planning; clear interface/behavior → test-first. Feature planning vs prototype: real implementation → feature planning; throwaway design check → prototype. Refactor planning vs small implementation: cross-module design tradeoff → refactor planning; localized edit → small implementation. Documentation update vs commit and journal: align docs with code → documentation update; record finished work → commit and journal. Unknown target area beats all: choose exploration first.
|
|
60
|
+
|
|
61
|
+
## Confidence and presentation
|
|
62
|
+
|
|
63
|
+
Explicit slash command from user = approval; route as-is. Clear free-form request = recommend one plain-language workflow plus one safe alternative if useful. Genuine tie = offer numbered plain-language choices. Prefer lighter workflow when safe, but do not skip needed diagnosis, planning, or approval. Follow `.roo/rules/03-manual-reply-protocol.md`: no slash commands, mode names, or executable routing text in selectable options. Good free-form option: 1. Make the small implementation change; 2. Explore the area first. Bad free-form option: 1. `/tweak`; 2. `/explore`.
|
|
64
|
+
|
|
65
|
+
## Approval gate
|
|
66
|
+
|
|
67
|
+
The orchestrator proposes; the user approves; then the orchestrator delegates. Explicit slash command = approval; route immediately. A free-form request is never self-approving; propose a workflow and wait for approval. Present the recommendation, then stop and wait. Treat replies as approval only when they select the proposed workflow by number, option text, or clear restatement. A fresh free-form request restarts routing. If unsure whether the user approved, ask.
|
|
68
|
+
|
|
69
|
+
## Delegation
|
|
70
|
+
|
|
71
|
+
Delegate only after the approval gate is satisfied. Choose the safest proceed policy from `01-delegation-message.md`.
|
|
42
72
|
|
|
43
|
-
##
|
|
44
|
-
|
|
45
|
-
Read intent, not keywords. Top-down: 1. unknown code area or unclear next move → exploration; 2. broken behavior with unknown cause → diagnosis; 3. new capability needing design, PRD, issue slicing, or phase gates → feature planning; 4. working behavior but structure is the problem → refactor planning; 5. small known low-risk change → small implementation; 6. clear behavior and interface, user wants tests first → test-first; 7. throwaway design/state/UI uncertainty → prototype; 8. docs drift from code → documentation update; 9. finished work needs commit/journal → commit and journal; 10. issue creation, sorting, labels, or tracker workflow → issue triage.
|
|
46
|
-
|
|
47
|
-
## Routing weight
|
|
48
|
-
|
|
49
|
-
Prefer the lightest workflow that preserves correctness. Use small implementation for known, localized, low-risk changes. Do not use feature planning merely because code will be added. Do not use diagnosis when the cause and target change are already known. Do not use refactor planning for one-file cleanup without design tradeoffs. If the target area is unknown, choose exploration first.
|
|
50
|
-
|
|
51
|
-
## Risk levels
|
|
52
|
-
|
|
53
|
-
Use risk to choose the lightest safe workflow. Risk does not override command intent; explicit slash commands still route as-is. R1 copy/style/doc typo/one-line obvious edit → small implementation. R2 localized code change with known target → small implementation or test-first. R3 behavior change with clear interface → test-first. R4 cross-module change or design tradeoff → feature planning or refactor planning. R5 auth/payments/security/migrations/data loss/external API contracts → strict planning/diagnosis with explicit approval gates.
|
|
54
|
-
|
|
55
|
-
## Disambiguation
|
|
56
|
-
|
|
57
|
-
Diagnosis vs small implementation: unknown cause → diagnosis; known cause → small implementation. Diagnosis vs refactor planning: wrong behavior → diagnosis; working behavior but bad structure → refactor planning. Feature planning vs test-first: needs sharpening/PRD/issues → feature planning; clear interface/behavior → test-first. Feature planning vs prototype: real implementation → feature planning; throwaway design check → prototype. Refactor planning vs small implementation: cross-module design tradeoff → refactor planning; localized edit → small implementation. Documentation update vs commit and journal: align docs with code → documentation update; record finished work → commit and journal. Unknown target area beats all: choose exploration first.
|
|
58
|
-
|
|
59
|
-
## Confidence and presentation
|
|
60
|
-
|
|
61
|
-
Explicit slash command from user = approval; route as-is. Clear free-form request = recommend one plain-language workflow plus one safe alternative if useful. Genuine tie = offer numbered plain-language choices. Prefer lighter workflow when safe, but do not skip needed diagnosis, planning, or approval. Follow `.roo/rules/03-manual-reply-protocol.md`: no slash commands, mode names, or executable routing text in selectable options. Good free-form option: 1. Make the small implementation change; 2. Explore the area first. Bad free-form option: 1. `/tweak`; 2. `/explore`.
|
|
62
|
-
|
|
63
|
-
## Approval gate
|
|
73
|
+
## Follow-up recommendations
|
|
64
74
|
|
|
65
|
-
|
|
75
|
+
For non-trivial work, suggest the next command chain only after the current command completes. Do not auto-launch follow-up commands merely because they are mentioned.
|
|
66
76
|
|
|
67
|
-
|
|
77
|
+
Recommended chains:
|
|
68
78
|
|
|
69
|
-
|
|
79
|
+
- test-first → verification → review → commit and journal
|
|
80
|
+
- diagnosis → verification → review → commit and journal
|
|
81
|
+
- refactor planning → verification → review → commit and journal
|
|
82
|
+
- feature planning → verification → review → commit and journal
|
|
83
|
+
- small implementation → verification or review when risk is R3+
|
|
@@ -1,62 +1,66 @@
|
|
|
1
|
-
# Delegation Message
|
|
2
|
-
|
|
3
|
-
A delegated task is the **entire command chain** — every phase and mode switch the command body defines, run to its final phase. A worker returns via `attempt_completion` only after that final phase. Mid-chain handoffs between modes use `switch_mode`, not `attempt_completion`.
|
|
4
|
-
|
|
5
|
-
## Compact delegation template
|
|
6
|
-
|
|
7
|
-
Use this shape unless the task needs more detail:
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
Task:
|
|
11
|
-
Command:
|
|
12
|
-
Proceed policy:
|
|
13
|
-
Context hints:
|
|
14
|
-
Allowed scope:
|
|
15
|
-
Must follow:
|
|
16
|
-
- `.roo/rules/01-command-protocol.md`
|
|
17
|
-
- relevant command file
|
|
18
|
-
- referenced skill only
|
|
19
|
-
Completion must include:
|
|
20
|
-
- files inspected/changed
|
|
21
|
-
- commands/tests run
|
|
22
|
-
- status
|
|
23
|
-
- blockers
|
|
24
|
-
- recommended next command
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Fields expand as:
|
|
28
|
-
|
|
29
|
-
- **Task** — what the user asked for, in plain language.
|
|
30
|
-
- **Command** — the slash command being delegated, with leading slash.
|
|
31
|
-
- **Proceed policy** — one of the three policies below.
|
|
32
|
-
- **Context hints** — known files, symbols, line ranges, or search terms when available. Pass paths, not file bodies.
|
|
33
|
-
- **Allowed scope** — what the worker may edit or read, when it is not "the whole repo".
|
|
34
|
-
|
|
35
|
-
Do not paste long rule bodies, command bodies, or file contents into delegation messages. Pass paths, symbols, search terms, and decisions instead.
|
|
36
|
-
|
|
37
|
-
The receiving worker already loads `.roo/rules/01-command-protocol.md` and `.roo/rules/00-paths.md` on every turn. Reminders are not needed for those, but command-file and skill-path pointers still help when the worker has not loaded them yet.
|
|
38
|
-
|
|
39
|
-
Ignore slash commands mentioned only inside subtask summaries.
|
|
40
|
-
|
|
41
|
-
# Proceed Policy
|
|
42
|
-
|
|
43
|
-
Every delegated task must include one proceed policy:
|
|
44
|
-
|
|
45
|
-
- `Proceed automatically after audit if clean`
|
|
46
|
-
- `Ask user before implementation`
|
|
47
|
-
- `Stop and report only`
|
|
48
|
-
|
|
49
|
-
Use the least-interruptive policy that is safe.
|
|
50
|
-
|
|
51
|
-
Defaults:
|
|
52
|
-
|
|
53
|
-
- `/tweak`: proceed automatically after audit if clean
|
|
54
|
-
- `/tdd`: proceed automatically after audit if clean, unless the public interface, expected behavior, or test target is unclear
|
|
55
|
-
- `/explore`: proceed automatically; ask only if the target area is ambiguous
|
|
1
|
+
# Delegation Message
|
|
2
|
+
|
|
3
|
+
A delegated task is the **entire command chain** — every phase and mode switch the command body defines, run to its final phase. A worker returns via `attempt_completion` only after that final phase. Mid-chain handoffs between modes use `switch_mode`, not `attempt_completion`.
|
|
4
|
+
|
|
5
|
+
## Compact delegation template
|
|
6
|
+
|
|
7
|
+
Use this shape unless the task needs more detail:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Task:
|
|
11
|
+
Command:
|
|
12
|
+
Proceed policy:
|
|
13
|
+
Context hints:
|
|
14
|
+
Allowed scope:
|
|
15
|
+
Must follow:
|
|
16
|
+
- `.roo/rules/01-command-protocol.md`
|
|
17
|
+
- relevant command file
|
|
18
|
+
- referenced skill only
|
|
19
|
+
Completion must include:
|
|
20
|
+
- files inspected/changed
|
|
21
|
+
- commands/tests run
|
|
22
|
+
- status
|
|
23
|
+
- blockers
|
|
24
|
+
- recommended next command
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Fields expand as:
|
|
28
|
+
|
|
29
|
+
- **Task** — what the user asked for, in plain language.
|
|
30
|
+
- **Command** — the slash command being delegated, with leading slash.
|
|
31
|
+
- **Proceed policy** — one of the three policies below.
|
|
32
|
+
- **Context hints** — known files, symbols, line ranges, or search terms when available. Pass paths, not file bodies.
|
|
33
|
+
- **Allowed scope** — what the worker may edit or read, when it is not "the whole repo".
|
|
34
|
+
|
|
35
|
+
Do not paste long rule bodies, command bodies, or file contents into delegation messages. Pass paths, symbols, search terms, and decisions instead.
|
|
36
|
+
|
|
37
|
+
The receiving worker already loads `.roo/rules/01-command-protocol.md` and `.roo/rules/00-paths.md` on every turn. Reminders are not needed for those, but command-file and skill-path pointers still help when the worker has not loaded them yet.
|
|
38
|
+
|
|
39
|
+
Ignore slash commands mentioned only inside subtask summaries.
|
|
40
|
+
|
|
41
|
+
# Proceed Policy
|
|
42
|
+
|
|
43
|
+
Every delegated task must include one proceed policy:
|
|
44
|
+
|
|
45
|
+
- `Proceed automatically after audit if clean`
|
|
46
|
+
- `Ask user before implementation`
|
|
47
|
+
- `Stop and report only`
|
|
48
|
+
|
|
49
|
+
Use the least-interruptive policy that is safe.
|
|
50
|
+
|
|
51
|
+
Defaults:
|
|
52
|
+
|
|
53
|
+
- `/tweak`: proceed automatically after audit if clean
|
|
54
|
+
- `/tdd`: proceed automatically after audit if clean, unless the public interface, expected behavior, or test target is unclear
|
|
55
|
+
- `/explore`: proceed automatically; ask only if the target area is ambiguous
|
|
56
56
|
- `/update-docs`: proceed automatically after audit if the target doc/area is clear; ask if unclear
|
|
57
57
|
- `/prototype`: proceed automatically if prototype branch is clear; ask if logic vs UI is ambiguous
|
|
58
|
+
- `/verify`: proceed automatically after changed scope and project checks are identified; report exact commands run
|
|
59
|
+
- `/review`: stop and report only; do not patch application source
|
|
58
60
|
- `/fix`: ask after reproduced hypotheses before instrumentation/fix
|
|
59
61
|
- `/feature`: ask at phase gates: Prototype/PRD, prototype verdict, slice approval, issue approval
|
|
60
62
|
- `/refactor`: ask before selecting a candidate and before implementation
|
|
61
63
|
- `/triage`: ask before publishing, closing, labeling, or making irreversible tracker changes unless the user explicitly requested it
|
|
62
64
|
- `/commit-and-document`: always ask before `git commit`, `git push`, or issue close actions
|
|
65
|
+
|
|
66
|
+
Do not auto-launch `/verify`, `/review`, or `/commit-and-document` merely because a worker recommended it. Suggest only; wait for explicit approval.
|
|
@@ -11,6 +11,10 @@ If you entered this window via `switch_mode` (you are mid-chain, not the entry p
|
|
|
11
11
|
|
|
12
12
|
Before any `attempt_completion`, re-read the command body and confirm no later phase is assigned to another mode. If one is, `switch_mode` instead.
|
|
13
13
|
|
|
14
|
-
Do not use `attempt_completion` to avoid required implementation work.
|
|
14
|
+
Do not use `attempt_completion` to avoid required implementation work. Every `attempt_completion` must include evidence of what was produced or discovered, not just summaries.
|
|
15
15
|
|
|
16
|
-
Halt for explicit user approval before testing a bug hypothesis, finalizing an architecture plan, publishing issues, or making irreversible decisions.
|
|
16
|
+
Halt for explicit user approval before testing a bug hypothesis, finalizing an architecture plan, publishing issues, or making irreversible decisions.
|
|
17
|
+
|
|
18
|
+
For non-trivial completed plans or reviews, recommend the next command only. Typical chain: implementation command -> `/verify` -> `/review` -> `/commit-and-document`. Do not auto-launch those commands.
|
|
19
|
+
|
|
20
|
+
If the user explicitly says to remember a project rule, or the same mistake has repeated, ask before appending a short lesson to `.zoo-flow/LESSONS.md`. Do not read or write lessons by default.
|
|
@@ -10,3 +10,5 @@
|
|
|
10
10
|
- **[to-prd](./to-prd/SKILL.md)** — Context → PRD issue.
|
|
11
11
|
- **[zoom-out](./zoom-out/SKILL.md)** — Map modules/callers.
|
|
12
12
|
- **[prototype](./prototype/SKILL.md)** — Throwaway logic/UI prototype.
|
|
13
|
+
- **[review](./review/SKILL.md)** — Diff/branch review against spec and standards.
|
|
14
|
+
- **[verify](./verify/SKILL.md)** — Targeted tests/typecheck/lint/build evidence.
|
|
@@ -123,8 +123,7 @@ Date via `date +%Y-%m-%d`. Create `docs/journal/<YYYY-MM-DD>/` if missing. Write
|
|
|
123
123
|
## 7. Surface stale docs (if any)
|
|
124
124
|
|
|
125
125
|
Read `git diff --cached --stat`. If any staged path overlaps with a path
|
|
126
|
-
referenced in `.zoo-flow/CONTEXT.md`,
|
|
127
|
-
`.zoo-flow/APP_MAP.md`, or any nearby `FLOW.md`, output exactly one line
|
|
126
|
+
referenced in `.zoo-flow/CONTEXT.md`, output exactly one line
|
|
128
127
|
before "Confirm":
|
|
129
128
|
|
|
130
129
|
"Public surface may have drifted. Run /update-docs? (yes / skip)"
|
|
@@ -1,61 +1,36 @@
|
|
|
1
|
-
# CONTEXT.md Format
|
|
2
|
-
|
|
3
|
-
## Shape
|
|
4
|
-
|
|
5
|
-
```md
|
|
6
|
-
# {Context Name}
|
|
7
|
-
|
|
8
|
-
{1-2 sentences: context purpose.}
|
|
9
|
-
|
|
10
|
-
## Language
|
|
11
|
-
|
|
12
|
-
**Order**:
|
|
13
|
-
{1-2 sentence definition}
|
|
14
|
-
_Avoid_: Purchase, transaction
|
|
15
|
-
|
|
16
|
-
## Flagged ambiguities
|
|
17
|
-
|
|
18
|
-
**Account** means Customer here, not User.
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Rules
|
|
22
|
-
|
|
23
|
-
- **Be opinionated.** When multiple words exist for the same concept, pick the best one and list the others under `_Avoid`.
|
|
24
|
-
- Define term in 1–2 sentences: what it is, not behavior.
|
|
25
|
-
- Include domain terms only; exclude generic programming terms.
|
|
26
|
-
|
|
27
|
-
##
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
## Discovery rule (used by /explore, /update-docs, /grill-with-docs)
|
|
39
|
-
|
|
40
|
-
For each slot, in this order:
|
|
41
|
-
|
|
42
|
-
1. If the file exists at the documented location, read it.
|
|
43
|
-
2. If the slot is empty/missing, that is **not an error**. The user has
|
|
44
|
-
not authored it yet. Do not invent content. Do not lazy-create unless
|
|
45
|
-
the calling command explicitly says so (e.g. /grill-with-docs on a
|
|
46
|
-
first resolved term).
|
|
47
|
-
3. If the calling command depends on a populated slot and none exist,
|
|
48
|
-
surface once: "Slot `<name>` not yet authored. Run /grill-with-docs
|
|
49
|
-
to fill, or continue without."
|
|
50
|
-
|
|
51
|
-
## Multi-context (rare)
|
|
52
|
-
|
|
53
|
-
A single project can hold multiple domain contexts when subsystems do
|
|
54
|
-
not share language. Use:
|
|
55
|
-
|
|
56
|
-
- `.zoo-flow/CONTEXT-MAP.md` — index of contexts.
|
|
57
|
-
- `.zoo-flow/contexts/<slug>/CONTEXT.md` — per-context.
|
|
58
|
-
- `.zoo-flow/contexts/<slug>/docs/adr/` — per-context ADRs.
|
|
59
|
-
|
|
60
|
-
`/grill-with-docs` and `/explore` consult the map first, then the
|
|
61
|
-
relevant per-context file.
|
|
1
|
+
# CONTEXT.md Format
|
|
2
|
+
|
|
3
|
+
## Shape
|
|
4
|
+
|
|
5
|
+
```md
|
|
6
|
+
# {Context Name}
|
|
7
|
+
|
|
8
|
+
{1-2 sentences: context purpose.}
|
|
9
|
+
|
|
10
|
+
## Language
|
|
11
|
+
|
|
12
|
+
**Order**:
|
|
13
|
+
{1-2 sentence definition}
|
|
14
|
+
_Avoid_: Purchase, transaction
|
|
15
|
+
|
|
16
|
+
## Flagged ambiguities
|
|
17
|
+
|
|
18
|
+
**Account** means Customer here, not User.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- **Be opinionated.** When multiple words exist for the same concept, pick the best one and list the others under `_Avoid`.
|
|
24
|
+
- Define term in 1–2 sentences: what it is, not behavior.
|
|
25
|
+
- Include domain terms only; exclude generic programming terms.
|
|
26
|
+
|
|
27
|
+
## Directory layout
|
|
28
|
+
|
|
29
|
+
- `.zoo-flow/CONTEXT.md` — domain language glossary
|
|
30
|
+
- `.zoo-flow/docs/adr/<NNNN-slug>.md` — architecture decisions
|
|
31
|
+
|
|
32
|
+
## Discovery rule
|
|
33
|
+
|
|
34
|
+
1. If the file exists, read it.
|
|
35
|
+
2. If the file is missing, that is **not an error**. Do not invent content.
|
|
36
|
+
3. For commands that depend on populated context, surface once: "No CONTEXT.md or ADRs found yet. Run /grill-with-docs or /scaffold-context to fill, or continue without."
|
|
@@ -7,7 +7,7 @@ description: Grilling session that challenges your plan against the existing dom
|
|
|
7
7
|
|
|
8
8
|
## Loop
|
|
9
9
|
|
|
10
|
-
1. Read relevant
|
|
10
|
+
1. Read relevant `.zoo-flow/CONTEXT.md` + ADRs.
|
|
11
11
|
2. Ask one question at a time.
|
|
12
12
|
3. Include recommended answer.
|
|
13
13
|
4. Inspect code instead of asking when code can answer.
|
|
@@ -5,11 +5,11 @@ description: Find deepening opportunities in a codebase, informed by the domain
|
|
|
5
5
|
|
|
6
6
|
# Improve Codebase Architecture
|
|
7
7
|
|
|
8
|
-
RULE: Use
|
|
8
|
+
RULE: Use `.zoo-flow/CONTEXT.md` terms. Use glossary. Respect ADRs; surface only reopen-worthy conflicts.
|
|
9
9
|
|
|
10
10
|
## Explore
|
|
11
11
|
|
|
12
|
-
1. Read relevant
|
|
12
|
+
1. Read relevant `.zoo-flow/CONTEXT.md`.
|
|
13
13
|
2. Read relevant ADRs.
|
|
14
14
|
3. Explore code organically.
|
|
15
15
|
4. Find friction:
|
|
@@ -52,4 +52,4 @@ Use searches to identify dependency/call patterns before reading full modules. R
|
|
|
52
52
|
2. If module name introduces unresolved domain term, update `CONTEXT.md` lazily.
|
|
53
53
|
3. If term sharpened, update `CONTEXT.md` immediately.
|
|
54
54
|
4. Durable rejected reason useful later → offer ADR.
|
|
55
|
-
5. Interface options requested → run
|
|
55
|
+
5. Interface options requested → run interface-design workflow.
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: prototype
|
|
3
|
-
description: Build a throwaway prototype to flesh out a design before committing to it. Routes between two branches — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route. Use when the user wants to prototype, sanity-check a data model or state machine, mock up a UI, explore design options, or says "prototype this", "let me play with it", "try a few designs".
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Prototype
|
|
7
|
-
|
|
8
|
-
RULE: Prototype answers one question. Throw away or absorb after answer.
|
|
9
|
-
|
|
10
|
-
## Branch
|
|
11
|
-
|
|
12
|
-
- Logic/state/data-model → `LOGIC.md`.
|
|
13
|
-
- Visual/layout/UI → `UI.md`.
|
|
14
|
-
- Ambiguous → ask.
|
|
15
|
-
- User AFK → infer + state assumption.
|
|
16
|
-
|
|
17
|
-
## Context economy
|
|
18
|
-
|
|
19
|
-
Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
|
|
20
|
-
|
|
21
|
-
Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
|
|
22
|
-
|
|
23
|
-
Read full files only when structure, ordering, or surrounding context is required for correctness.
|
|
24
|
-
|
|
25
|
-
Do not re-read unchanged files; use prior findings unless the file changed.
|
|
26
|
-
|
|
27
|
-
## Rules
|
|
28
|
-
|
|
29
|
-
1. Mark throwaway clearly.
|
|
30
|
-
2. Place under `.scratch/prototypes/<slug>/` (logic/state/data-model) or near the real module/page (UI). UI prototypes need the real route, data fetching, and auth, so they stay adjacent to the page they mock up; logic prototypes have no such constraint, so they go in `.scratch/` with the other throwaway work.
|
|
31
|
-
3. Follow existing routing/tooling.
|
|
32
|
-
4. Provide one run command.
|
|
33
|
-
5. Default no persistence; state in memory.
|
|
34
|
-
6. Persistence target → scratch DB/file named `PROTOTYPE — wipe me` in the prototype folder.
|
|
35
|
-
7. No polish: no tests, minimal errors, no abstractions.
|
|
36
|
-
8. Surface full relevant state after each action/variant switch.
|
|
37
|
-
9. Done → capture answer in commit/ADR/issue/`NOTES.md`; delete or fold into real code.
|
|
1
|
+
---
|
|
2
|
+
name: prototype
|
|
3
|
+
description: Build a throwaway prototype to flesh out a design before committing to it. Routes between two branches — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route. Use when the user wants to prototype, sanity-check a data model or state machine, mock up a UI, explore design options, or says "prototype this", "let me play with it", "try a few designs".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Prototype
|
|
7
|
+
|
|
8
|
+
RULE: Prototype answers one question. Throw away or absorb after answer.
|
|
9
|
+
|
|
10
|
+
## Branch
|
|
11
|
+
|
|
12
|
+
- Logic/state/data-model → `LOGIC.md`.
|
|
13
|
+
- Visual/layout/UI → `UI.md`.
|
|
14
|
+
- Ambiguous → ask.
|
|
15
|
+
- User AFK → infer + state assumption.
|
|
16
|
+
|
|
17
|
+
## Context economy
|
|
18
|
+
|
|
19
|
+
Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
|
|
20
|
+
|
|
21
|
+
Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
|
|
22
|
+
|
|
23
|
+
Read full files only when structure, ordering, or surrounding context is required for correctness.
|
|
24
|
+
|
|
25
|
+
Do not re-read unchanged files; use prior findings unless the file changed.
|
|
26
|
+
|
|
27
|
+
## Rules
|
|
28
|
+
|
|
29
|
+
1. Mark throwaway clearly.
|
|
30
|
+
2. Place under `.scratch/prototypes/<slug>/` (logic/state/data-model) or near the real module/page (UI). UI prototypes need the real route, data fetching, and auth, so they stay adjacent to the page they mock up; logic prototypes have no such constraint, so they go in `.scratch/` with the other throwaway work.
|
|
31
|
+
3. Follow existing routing/tooling.
|
|
32
|
+
4. Provide one run command.
|
|
33
|
+
5. Default no persistence; state in memory.
|
|
34
|
+
6. Persistence target → scratch DB/file named `PROTOTYPE — wipe me` in the prototype folder.
|
|
35
|
+
7. No polish: no tests, minimal errors, no abstractions.
|
|
36
|
+
8. Surface full relevant state after each action/variant switch.
|
|
37
|
+
9. Done → capture answer in commit/ADR/issue/`NOTES.md`; delete or fold into real code.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review
|
|
3
|
+
description: Review a diff, branch, PR, or work-in-progress change against the requested spec, repo standards, architecture, and likely regressions. Use before committing non-trivial work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Review
|
|
7
|
+
|
|
8
|
+
Purpose: answer whether the diff matches the spec, standards, architecture, and project intent.
|
|
9
|
+
|
|
10
|
+
Review only. Do not patch application source. As `system-architect`, edits are limited to Markdown, `.scratch/`, and `docs/`.
|
|
11
|
+
|
|
12
|
+
## 1. Identify target
|
|
13
|
+
|
|
14
|
+
Use the narrowest target that fits the request:
|
|
15
|
+
|
|
16
|
+
- User-provided base ref, PR, issue, files, or review focus.
|
|
17
|
+
- Staged diff when staged changes exist.
|
|
18
|
+
- Unstaged diff when unstaged changes exist.
|
|
19
|
+
- Branch diff against the likely base (`main`, `master`, or merge-base) when asked to review a branch.
|
|
20
|
+
- Specific files/specs/PRDs when provided.
|
|
21
|
+
|
|
22
|
+
If the target is unclear, ask one short question and stop.
|
|
23
|
+
|
|
24
|
+
## 2. Read needed context only
|
|
25
|
+
|
|
26
|
+
Start with:
|
|
27
|
+
|
|
28
|
+
- `git status --short`
|
|
29
|
+
- `git diff --stat`
|
|
30
|
+
- `git diff --cached --stat` when staged changes exist
|
|
31
|
+
|
|
32
|
+
Then read targeted diffs only:
|
|
33
|
+
|
|
34
|
+
- `git diff -- <file>`
|
|
35
|
+
- `git diff --cached -- <file>`
|
|
36
|
+
- `git diff <base>...HEAD -- <file>`
|
|
37
|
+
|
|
38
|
+
Read relevant specs, issues, PRDs, standards, docs, ADRs, security notes, or project conventions only when they affect the changed area or the user requested that axis.
|
|
39
|
+
|
|
40
|
+
## 3. Review axes
|
|
41
|
+
|
|
42
|
+
Standards axis:
|
|
43
|
+
|
|
44
|
+
- style
|
|
45
|
+
- architecture
|
|
46
|
+
- test quality
|
|
47
|
+
- maintainability
|
|
48
|
+
- security
|
|
49
|
+
- project conventions
|
|
50
|
+
|
|
51
|
+
Spec axis:
|
|
52
|
+
|
|
53
|
+
- did it solve the requested problem?
|
|
54
|
+
- did it change public behavior unexpectedly?
|
|
55
|
+
- did it miss edge cases?
|
|
56
|
+
- did it violate PRD, issue, or user intent?
|
|
57
|
+
|
|
58
|
+
Security/Risk axis:
|
|
59
|
+
|
|
60
|
+
- does the change touch auth, payments, PII, session data, or external API contracts?
|
|
61
|
+
- does it introduce new dependencies or entitlements?
|
|
62
|
+
- are there error paths that could leak information?
|
|
63
|
+
- is there a regression path that would be hard to detect?
|
|
64
|
+
- does the change affect audit logs or compliance obligations?
|
|
65
|
+
|
|
66
|
+
For every Security/Risk finding, include the severity and a concrete
|
|
67
|
+
mitigation suggestion. Omitting this axis is allowed when the change
|
|
68
|
+
clearly cannot affect security (copy changes, comment fixes, test-only
|
|
69
|
+
additions, docs-only updates).
|
|
70
|
+
|
|
71
|
+
## 4. Findings
|
|
72
|
+
|
|
73
|
+
Order findings by severity:
|
|
74
|
+
|
|
75
|
+
- Blocker
|
|
76
|
+
- High
|
|
77
|
+
- Medium
|
|
78
|
+
- Low
|
|
79
|
+
- Nit
|
|
80
|
+
|
|
81
|
+
For every finding include:
|
|
82
|
+
|
|
83
|
+
- file/path
|
|
84
|
+
- line or symbol when possible
|
|
85
|
+
- problem
|
|
86
|
+
- why it matters
|
|
87
|
+
- suggested fix
|
|
88
|
+
|
|
89
|
+
Prefer concrete findings over commentary. If no findings exist for a severity, omit that severity.
|
|
90
|
+
|
|
91
|
+
## 5. Result
|
|
92
|
+
|
|
93
|
+
End with exactly one result line:
|
|
94
|
+
|
|
95
|
+
- `Review result: approve`
|
|
96
|
+
- `Review result: approve with nits`
|
|
97
|
+
- `Review result: changes requested`
|
|
98
|
+
- `Review result: blocked`
|
|
99
|
+
|
|
100
|
+
## Recommended next command
|
|
101
|
+
|
|
102
|
+
If fixes are needed, recommend one next command only:
|
|
103
|
+
|
|
104
|
+
- small fix -> `/tweak`
|
|
105
|
+
- behavior fix -> `/tdd`
|
|
106
|
+
- unknown cause -> `/fix`
|
|
107
|
+
- design issue -> `/refactor`
|
|
108
|
+
- ready for evidence -> `/verify`
|
|
109
|
+
- ready to commit -> `/commit-and-document`
|
|
110
|
+
|
|
111
|
+
Do not auto-launch any follow-up command.
|