@fernado03/zoo-flow 0.11.3 → 0.12.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 (72) hide show
  1. package/bin/zoo-flow.js +25 -25
  2. package/package.json +1 -1
  3. package/templates/full/.roo/commands/{explore.md → zoo-explore.md} +18 -18
  4. package/templates/full/.roo/commands/{scaffold-context.md → zoo-scaffold-context.md} +16 -16
  5. package/templates/full/.roo/commands/{setup-matt-pocock-skills.md → zoo-setup-matt-pocock-skills.md} +7 -7
  6. package/templates/full/.roo/commands/{update-docs.md → zoo-update-docs.md} +22 -22
  7. package/templates/full/.roo/rules-custom-orchestrator/00-routing.md +22 -22
  8. package/templates/full/.roo/skills/engineering/commit-and-document/SKILL.md +163 -163
  9. package/templates/full/.roo/skills/engineering/diagnose/SKILL.md +3 -3
  10. package/templates/full/.roo/skills/engineering/grill-with-docs/SKILL.md +1 -1
  11. package/templates/full/.roo/skills/engineering/improve-codebase-architecture/SKILL.md +1 -1
  12. package/templates/full/.roo/skills/engineering/prototype/SKILL.md +47 -47
  13. package/templates/full/.roo/skills/engineering/review/SKILL.md +7 -7
  14. package/templates/full/.roo/skills/engineering/scaffold-context/SKILL.md +228 -228
  15. package/templates/full/.roo/skills/engineering/setup-matt-pocock-skills/SKILL.md +2 -2
  16. package/templates/full/.roo/skills/engineering/tdd/SKILL.md +1 -1
  17. package/templates/full/.roo/skills/engineering/to-issues/SKILL.md +2 -2
  18. package/templates/full/.roo/skills/engineering/to-prd/SKILL.md +66 -66
  19. package/templates/full/.roo/skills/engineering/triage/SKILL.md +2 -2
  20. package/templates/full/.roo/skills/engineering/tweak/SKILL.md +1 -1
  21. package/templates/full/.roo/skills/engineering/update-docs/SKILL.md +76 -76
  22. package/templates/full/.roo/skills/engineering/verify/SKILL.md +2 -2
  23. package/templates/full/.roo/skills/engineering/zoom-out/SKILL.md +1 -1
  24. package/templates/full/.roo/skills/productivity/caveman/SKILL.md +1 -1
  25. package/templates/full/.roo/skills/productivity/teach/SKILL.md +119 -119
  26. package/templates/full/.roomodes +3 -3
  27. /package/templates/claude-code/.claude/commands/{caveman.md → zoo-caveman.md} +0 -0
  28. /package/templates/claude-code/.claude/commands/{commit-and-document.md → zoo-commit-and-document.md} +0 -0
  29. /package/templates/claude-code/.claude/commands/{diagnose.md → zoo-diagnose.md} +0 -0
  30. /package/templates/claude-code/.claude/commands/{explore.md → zoo-explore.md} +0 -0
  31. /package/templates/claude-code/.claude/commands/{feature.md → zoo-feature.md} +0 -0
  32. /package/templates/claude-code/.claude/commands/{fix.md → zoo-fix.md} +0 -0
  33. /package/templates/claude-code/.claude/commands/{grill-me.md → zoo-grill-me.md} +0 -0
  34. /package/templates/claude-code/.claude/commands/{grill-with-docs.md → zoo-grill-with-docs.md} +0 -0
  35. /package/templates/claude-code/.claude/commands/{handoff.md → zoo-handoff.md} +0 -0
  36. /package/templates/claude-code/.claude/commands/{improve-codebase-architecture.md → zoo-improve-codebase-architecture.md} +0 -0
  37. /package/templates/claude-code/.claude/commands/{prototype.md → zoo-prototype.md} +0 -0
  38. /package/templates/claude-code/.claude/commands/{refactor.md → zoo-refactor.md} +0 -0
  39. /package/templates/claude-code/.claude/commands/{review.md → zoo-review.md} +0 -0
  40. /package/templates/claude-code/.claude/commands/{scaffold-context.md → zoo-scaffold-context.md} +0 -0
  41. /package/templates/claude-code/.claude/commands/{setup-matt-pocock-skills.md → zoo-setup-matt-pocock-skills.md} +0 -0
  42. /package/templates/claude-code/.claude/commands/{tdd.md → zoo-tdd.md} +0 -0
  43. /package/templates/claude-code/.claude/commands/{teach.md → zoo-teach.md} +0 -0
  44. /package/templates/claude-code/.claude/commands/{to-issues.md → zoo-to-issues.md} +0 -0
  45. /package/templates/claude-code/.claude/commands/{to-prd.md → zoo-to-prd.md} +0 -0
  46. /package/templates/claude-code/.claude/commands/{triage.md → zoo-triage.md} +0 -0
  47. /package/templates/claude-code/.claude/commands/{tweak.md → zoo-tweak.md} +0 -0
  48. /package/templates/claude-code/.claude/commands/{update-docs.md → zoo-update-docs.md} +0 -0
  49. /package/templates/claude-code/.claude/commands/{verify.md → zoo-verify.md} +0 -0
  50. /package/templates/claude-code/.claude/commands/{write-a-skill.md → zoo-write-a-skill.md} +0 -0
  51. /package/templates/claude-code/.claude/commands/{zoom-out.md → zoo-zoom-out.md} +0 -0
  52. /package/templates/full/.roo/commands/{caveman.md → zoo-caveman.md} +0 -0
  53. /package/templates/full/.roo/commands/{commit-and-document.md → zoo-commit-and-document.md} +0 -0
  54. /package/templates/full/.roo/commands/{diagnose.md → zoo-diagnose.md} +0 -0
  55. /package/templates/full/.roo/commands/{feature.md → zoo-feature.md} +0 -0
  56. /package/templates/full/.roo/commands/{fix.md → zoo-fix.md} +0 -0
  57. /package/templates/full/.roo/commands/{grill-me.md → zoo-grill-me.md} +0 -0
  58. /package/templates/full/.roo/commands/{grill-with-docs.md → zoo-grill-with-docs.md} +0 -0
  59. /package/templates/full/.roo/commands/{handoff.md → zoo-handoff.md} +0 -0
  60. /package/templates/full/.roo/commands/{improve-codebase-architecture.md → zoo-improve-codebase-architecture.md} +0 -0
  61. /package/templates/full/.roo/commands/{prototype.md → zoo-prototype.md} +0 -0
  62. /package/templates/full/.roo/commands/{refactor.md → zoo-refactor.md} +0 -0
  63. /package/templates/full/.roo/commands/{review.md → zoo-review.md} +0 -0
  64. /package/templates/full/.roo/commands/{tdd.md → zoo-tdd.md} +0 -0
  65. /package/templates/full/.roo/commands/{teach.md → zoo-teach.md} +0 -0
  66. /package/templates/full/.roo/commands/{to-issues.md → zoo-to-issues.md} +0 -0
  67. /package/templates/full/.roo/commands/{to-prd.md → zoo-to-prd.md} +0 -0
  68. /package/templates/full/.roo/commands/{triage.md → zoo-triage.md} +0 -0
  69. /package/templates/full/.roo/commands/{tweak.md → zoo-tweak.md} +0 -0
  70. /package/templates/full/.roo/commands/{verify.md → zoo-verify.md} +0 -0
  71. /package/templates/full/.roo/commands/{write-a-skill.md → zoo-write-a-skill.md} +0 -0
  72. /package/templates/full/.roo/commands/{zoom-out.md → zoo-zoom-out.md} +0 -0
