@fernado03/zoo-flow 0.11.2 → 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.
- package/bin/zoo-flow.js +25 -25
- package/package.json +1 -1
- package/templates/claude-code/.claude/skills/engineering/commit-and-document/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/diagnose/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/explore/SKILL.md +1 -1
- package/templates/claude-code/.claude/skills/engineering/feature/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/fix/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/grill-with-docs/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/improve-codebase-architecture/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/prototype/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/refactor/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/review/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/scaffold-context/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/setup-matt-pocock-skills/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/tdd/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/to-issues/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/to-prd/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/triage/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/tweak/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/update-docs/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/verify/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/engineering/zoom-out/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/productivity/grill-me/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/productivity/handoff/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/productivity/teach/SKILL.md +2 -1
- package/templates/claude-code/.claude/skills/productivity/write-a-skill/SKILL.md +2 -1
- package/templates/claude-code/CLAUDE.md +23 -0
- package/templates/full/.roo/commands/{explore.md → zoo-explore.md} +18 -18
- package/templates/full/.roo/commands/{scaffold-context.md → zoo-scaffold-context.md} +16 -16
- package/templates/full/.roo/commands/{setup-matt-pocock-skills.md → zoo-setup-matt-pocock-skills.md} +7 -7
- package/templates/full/.roo/commands/{update-docs.md → zoo-update-docs.md} +22 -22
- package/templates/full/.roo/rules-custom-orchestrator/00-routing.md +22 -22
- package/templates/full/.roo/skills/engineering/commit-and-document/SKILL.md +163 -163
- package/templates/full/.roo/skills/engineering/diagnose/SKILL.md +3 -3
- package/templates/full/.roo/skills/engineering/grill-with-docs/SKILL.md +1 -1
- package/templates/full/.roo/skills/engineering/improve-codebase-architecture/SKILL.md +1 -1
- package/templates/full/.roo/skills/engineering/prototype/SKILL.md +47 -47
- package/templates/full/.roo/skills/engineering/review/SKILL.md +7 -7
- package/templates/full/.roo/skills/engineering/scaffold-context/SKILL.md +228 -228
- package/templates/full/.roo/skills/engineering/setup-matt-pocock-skills/SKILL.md +2 -2
- package/templates/full/.roo/skills/engineering/tdd/SKILL.md +1 -1
- package/templates/full/.roo/skills/engineering/to-issues/SKILL.md +2 -2
- package/templates/full/.roo/skills/engineering/to-prd/SKILL.md +66 -66
- package/templates/full/.roo/skills/engineering/triage/SKILL.md +2 -2
- package/templates/full/.roo/skills/engineering/tweak/SKILL.md +1 -1
- package/templates/full/.roo/skills/engineering/update-docs/SKILL.md +76 -76
- package/templates/full/.roo/skills/engineering/verify/SKILL.md +2 -2
- package/templates/full/.roo/skills/engineering/zoom-out/SKILL.md +1 -1
- package/templates/full/.roo/skills/productivity/caveman/SKILL.md +1 -1
- package/templates/full/.roo/skills/productivity/teach/SKILL.md +119 -119
- package/templates/full/.roomodes +3 -3
- /package/templates/claude-code/.claude/commands/{caveman.md → zoo-caveman.md} +0 -0
- /package/templates/claude-code/.claude/commands/{commit-and-document.md → zoo-commit-and-document.md} +0 -0
- /package/templates/claude-code/.claude/commands/{diagnose.md → zoo-diagnose.md} +0 -0
- /package/templates/claude-code/.claude/commands/{explore.md → zoo-explore.md} +0 -0
- /package/templates/claude-code/.claude/commands/{feature.md → zoo-feature.md} +0 -0
- /package/templates/claude-code/.claude/commands/{fix.md → zoo-fix.md} +0 -0
- /package/templates/claude-code/.claude/commands/{grill-me.md → zoo-grill-me.md} +0 -0
- /package/templates/claude-code/.claude/commands/{grill-with-docs.md → zoo-grill-with-docs.md} +0 -0
- /package/templates/claude-code/.claude/commands/{handoff.md → zoo-handoff.md} +0 -0
- /package/templates/claude-code/.claude/commands/{improve-codebase-architecture.md → zoo-improve-codebase-architecture.md} +0 -0
- /package/templates/claude-code/.claude/commands/{prototype.md → zoo-prototype.md} +0 -0
- /package/templates/claude-code/.claude/commands/{refactor.md → zoo-refactor.md} +0 -0
- /package/templates/claude-code/.claude/commands/{review.md → zoo-review.md} +0 -0
- /package/templates/claude-code/.claude/commands/{scaffold-context.md → zoo-scaffold-context.md} +0 -0
- /package/templates/claude-code/.claude/commands/{setup-matt-pocock-skills.md → zoo-setup-matt-pocock-skills.md} +0 -0
- /package/templates/claude-code/.claude/commands/{tdd.md → zoo-tdd.md} +0 -0
- /package/templates/claude-code/.claude/commands/{teach.md → zoo-teach.md} +0 -0
- /package/templates/claude-code/.claude/commands/{to-issues.md → zoo-to-issues.md} +0 -0
- /package/templates/claude-code/.claude/commands/{to-prd.md → zoo-to-prd.md} +0 -0
- /package/templates/claude-code/.claude/commands/{triage.md → zoo-triage.md} +0 -0
- /package/templates/claude-code/.claude/commands/{tweak.md → zoo-tweak.md} +0 -0
- /package/templates/claude-code/.claude/commands/{update-docs.md → zoo-update-docs.md} +0 -0
- /package/templates/claude-code/.claude/commands/{verify.md → zoo-verify.md} +0 -0
- /package/templates/claude-code/.claude/commands/{write-a-skill.md → zoo-write-a-skill.md} +0 -0
- /package/templates/claude-code/.claude/commands/{zoom-out.md → zoo-zoom-out.md} +0 -0
- /package/templates/full/.roo/commands/{caveman.md → zoo-caveman.md} +0 -0
- /package/templates/full/.roo/commands/{commit-and-document.md → zoo-commit-and-document.md} +0 -0
- /package/templates/full/.roo/commands/{diagnose.md → zoo-diagnose.md} +0 -0
- /package/templates/full/.roo/commands/{feature.md → zoo-feature.md} +0 -0
- /package/templates/full/.roo/commands/{fix.md → zoo-fix.md} +0 -0
- /package/templates/full/.roo/commands/{grill-me.md → zoo-grill-me.md} +0 -0
- /package/templates/full/.roo/commands/{grill-with-docs.md → zoo-grill-with-docs.md} +0 -0
- /package/templates/full/.roo/commands/{handoff.md → zoo-handoff.md} +0 -0
- /package/templates/full/.roo/commands/{improve-codebase-architecture.md → zoo-improve-codebase-architecture.md} +0 -0
- /package/templates/full/.roo/commands/{prototype.md → zoo-prototype.md} +0 -0
- /package/templates/full/.roo/commands/{refactor.md → zoo-refactor.md} +0 -0
- /package/templates/full/.roo/commands/{review.md → zoo-review.md} +0 -0
- /package/templates/full/.roo/commands/{tdd.md → zoo-tdd.md} +0 -0
- /package/templates/full/.roo/commands/{teach.md → zoo-teach.md} +0 -0
- /package/templates/full/.roo/commands/{to-issues.md → zoo-to-issues.md} +0 -0
- /package/templates/full/.roo/commands/{to-prd.md → zoo-to-prd.md} +0 -0
- /package/templates/full/.roo/commands/{triage.md → zoo-triage.md} +0 -0
- /package/templates/full/.roo/commands/{tweak.md → zoo-tweak.md} +0 -0
- /package/templates/full/.roo/commands/{verify.md → zoo-verify.md} +0 -0
- /package/templates/full/.roo/commands/{write-a-skill.md → zoo-write-a-skill.md} +0 -0
- /package/templates/full/.roo/commands/{zoom-out.md → zoo-zoom-out.md} +0 -0
|
@@ -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.
|
|
@@ -1,47 +1,47 @@
|
|
|
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 (only after explicit user approval)/ADR/issue/`NOTES.md`; delete or fold into real code.
|
|
38
|
-
|
|
39
|
-
## Complete
|
|
40
|
-
|
|
41
|
-
Call `attempt_completion` with:
|
|
42
|
-
- question answered
|
|
43
|
-
- prototype location (`.scratch/prototypes/<slug>/` or real module path)
|
|
44
|
-
- outcome (absorbed / discarded / needs decision)
|
|
45
|
-
- recommended next command
|
|
46
|
-
|
|
47
|
-
Do NOT end the task with `ask_followup_question` or write results as plain text without calling the tool.
|
|
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 (only after explicit user approval)/ADR/issue/`NOTES.md`; delete or fold into real code.
|
|
38
|
+
|
|
39
|
+
## Complete
|
|
40
|
+
|
|
41
|
+
Call `attempt_completion` with:
|
|
42
|
+
- question answered
|
|
43
|
+
- prototype location (`.scratch/prototypes/<slug>/` or real module path)
|
|
44
|
+
- outcome (absorbed / discarded / needs decision)
|
|
45
|
+
- recommended next command
|
|
46
|
+
|
|
47
|
+
Do NOT end the task with `ask_followup_question` or write results as plain text without calling the tool.
|
|
@@ -41,7 +41,7 @@ Read relevant specs, issues, PRDs, standards, docs, ADRs, security notes, or pro
|
|
|
41
41
|
|
|
42
42
|
## 3. Review axes (multi-pass with working memory)
|
|
43
43
|
|
|
44
|
-
Initialize session: `.scratch/reviews/<YYYY-MM-DD>/review-<slug>/`
|
|
44
|
+
Initialize session: `.scratch/reviews/<YYYY-MM-DD>/zoo-review-<slug>/`
|
|
45
45
|
|
|
46
46
|
Write `<session-dir>/session.md` with review target, base ref, scope.
|
|
47
47
|
|
|
@@ -136,11 +136,11 @@ Do NOT use `ask_followup_question` or write results as plain text without callin
|
|
|
136
136
|
|
|
137
137
|
If fixes are needed, recommend one next command only:
|
|
138
138
|
|
|
139
|
-
- small fix -> `/tweak`
|
|
140
|
-
- behavior fix -> `/tdd`
|
|
141
|
-
- unknown cause -> `/fix`
|
|
142
|
-
- design issue -> `/refactor`
|
|
143
|
-
- ready for evidence -> `/verify`
|
|
144
|
-
- ready to commit -> `/commit-and-document`
|
|
139
|
+
- small fix -> `/zoo-tweak`
|
|
140
|
+
- behavior fix -> `/zoo-tdd`
|
|
141
|
+
- unknown cause -> `/zoo-fix`
|
|
142
|
+
- design issue -> `/zoo-refactor`
|
|
143
|
+
- ready for evidence -> `/zoo-verify`
|
|
144
|
+
- ready to commit -> `/zoo-commit-and-document`
|
|
145
145
|
|
|
146
146
|
Do not auto-launch any follow-up command.
|