package/bin/zoo-flow.js CHANGED
@@ -13,34 +13,34 @@ const claudeCodeTemplateRoot = path.join(packageRoot, "templates", "claude-code"
13
13
 
14
14
  const COMMAND_POLICY = {
15
15
  routed: {
16
- "tweak": "code-tweaker",
17
- "tdd": "code-tweaker",
18
- "update-docs": "code-tweaker",
19
- "commit-and-document": "code-tweaker",
20
- "prototype": "code-tweaker",
21
- "scaffold-context": "code-tweaker",
22
- "verify": "code-tweaker",
23
- "fix": "system-architect",
24
- "feature": "system-architect",
25
- "refactor": "system-architect",
26
- "explore": "system-architect",
27
- "triage": "system-architect",
28
- "review": "system-architect"
16
+ "zoo-tweak": "code-tweaker",
17
+ "zoo-tdd": "code-tweaker",
18
+ "zoo-update-docs": "code-tweaker",
19
+ "zoo-commit-and-document": "code-tweaker",
20
+ "zoo-prototype": "code-tweaker",
21
+ "zoo-scaffold-context": "code-tweaker",
22
+ "zoo-verify": "code-tweaker",
23
+ "zoo-fix": "system-architect",
24
+ "zoo-feature": "system-architect",
25
+ "zoo-refactor": "system-architect",
26
+ "zoo-explore": "system-architect",
27
+ "zoo-triage": "system-architect",
28
+ "zoo-review": "system-architect"
29
29
  },
30
30
  helpers: {
31
- "diagnose": "system-architect",
32
- "grill-with-docs": "system-architect",
33
- "improve-codebase-architecture": "system-architect",
34
- "to-prd": "system-architect",
35
- "to-issues": "system-architect",
36
- "zoom-out": "system-architect",
37
- "handoff": "system-architect",
38
- "grill-me": "system-architect",
39
- "write-a-skill": "code-tweaker",
40
- "setup-matt-pocock-skills": "code-tweaker",
41
- "teach": "code-tweaker"
31
+ "zoo-diagnose": "system-architect",
32
+ "zoo-grill-with-docs": "system-architect",
33
+ "zoo-improve-codebase-architecture": "system-architect",
34
+ "zoo-to-prd": "system-architect",
35
+ "zoo-to-issues": "system-architect",
36
+ "zoo-zoom-out": "system-architect",
37
+ "zoo-handoff": "system-architect",
38
+ "zoo-grill-me": "system-architect",
39
+ "zoo-write-a-skill": "code-tweaker",
40
+ "zoo-setup-matt-pocock-skills": "code-tweaker",
41
+ "zoo-teach": "code-tweaker"
42
42
  },
43
- modelessUtilities: ["caveman"]
43
+ modelessUtilities: ["zoo-caveman"]
44
44
  };
45
45
 
46
46
  const ALLOWED_COMMAND_MODES = new Set(["system-architect", "code-tweaker", "custom-orchestrator"]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fernado03/zoo-flow",
3
- "version": "0.11.3",
3
+ "version": "0.12.0",
4
4
  "description": "Structured workflow templates for AI coding assistants",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,18 +1,18 @@
1
- ---
2
- description: "Explore unfamiliar code before /feature, /refactor, or /fix. Produces written map."
3
- argument-hint: <feature or folder to map>
4
- mode: system-architect
5
- ---
6
-
7
- Explore unfamiliar code and produce a written map. Follow the skill exactly.
8
-
9
- Skill: `.roo/skills/engineering/zoom-out/SKILL.md`
10
-
11
- EXECUTION RULES:
12
- 1. READ `.zoo-flow/CONTEXT.md`. If it does not exist, output one line before step 2: "No CONTEXT.md found. Run /scaffold-context to fill, or continue without." Do not invent content.
13
- 2. OUTPUT MAP: Create markdown with sections: Domain language, Modules, Data flow, Seams/callers, ADRs, Open questions. Derive slug from the target area (e.g. "auth module" → `auth-module.md`). Write to `.scratch/explorations/<YYYY-MM-DD>/<slug>.md`.
14
- 3. WRITE POINTER: Write the exact file path to `.scratch/LAST-EXPLORATION.md` so next commands can find it.
15
- 4. NEXT STEPS: Suggest `/scaffold-context`, `/feature`, `/refactor`, or `/fix`. DO NOT auto-launch.
16
- 5. COMPLETION: Call `attempt_completion` with the exact file path, status, and recommended next command. Do NOT use `ask_followup_question` or write results as plain text.
17
-
18
- $ARGUMENTS
1
+ ---
2
+ description: "Explore unfamiliar code before /feature, /refactor, or /fix. Produces written map."
3
+ argument-hint: <feature or folder to map>
4
+ mode: system-architect
5
+ ---
6
+
7
+ Explore unfamiliar code and produce a written map. Follow the skill exactly.
8
+
9
+ Skill: `.roo/skills/engineering/zoom-out/SKILL.md`
10
+
11
+ EXECUTION RULES:
12
+ 1. READ `.zoo-flow/CONTEXT.md`. If it does not exist, output one line before step 2: "No CONTEXT.md found. Run /scaffold-context to fill, or continue without." Do not invent content.
13
+ 2. OUTPUT MAP: Create markdown with sections: Domain language, Modules, Data flow, Seams/callers, ADRs, Open questions. Derive slug from the target area (e.g. "auth module" → `auth-module.md`). Write to `.scratch/explorations/<YYYY-MM-DD>/<slug>.md`.
14
+ 3. WRITE POINTER: Write the exact file path to `.scratch/LAST-EXPLORATION.md` so next commands can find it.
15
+ 4. NEXT STEPS: Suggest `/scaffold-context`, `/feature`, `/refactor`, or `/fix`. DO NOT auto-launch.
16
+ 5. COMPLETION: Call `attempt_completion` with the exact file path, status, and recommended next command. Do NOT use `ask_followup_question` or write results as plain text.
17
+
18
+ $ARGUMENTS
@@ -1,16 +1,16 @@
1
- ---
2
- description: "Bootstrap .zoo-flow/CONTEXT.md (and 0-2 starter ADRs) for an existing project by scanning code for domain terms and cross-cutting decisions. Shows proposed entries inline and asks for confirm before writing. Use when starting Zoo Flow on a project with no CONTEXT.md, or to expand a thin one."
3
- argument-hint: <optional focus area, e.g. "auth", "billing", or empty for whole project>
4
- mode: code-tweaker
5
- ---
6
-
7
- Bootstrap .zoo-flow/CONTEXT.md for an existing project. Follow the skill exactly.
8
-
9
- Skill: `.roo/skills/engineering/scaffold-context/SKILL.md`
10
-
11
- EXECUTION RULES:
12
- 1. APPLY the slot discovery rule from `.roo/skills/engineering/grill-with-docs/CONTEXT-FORMAT.md` to find current CONTEXT.md, ADRs.
13
- 2. IF `.zoo-flow/CONTEXT.md` exists and is non-empty, ASK: skip / merge (default) / replace. Skip = do nothing. Merge = add only new terms, never overwrite. Replace = full rewrite from scan.
14
- 3. DO NOT auto-launch any follow-up commands.
15
-
16
- $ARGUMENTS
1
+ ---
2
+ description: "Bootstrap .zoo-flow/CONTEXT.md (and 0-2 starter ADRs) for an existing project by scanning code for domain terms and cross-cutting decisions. Shows proposed entries inline and asks for confirm before writing. Use when starting Zoo Flow on a project with no CONTEXT.md, or to expand a thin one."
3
+ argument-hint: <optional focus area, e.g. "auth", "billing", or empty for whole project>
4
+ mode: code-tweaker
5
+ ---
6
+
7
+ Bootstrap .zoo-flow/CONTEXT.md for an existing project. Follow the skill exactly.
8
+
9
+ Skill: `.roo/skills/engineering/scaffold-context/SKILL.md`
10
+
11
+ EXECUTION RULES:
12
+ 1. APPLY the slot discovery rule from `.roo/skills/engineering/grill-with-docs/CONTEXT-FORMAT.md` to find current CONTEXT.md, ADRs.
13
+ 2. IF `.zoo-flow/CONTEXT.md` exists and is non-empty, ASK: skip / merge (default) / replace. Skip = do nothing. Merge = add only new terms, never overwrite. Replace = full rewrite from scan.
14
+ 3. DO NOT auto-launch any follow-up commands.
15
+
16
+ $ARGUMENTS
@@ -1,8 +1,8 @@
1
- ---
2
- description: "Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `to-issues`, `to-prd`, or `triage` — or if those skills appear to be missing issue tracker, triage label, or domain-doc configuration."
3
- mode: code-tweaker
4
- ---
5
-
1
+ ---
2
+ description: "Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `to-issues`, `to-prd`, or `triage` — or if those skills appear to be missing issue tracker, triage label, or domain-doc configuration."
3
+ mode: code-tweaker
4
+ ---
5
+
6
6
  Skill: `.roo/skills/engineering/setup-matt-pocock-skills/SKILL.md`
7
-
8
- $ARGUMENTS
7
+
8
+ $ARGUMENTS
@@ -1,22 +1,22 @@
1
- ---
2
- description: "Update repo documentation so it matches the current code."
3
- argument-hint: <doc or area to update>
4
- mode: code-tweaker
5
- ---
6
-
7
- Update repo documentation so it matches the current code. Surgical edits only — read existing docs first, verify claims against code, never rewrite wholesale unless the existing doc is unsalvageable. Follow the skill exactly.
8
-
9
- Skill: `.roo/skills/engineering/update-docs/SKILL.md`
10
-
11
- Find the target doc in `.zoo-flow/` or `docs/`. If it does not exist, ask once: "No <doc> found. Create a stub at .zoo-flow/<doc>? (yes / pick-existing / skip)".
12
-
13
- Do NOT use this for:
14
-
15
- - Domain glossary terms — use `/grill-with-docs`
16
- - ADRs — use `/grill-with-docs` or `/refactor`
17
- - Local commit journal entries — use `/commit-and-document`
18
- - Read-only understanding — use `/explore`
19
-
20
- If `$ARGUMENTS` is empty, ask once: "Which documentation file or area should I update?"
21
-
22
- $ARGUMENTS
1
+ ---
2
+ description: "Update repo documentation so it matches the current code."
3
+ argument-hint: <doc or area to update>
4
+ mode: code-tweaker
5
+ ---
6
+
7
+ Update repo documentation so it matches the current code. Surgical edits only — read existing docs first, verify claims against code, never rewrite wholesale unless the existing doc is unsalvageable. Follow the skill exactly.
8
+
9
+ Skill: `.roo/skills/engineering/update-docs/SKILL.md`
10
+
11
+ Find the target doc in `.zoo-flow/` or `docs/`. If it does not exist, ask once: "No <doc> found. Create a stub at .zoo-flow/<doc>? (yes / pick-existing / skip)".
12
+
13
+ Do NOT use this for:
14
+
15
+ - Domain glossary terms — use `/grill-with-docs`
16
+ - ADRs — use `/grill-with-docs` or `/refactor`
17
+ - Local commit journal entries — use `/commit-and-document`
18
+ - Read-only understanding — use `/explore`
19
+
20
+ If `$ARGUMENTS` is empty, ask once: "Which documentation file or area should I update?"
21
+
22
+ $ARGUMENTS
@@ -44,25 +44,25 @@ Slash commands are internal routing labels unless the user explicitly typed one
44
44
 
45
45
  ## Routed commands
46
46
 
47
- | Workflow | Command | Mode |
48
- | -------------------- | ---------------------- | ---------------- |
49
- | small implementation | `/tweak` | code-tweaker |
50
- | test-first | `/tdd` | code-tweaker |
51
- | documentation update | `/update-docs` | code-tweaker |
52
- | commit and journal | `/commit-and-document` | code-tweaker |
53
- | prototype | `/prototype` | code-tweaker |
54
- | context scaffolding | `/scaffold-context` | code-tweaker |
55
- | diagnosis | `/fix` | system-architect |
56
- | feature planning | `/feature` | system-architect |
57
- | refactor planning | `/refactor` | system-architect |
58
- | exploration | `/explore` | system-architect |
59
- | issue triage | `/triage` | system-architect |
60
- | review | `/review` | system-architect |
61
- | verification | `/verify` | code-tweaker |
47
+ | Workflow | Command | Mode |
48
+ | -------------------- | ----------------------- | ---------------- |
49
+ | small implementation | `/zoo-tweak` | code-tweaker |
50
+ | test-first | `/zoo-tdd` | code-tweaker |
51
+ | documentation update | `/zoo-update-docs` | code-tweaker |
52
+ | commit and journal | `/zoo-commit-and-document` | code-tweaker |
53
+ | prototype | `/zoo-prototype` | code-tweaker |
54
+ | context scaffolding | `/zoo-scaffold-context` | code-tweaker |
55
+ | diagnosis | `/zoo-fix` | system-architect |
56
+ | feature planning | `/zoo-feature` | system-architect |
57
+ | refactor planning | `/zoo-refactor` | system-architect |
58
+ | exploration | `/zoo-explore` | system-architect |
59
+ | issue triage | `/zoo-triage` | system-architect |
60
+ | review | `/zoo-review` | system-architect |
61
+ | verification | `/zoo-verify` | code-tweaker |
62
62
 
63
63
  ## Routing decision guide
64
64
 
65
- 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.
65
+ Read intent, not keywords. Top-down: 1. unknown code area or unclear next move → `/zoo-explore`; 2. broken behavior with unknown cause → `/zoo-fix`; 3. new capability needing design, PRD, issue slicing, or phase gates → `/zoo-feature`; 4. working behavior but structure is the problem → `/zoo-refactor`; 5. small known low-risk change → `/zoo-tweak`; 6. clear behavior and interface, user wants tests first → `/zoo-tdd`; 7. throwaway design/state/UI uncertainty → `/zoo-prototype`; 8. docs drift from code → `/zoo-update-docs`; 9. finished work needs commit/journal → `/zoo-commit-and-document`; 10. issue creation, sorting, labels, or tracker workflow → `/zoo-triage`; 11. diff, branch, PR, standards, architecture, or pre-commit inspection → `/zoo-review`; 12. check if this passes, run tests for this change, verify the branch, or make sure nothing broke → `/zoo-verify`.
66
66
 
67
67
  ## Routing weight
68
68
 
@@ -78,7 +78,7 @@ Diagnosis vs small implementation: unknown cause → diagnosis; known cause →
78
78
 
79
79
  ## Confidence and presentation
80
80
 
81
- 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`.
81
+ 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. `/zoo-tweak`; 2. `/zoo-explore`.
82
82
 
83
83
  ## Approval gate
84
84
 
@@ -94,8 +94,8 @@ For non-trivial work, suggest the next command chain only after the current comm
94
94
 
95
95
  Recommended chains:
96
96
 
97
- - test-firstverification → review → commit and journal
98
- - diagnosisverification → review → commit and journal
99
- - refactor planning verification → review → commit and journal
100
- - feature planning verification → review → commit and journal
101
- - small implementation verification or review when risk is R3+
97
+ - `/zoo-tdd``/zoo-verify``/zoo-review``/zoo-commit-and-document`
98
+ - `/zoo-fix``/zoo-verify``/zoo-review``/zoo-commit-and-document`
99
+ - `/zoo-refactor``/zoo-verify``/zoo-review``/zoo-commit-and-document`
100
+ - `/zoo-feature``/zoo-verify``/zoo-review``/zoo-commit-and-document`
101
+ - `/zoo-tweak``/zoo-verify` or `/zoo-review` when risk is R3+
@@ -1,163 +1,163 @@
1
- ---
2
- name: commit-and-document
3
- description: Stage selected files, write a Conventional Commit, optionally link a GitHub issue, and append a dated journal entry under docs/journal/. Use when the user wants to commit work and capture a local record of what changed.
4
- ---
5
-
6
- # Commit and Document
7
-
8
- Deterministic flow. Execute steps in order; do not deviate.
9
-
10
- ## 1. Inspect git changes
11
-
12
- Run and read:
13
-
14
- - `git status --short`
15
- - `git diff --stat`
16
- - `git diff --cached --stat`
17
-
18
- Summarise: which files, what changed.
19
-
20
- If the working tree is clean, stop and report. Skip the rest.
21
-
22
- ## 2. Propose a Conventional Commit
23
-
24
- One-line message:
25
-
26
- ```
27
- <type>(<scope>): <short, action-focused summary>
28
- ```
29
-
30
- - **type**: `feat`, `fix`, `refactor`, `docs`, `chore`, `test`, `style`, `perf`
31
- - **scope**: area touched. Omit parens if unclear.
32
- - **summary**: imperative, present tense, under 70 chars, starts with a verb.
33
-
34
- Show: proposed message, files to stage, files excluded (tests, docs, secrets). Ask: "Commit with this message? (yes / edit / cancel)". On `edit`, accept the user's revised message verbatim and re-run detection (step 2.5) on it before proceeding. On `cancel`, stop and report.
35
-
36
- ## 2.5 Detect or ask for an issue reference
37
-
38
- Silent pre-checks first:
39
-
40
- 1. `git remote -v` → bail if no `github.com` remote.
41
- 2. `command -v gh` → bail if `gh` is not installed.
42
-
43
- Detection on the proposed message:
44
-
45
- - Closing keywords: `Closes/Close/Closed/Fixes/Fix/Fixed/Resolves/Resolve/Resolved #N` (case-insensitive)
46
- - Bare `#N` anywhere
47
-
48
- Branches:
49
-
50
- - **A — closing keyword present**: ask "After commit, comment on issue #N and close it? (yes / no)". `yes` → `{action: close, issue: N}`.
51
- - **B — bare `#N`**: ask "After commit, post a progress comment on issue #N? (yes / no / close)". Map to `comment` / `close` / none.
52
- - **C — no reference**: ask once "Is this commit related to a GitHub issue? (issue number / no / skip)". On a number, ask "Comment only or close after commit? (comment / close)". Anything non-numeric → none.
53
-
54
- Carry the result as `issue_action` (default `none`).
55
-
56
- ## 3. Stage and commit
57
-
58
- Stage explicit files with `git add <file>...` (never `git add .`). Exclude:
59
-
60
- - anything under `test/`, `tests/`, `__tests__/`, `spec/`, `specs/`
61
- - files matching `*.test.*`, `*.spec.*`, `test_*`, `*_test.*`
62
- - anything that looks like secrets (`.env`, credentials, tokens)
63
-
64
- Flag exclusions to the user.
65
-
66
- Commit with the approved message. Capture the short hash via `git rev-parse --short HEAD`.
67
-
68
- ## 3.5 Act on the issue reference
69
-
70
- If `issue_action` is `none`, skip.
71
-
72
- Otherwise build:
73
-
74
- ```
75
- > *This was generated by AI during commit.*
76
-
77
- Linked from commit `<short-hash>`: <commit subject>
78
- ```
79
-
80
- Run `gh issue comment <N> --body "<body>"`. If `action == close`, then run `gh issue close <N>` (never `--comment`; comment first).
81
-
82
- If either fails, report the error and continue. Do not abort. Do not close an issue you could not comment on.
83
-
84
- ## 4. Ensure docs/ is gitignored
85
-
86
- Read `.gitignore`. If no line matches `docs/`, append:
87
-
88
- ```
89
- # Local documentation — never committed
90
- docs/
91
- ```
92
-
93
- Do not commit the gitignore change. If the user accidentally staged anything under `docs/`, unstage it (`git restore --staged docs/<path>`) and warn.
94
-
95
- ## 5. Inspect existing docs/journal/
96
-
97
- List `docs/journal/` if present. If it uses a different date/file convention than the default below, follow its existing convention. Create the directory if missing.
98
-
99
- ## 6. Write a dated entry
100
-
101
- Date via `date +%Y-%m-%d`. Create `docs/journal/<YYYY-MM-DD>/` if missing. Write `<HH-MM>-<short-slug>.md` (kebab-case slug, 3–6 words from the summary). Template:
102
-
103
- ```md
104
- # <Commit summary>
105
-
106
- **Commit:** <full hash>
107
- **Short hash:** <short hash>
108
- **Date:** <YYYY-MM-DD HH:MM local time>
109
-
110
- ## What changed
111
-
112
- <2–4 sentences. Plain English, not a file list.>
113
-
114
- ## Why
115
-
116
- <1–3 sentences on motivation, pulled from conversation context.>
117
-
118
- ## Notes for future me
119
-
120
- <Gotchas/follow-ups, one paragraph max. Skip if nothing worth saying.>
121
- ```
122
-
123
- ## 7. Surface stale docs (if any)
124
-
125
- Read `git diff --cached --stat`. If any staged path overlaps with a path
126
- referenced in `.zoo-flow/CONTEXT.md`, output exactly one line
127
- before "Confirm":
128
-
129
- "Public surface may have drifted. Run /update-docs? (yes / skip)"
130
-
131
- On `yes` → suggest `/update-docs <area>`. On `skip` → continue.
132
-
133
- ## 8. Confirm
134
-
135
- Report: commit hash + message, journal entry path, whether `.gitignore` was updated, and any issue actions taken. Close with: "All of `docs/` is gitignored, so this entry stays local."
136
-
137
- ## Complete
138
-
139
- Call `attempt_completion` with:
140
- - commit hash (short)
141
- - journal entry path
142
- - status (complete / blocked with reason)
143
- - recommended next command
144
-
145
- Do NOT use `ask_followup_question` or write results as plain text without calling the tool.
146
-
147
- ## Context economy
148
-
149
- Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
150
-
151
- Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
152
-
153
- Read full files only when structure, ordering, or surrounding context is required for correctness.
154
-
155
- Do not re-read unchanged files; use prior findings unless the file changed.
156
-
157
- Use `git status --short`, `git diff --stat`, and targeted `git diff -- <file>` rather than dumping the full repo diff at once.
158
-
159
- ## Safety
160
-
161
- - Never `git push`, `--amend`, `--force`, or `reset --hard`.
162
- - Flag suspected secrets; do not stage them.
163
- - If `git status` is clean, abort early.
1
+ ---
2
+ name: commit-and-document
3
+ description: Stage selected files, write a Conventional Commit, optionally link a GitHub issue, and append a dated journal entry under docs/journal/. Use when the user wants to commit work and capture a local record of what changed.
4
+ ---
5
+
6
+ # Commit and Document
7
+
8
+ Deterministic flow. Execute steps in order; do not deviate.
9
+
10
+ ## 1. Inspect git changes
11
+
12
+ Run and read:
13
+
14
+ - `git status --short`
15
+ - `git diff --stat`
16
+ - `git diff --cached --stat`
17
+
18
+ Summarise: which files, what changed.
19
+
20
+ If the working tree is clean, stop and report. Skip the rest.
21
+
22
+ ## 2. Propose a Conventional Commit
23
+
24
+ One-line message:
25
+
26
+ ```
27
+ <type>(<scope>): <short, action-focused summary>
28
+ ```
29
+
30
+ - **type**: `feat`, `fix`, `refactor`, `docs`, `chore`, `test`, `style`, `perf`
31
+ - **scope**: area touched. Omit parens if unclear.
32
+ - **summary**: imperative, present tense, under 70 chars, starts with a verb.
33
+
34
+ Show: proposed message, files to stage, files excluded (tests, docs, secrets). Ask: "Commit with this message? (yes / edit / cancel)". On `edit`, accept the user's revised message verbatim and re-run detection (step 2.5) on it before proceeding. On `cancel`, stop and report.
35
+
36
+ ## 2.5 Detect or ask for an issue reference
37
+
38
+ Silent pre-checks first:
39
+
40
+ 1. `git remote -v` → bail if no `github.com` remote.
41
+ 2. `command -v gh` → bail if `gh` is not installed.
42
+
43
+ Detection on the proposed message:
44
+
45
+ - Closing keywords: `Closes/Close/Closed/Fixes/Fix/Fixed/Resolves/Resolve/Resolved #N` (case-insensitive)
46
+ - Bare `#N` anywhere
47
+
48
+ Branches:
49
+
50
+ - **A — closing keyword present**: ask "After commit, comment on issue #N and close it? (yes / no)". `yes` → `{action: close, issue: N}`.
51
+ - **B — bare `#N`**: ask "After commit, post a progress comment on issue #N? (yes / no / close)". Map to `comment` / `close` / none.
52
+ - **C — no reference**: ask once "Is this commit related to a GitHub issue? (issue number / no / skip)". On a number, ask "Comment only or close after commit? (comment / close)". Anything non-numeric → none.
53
+
54
+ Carry the result as `issue_action` (default `none`).
55
+
56
+ ## 3. Stage and commit
57
+
58
+ Stage explicit files with `git add <file>...` (never `git add .`). Exclude:
59
+
60
+ - anything under `test/`, `tests/`, `__tests__/`, `spec/`, `specs/`
61
+ - files matching `*.test.*`, `*.spec.*`, `test_*`, `*_test.*`
62
+ - anything that looks like secrets (`.env`, credentials, tokens)
63
+
64
+ Flag exclusions to the user.
65
+
66
+ Commit with the approved message. Capture the short hash via `git rev-parse --short HEAD`.
67
+
68
+ ## 3.5 Act on the issue reference
69
+
70
+ If `issue_action` is `none`, skip.
71
+
72
+ Otherwise build:
73
+
74
+ ```
75
+ > *This was generated by AI during commit.*
76
+
77
+ Linked from commit `<short-hash>`: <commit subject>
78
+ ```
79
+
80
+ Run `gh issue comment <N> --body "<body>"`. If `action == close`, then run `gh issue close <N>` (never `--comment`; comment first).
81
+
82
+ If either fails, report the error and continue. Do not abort. Do not close an issue you could not comment on.
83
+
84
+ ## 4. Ensure docs/ is gitignored
85
+
86
+ Read `.gitignore`. If no line matches `docs/`, append:
87
+
88
+ ```
89
+ # Local documentation — never committed
90
+ docs/
91
+ ```
92
+
93
+ Do not commit the gitignore change. If the user accidentally staged anything under `docs/`, unstage it (`git restore --staged docs/<path>`) and warn.
94
+
95
+ ## 5. Inspect existing docs/journal/
96
+
97
+ List `docs/journal/` if present. If it uses a different date/file convention than the default below, follow its existing convention. Create the directory if missing.
98
+
99
+ ## 6. Write a dated entry
100
+
101
+ Date via `date +%Y-%m-%d`. Create `docs/journal/<YYYY-MM-DD>/` if missing. Write `<HH-MM>-<short-slug>.md` (kebab-case slug, 3–6 words from the summary). Template:
102
+
103
+ ```md
104
+ # <Commit summary>
105
+
106
+ **Commit:** <full hash>
107
+ **Short hash:** <short hash>
108
+ **Date:** <YYYY-MM-DD HH:MM local time>
109
+
110
+ ## What changed
111
+
112
+ <2–4 sentences. Plain English, not a file list.>
113
+
114
+ ## Why
115
+
116
+ <1–3 sentences on motivation, pulled from conversation context.>
117
+
118
+ ## Notes for future me
119
+
120
+ <Gotchas/follow-ups, one paragraph max. Skip if nothing worth saying.>
121
+ ```
122
+
123
+ ## 7. Surface stale docs (if any)
124
+
125
+ Read `git diff --cached --stat`. If any staged path overlaps with a path
126
+ referenced in `.zoo-flow/CONTEXT.md`, output exactly one line
127
+ before "Confirm":
128
+
129
+ "Public surface may have drifted. Run /zoo-update-docs? (yes / skip)"
130
+
131
+ On `yes` → suggest `/zoo-update-docs <area>`. On `skip` → continue.
132
+
133
+ ## 8. Confirm
134
+
135
+ Report: commit hash + message, journal entry path, whether `.gitignore` was updated, and any issue actions taken. Close with: "All of `docs/` is gitignored, so this entry stays local."
136
+
137
+ ## Complete
138
+
139
+ Call `attempt_completion` with:
140
+ - commit hash (short)
141
+ - journal entry path
142
+ - status (complete / blocked with reason)
143
+ - recommended next command
144
+
145
+ Do NOT use `ask_followup_question` or write results as plain text without calling the tool.
146
+
147
+ ## Context economy
148
+
149
+ Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
150
+
151
+ Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
152
+
153
+ Read full files only when structure, ordering, or surrounding context is required for correctness.
154
+
155
+ Do not re-read unchanged files; use prior findings unless the file changed.
156
+
157
+ Use `git status --short`, `git diff --stat`, and targeted `git diff -- <file>` rather than dumping the full repo diff at once.
158
+
159
+ ## Safety
160
+
161
+ - Never `git push`, `--amend`, `--force`, or `reset --hard`.
162
+ - Flag suspected secrets; do not stage them.
163
+ - If `git status` is clean, abort early.
@@ -37,7 +37,7 @@ Rules:
37
37
 
38
38
  ## 3. Hypotheses (with working memory)
39
39
 
40
- Initialize session: `.scratch/diagnoses/<YYYY-MM-DD>/diagnose-<slug>/`
40
+ Initialize session: `.scratch/diagnoses/<YYYY-MM-DD>/zoo-diagnose-<slug>/`
41
41
 
42
42
  Write `<session-dir>/session.md` with symptom, repro steps, error signatures.
43
43
 
@@ -97,7 +97,7 @@ MUST finish:
97
97
  - [ ] `[DEBUG-...]` logs removed from source.
98
98
  - [ ] Throwaway harnesses deleted/moved.
99
99
  - [ ] Winning hypothesis stated in commit/PR.
100
- - [ ] Seam/locality blocker → recommend `/improve-codebase-architecture`.
100
+ - [ ] Seam/locality blocker → recommend `/zoo-improve-codebase-architecture`.
101
101
 
102
102
  Tweaker MUST `switch_mode` back to `system-architect` for Phase 7.
103
103
 
@@ -133,4 +133,4 @@ Call `attempt_completion` with:
133
133
  - root cause summary
134
134
  - fix applied
135
135
  - status
136
- - recommended next command (typically `/verify` then `/review` then `/commit-and-document`)
136
+ - recommended next command (typically `/zoo-verify` then `/zoo-review` then `/zoo-commit-and-document`)
@@ -16,7 +16,7 @@ description: Grilling session that challenges your plan against the existing dom
16
16
 
17
17
  ## Docs
18
18
 
19
- See `.roo/skills/engineering/grill-with-docs/CONTEXT-FORMAT.md` for layout and detection. Create docs lazily only when recording needed.
19
+ See `.roo/skills/engineering/zoo-grill-with-docs/CONTEXT-FORMAT.md` for layout and detection. Create docs lazily only when recording needed.
20
20
 
21
21
  ## Context economy
22
22
 
@@ -60,6 +60,6 @@ Call `attempt_completion` with:
60
60
  - candidates found (count and titles)
61
61
  - user selection (which candidate was chosen, if any)
62
62
  - status (complete / blocked with reason)
63
- - recommended next command (`/refactor` to implement the chosen candidate, or `/feature` if it requires PRD + issue slicing)
63
+ - recommended next command (`/zoo-refactor` to implement the chosen candidate, or `/zoo-feature` if it requires PRD + issue slicing)
64
64
 
65
65
  Do NOT use `ask_followup_question` or write results as plain text without calling the tool.