@fernado03/zoo-flow 0.11.0 → 0.11.2

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 (45) hide show
  1. package/README.md +60 -5
  2. package/bin/zoo-flow.js +2 -4
  3. package/package.json +45 -55
  4. package/templates/claude-code/.claude/commands/explore.md +28 -0
  5. package/templates/claude-code/.claude/skills/in-progress/writing-beats/SKILL.md +32 -0
  6. package/templates/claude-code/.claude/skills/in-progress/writing-fragments/SKILL.md +45 -0
  7. package/templates/claude-code/.claude/skills/in-progress/writing-shape/SKILL.md +50 -0
  8. package/templates/claude-code/.claude/skills/misc/git-guardrails-claude-code/SKILL.md +64 -0
  9. package/templates/claude-code/.claude/skills/misc/git-guardrails-claude-code/scripts/block-dangerous-git.sh +25 -0
  10. package/templates/claude-code/.claude/skills/misc/migrate-to-shoehorn/SKILL.md +39 -0
  11. package/templates/claude-code/.claude/skills/misc/scaffold-exercises/SKILL.md +53 -0
  12. package/templates/claude-code/.claude/skills/misc/setup-pre-commit/SKILL.md +62 -0
  13. package/templates/claude-code/.claude/skills/personal/edit-article/SKILL.md +13 -0
  14. package/templates/claude-code/.claude/skills/personal/obsidian-vault/SKILL.md +39 -0
  15. package/docs/architecture.md +0 -380
  16. package/docs/bloat-control.md +0 -49
  17. package/docs/command-design.md +0 -38
  18. package/docs/command-flow.md +0 -133
  19. package/docs/comparison.md +0 -86
  20. package/docs/context-packs.md +0 -35
  21. package/docs/dogfood/01-small-library.md +0 -28
  22. package/docs/dogfood/02-web-app.md +0 -29
  23. package/docs/dogfood/03-mixed-monorepo.md +0 -29
  24. package/docs/mode-rules.md +0 -86
  25. package/docs/npm-publishing.md +0 -79
  26. package/docs/out-of-scope/mainstream-issue-trackers-only.md +0 -25
  27. package/docs/out-of-scope/question-limits.md +0 -18
  28. package/docs/out-of-scope/setup-skill-verify-mode.md +0 -15
  29. package/docs/overview.md +0 -61
  30. package/docs/philosophy.md +0 -73
  31. package/docs/quality-scorecard.md +0 -23
  32. package/docs/skill-maintenance.md +0 -32
  33. package/docs/skills-index.md +0 -64
  34. package/docs/team-mode.md +0 -46
  35. package/docs/token-budget.md +0 -22
  36. package/docs/troubleshooting.md +0 -288
  37. package/examples/demo-transcripts/01-small-tweak.md +0 -37
  38. package/examples/demo-transcripts/02-unknown-bug-fix.md +0 -37
  39. package/examples/demo-transcripts/03-new-feature.md +0 -37
  40. package/examples/demo-transcripts/04-refactor.md +0 -37
  41. package/examples/demo-transcripts/05-review-and-verify.md +0 -37
  42. package/examples/feature-flow.md +0 -117
  43. package/examples/fix-flow.md +0 -139
  44. package/quality/scorecard.json +0 -88
  45. package/quality/token-budget.exceptions.json +0 -13
@@ -1,35 +0,0 @@
1
- # Context Packs
2
-
3
- Context packs are optional reusable groups of documentation, rules,
4
- commands, and skills that can be layered on top of Zoo Flow for
5
- specific project needs.
6
-
7
- ## When to use
8
-
9
- - A project needs specialized workflow patterns (e.g., writing
10
- workflows, database migrations, CI/CD).
11
- - A team wants to share a common set of conventions across repos.
12
- - A user wants optional extras without modifying core Zoo Flow files.
13
-
14
- ## How it works
15
-
16
- Context packs live under `.roo/templates/context-packs/`. Each pack is a
17
- directory with its own `manifest.json` declaring what it adds.
18
-
19
- The `/scaffold-context` command detects candidate packs based on project
20
- shape and offers them as optional additions.
21
-
22
- ## Built-in candidate packs
23
-
24
- These are templates evaluated by `/scaffold-context` but never applied
25
- without user confirmation:
26
-
27
- - **Writing patterns** — shapes, beats, fragments for content projects
28
- - **ADR starter** — minimal ADR template and convention
29
- - **Setup docs** — setup conventions beyond the boiletplate
30
-
31
- ## Quality gate
32
-
33
- Context packs must follow the same quality rules as core Zoo Flow:
34
- canonical `Skill:` markers, correct mode declarations, no built-in
35
- delegation. They are validated by `doctor`.
@@ -1,28 +0,0 @@
1
- # Dogfood Report: Small Library
2
-
3
- **Date:** YYYY-MM-DD
4
- **Project shape:** library (npm package, ~2K LOC, 10 exports)
5
- **Zoo Flow version:** 0.7.0
6
-
7
- ## Commands tested
8
-
9
- - `/scaffold-context` — should detect library shape, propose 5-8 domain terms, 0-1 ADRs
10
- - `/verify` — should detect package.json, run npm test
11
- - `/commit-and-document` — should stage, commit, write journal entry
12
-
13
- ## What Zoo Flow routed correctly
14
-
15
-
16
- ## What it over-read
17
-
18
-
19
- ## What it tried to create unnecessarily
20
-
21
-
22
- ## Token budget impact
23
-
24
-
25
- ## Fixes made to Zoo Flow
26
-
27
-
28
- ## Remaining risk
@@ -1,29 +0,0 @@
1
- # Dogfood Report: Web App
2
-
3
- **Date:** YYYY-MM-DD
4
- **Project shape:** web app (Next.js, auth, payments, ~20K LOC)
5
- **Zoo Flow version:** 0.7.0
6
-
7
- ## Commands tested
8
-
9
- - `/feature` — new payment flow with phase gates
10
- - `/fix` — checkout crash diagnosis
11
- - `/review` — branch review with Security/Risk axis
12
- - `/verify` — targeted test run
13
-
14
- ## What Zoo Flow routed correctly
15
-
16
-
17
- ## What it over-read
18
-
19
-
20
- ## What it tried to create unnecessarily
21
-
22
-
23
- ## Token budget impact
24
-
25
-
26
- ## Fixes made to Zoo Flow
27
-
28
-
29
- ## Remaining risk
@@ -1,29 +0,0 @@
1
- # Dogfood Report: Mixed Monorepo
2
-
3
- **Date:** YYYY-MM-DD
4
- **Project shape:** monorepo (apps/web, services/api, workers/billing, packages/core)
5
- **Zoo Flow version:** 0.7.0
6
-
7
- ## Commands tested
8
-
9
- - `/scaffold-context` — should detect monorepo shape, propose MONOREPO_MAP.md as recommended
10
- - `/explore` — should map unfamiliar sub-package
11
- - `/refactor` — should plan cross-package design change
12
- - `/tweak` — should handle localized change in one package
13
-
14
- ## What Zoo Flow routed correctly
15
-
16
-
17
- ## What it over-read
18
-
19
-
20
- ## What it tried to create unnecessarily
21
-
22
-
23
- ## Token budget impact
24
-
25
-
26
- ## Fixes made to Zoo Flow
27
-
28
-
29
- ## Remaining risk
@@ -1,86 +0,0 @@
1
- # Mode-specific rules
2
-
3
- Zoo Flow uses three rule scopes, each loaded by Zoo Code automatically:
4
-
5
- - `.roo/rules/` — loaded for **every** mode, every turn.
6
- - `.roo/rules-{modeSlug}/` — loaded **only** when that mode is active.
7
- - `.roo/skills/` — **on-demand**, loaded by slash commands. Never auto-loaded.
8
-
9
- > Zoo Flow uses the preferred `.roo/rules-{modeSlug}/` directory form
10
- > only. Legacy single-file fallbacks such as `.roorules-{modeSlug}` and
11
- > `.clinerules-{modeSlug}` are not used by this template.
12
-
13
- Mode-specific behavior lives in dedicated folders under `.roo/`:
14
-
15
- - `.roo/rules-custom-orchestrator/` — routing rules and the delegation
16
- message contract for the orchestrator.
17
- - `.roo/rules-system-architect/` — scope, feature-prototype handoff, and
18
- completion rules for the architect.
19
- - `.roo/rules-code-tweaker/` — scope and completion rules for the
20
- tweaker, including the git hard stop.
21
-
22
- Files inside these folders are short on purpose. They are concatenated
23
- into the model's context every turn the matching mode is active, so each
24
- extra paragraph costs tokens for the entire session.
25
-
26
- ## What belongs in a mode rules folder
27
-
28
- - Standing instructions specific to that mode's job (e.g. "the architect
29
- cannot edit application source").
30
- - Short hard stops (e.g. "halt for explicit user approval before
31
- publishing issues").
32
- - Pointers to global rules the mode must follow.
33
-
34
- ## What does NOT belong here
35
-
36
- - **On-demand skills.** Those live under `.roo/skills/` and are loaded
37
- explicitly by slash commands.
38
- - **Workspace-wide always-on rules** that apply to every mode. Those
39
- stay in `.roo/rules/`.
40
- - **Long policy or knowledge files.** If a policy is long enough to need
41
- multiple paragraphs of explanation, write it under `docs/` and
42
- reference it from the rule. The mode rule should be a short reminder,
43
- not a full essay.
44
- - **Duplicates of the global command protocol or path safety.** Those
45
- live in `.roo/rules/01-command-protocol.md` and
46
- `.roo/rules/00-paths.md` respectively.
47
-
48
- ## Why `.roomodes` is intentionally minimal
49
-
50
- Each `customInstructions` block in `.roomodes` is loaded with the mode
51
- metadata. Putting detailed behavior there duplicates what already lives
52
- in `.roo/rules-{modeSlug}/`, costs tokens twice, and creates two places
53
- to keep in sync.
54
-
55
- The current `.roomodes` keeps four things per mode:
56
-
57
- 1. `slug`, `name`, `roleDefinition`, `whenToUse`, `description`,
58
- `groups` — these can't move.
59
- 2. A short `customInstructions` that:
60
- - points at the matching `.roo/rules-{modeSlug}/` folder,
61
- - lists permitted routed commands and permitted direct helper commands
62
- (or the routing matrix, for the orchestrator),
63
- - references the global rules it calls out directly (`00-paths.md`,
64
- `01-command-protocol.md`, `03-manual-reply-protocol.md`). Other
65
- global rules, such as `02-three-failure-rule.md` and
66
- `04-context-economy.md`, are loaded automatically from
67
- `.roo/rules/`.
68
- - says what to do if an unsupported command is assigned.
69
-
70
- Documented helper commands must have `mode:` frontmatter unless they are
71
- explicitly modeless utilities such as `/caveman`.
72
-
73
- Everything else lives in the mode rules folder.
74
-
75
- ## Related directories
76
-
77
- - [`.roo/rules/`](../templates/full/.roo/rules/) — always-on rules for **all** modes.
78
- - [`.roo/skills/`](../templates/full/.roo/skills/) — on-demand skills, invoked by slash commands.
79
- - [`.roo/commands/`](../templates/full/.roo/commands/) — slash command definitions
80
- (e.g. `/tweak`, `/fix`).
81
- - [`.roo/rules-custom-orchestrator/`](../templates/full/.roo/rules-custom-orchestrator/) —
82
- router-only rules.
83
- - [`.roo/rules-system-architect/`](../templates/full/.roo/rules-system-architect/) —
84
- architect rules.
85
- - [`.roo/rules-code-tweaker/`](../templates/full/.roo/rules-code-tweaker/) —
86
- tweaker rules.
@@ -1,79 +0,0 @@
1
- # npm Publishing
2
-
3
- Zoo Flow is published as a CLI installer.
4
-
5
- ## Package name
6
-
7
- ```text
8
- @fernado03/zoo-flow
9
- ```
10
-
11
- ## Local validation
12
-
13
- ```bash
14
- npm run release:check
15
- ```
16
-
17
- ## Publish
18
-
19
- ```bash
20
- npm login
21
- npm publish --access public
22
- ```
23
-
24
- ## Test install after publish
25
-
26
- From a separate test project:
27
-
28
- ```bash
29
- npx @fernado03/zoo-flow@latest init
30
- ```
31
-
32
- If the project already has `.roomodes` or `.roo/`, test:
33
-
34
- ```bash
35
- npx @fernado03/zoo-flow@latest init --force
36
- ```
37
-
38
- ## Test update after publish
39
-
40
- From a temporary directory:
41
-
42
- ```bash
43
- tmpdir="$(mktemp -d)"
44
- cd "$tmpdir"
45
-
46
- npx @fernado03/zoo-flow@latest init
47
- npx @fernado03/zoo-flow@latest update --dry-run
48
- npx @fernado03/zoo-flow@latest update
49
-
50
- test -f .roomodes
51
- test -d .roo
52
- test -d .zoo-flow-backup
53
- ```
54
-
55
- ## What ships in the package
56
-
57
- The `files` field in `package.json` controls what npm publishes:
58
-
59
- - `bin/` — the CLI entry point
60
- - `scripts/` — validation and release checks
61
- - `templates/` — the runtime template (`.roomodes` and `.roo/`)
62
- - `docs/` — product documentation linked from the README
63
- - `examples/` — worked examples linked from the README
64
- - `README.md`
65
- - `LICENSE`
66
-
67
- `node_modules/`, `.git/`, `.scratch/`, backups, and generated tarballs are not shipped.
68
-
69
- ## Versioning
70
-
71
- Bump `version` in `package.json` before each publish, following
72
- [Semantic Versioning](https://semver.org/):
73
-
74
- - patch: bug fixes in the CLI or template content
75
- - minor: new commands, new modes, new skills
76
- - major: breaking changes to mode slugs, command names, or routing
77
-
78
- Update `CHANGELOG.md` under `## [Unreleased]` with the change, then
79
- move it under a new versioned section when you publish.
@@ -1,25 +0,0 @@
1
- # Issue tracker integrations are limited to mainstream tools
2
-
3
- `setup-matt-pocock-skills` only offers first-class support for **mainstream** issue trackers. Requests to add support for niche, new, or single-vendor experimental trackers are out of scope.
4
-
5
- ## Why this is out of scope
6
-
7
- Every issue-tracker backend hard-codes a CLI shape into the skills (commands, flags, output parsing). Each new backend is permanent maintenance surface — it has to keep working as the tool's CLI evolves, and it has to keep being tested against `/to-prd`, `/to-issues`, `/triage`, and friends. That cost is only worth paying for trackers a meaningful fraction of users actually have.
8
-
9
- "Mainstream" is a judgment call, not a numeric bar:
10
-
11
- - GitHub, GitLab, and Backlog.md are the kind of tools we'd consider mainstream — broadly known, widely used, well past the experimental phase.
12
- - A brand-new agent-focused tool with a few hundred GitHub stars is not, no matter how interesting the design.
13
-
14
- Stars, age, and download counts are useful signals when making the call but none of them is the rule. The rule is: would a typical engineer recognise this tool and have plausibly chosen it for their team?
15
-
16
- The escape hatches for non-mainstream trackers already exist:
17
-
18
- - `local markdown` for lightweight in-repo tracking.
19
- - `other/custom` for users who want to wire something up themselves.
20
-
21
- Neither requires the core skills to know about the specific tool.
22
-
23
- ## Prior requests
24
-
25
- - #99 — "Add dex as an issue tracker backend" (dex was ~3 months old and ~300 stars at the time of the request)
@@ -1,18 +0,0 @@
1
- # Hard limits on the number of questions during grilling
2
-
3
- The `/grill-me` skill (and grilling sessions inside other skills) does not enforce a maximum number of questions. Requests to add a configurable cap or hard ceiling are out of scope.
4
-
5
- ## Why this is out of scope
6
-
7
- Grilling is intentionally open-ended. The point is to keep digging until each branch of the decision tree is resolved — some plans need three questions, some need fifty. A fixed cap would either cut off useful exploration on hard problems or feel arbitrary on easy ones.
8
-
9
- If a session feels too long, the right escape hatches already exist:
10
-
11
- - The user can stop the session at any time and accept the current state of the plan.
12
- - The user can tell the model to wrap up, summarise, and move on — natural-language steering is the intended control surface, not a numeric limit.
13
-
14
- Adding a hard cap would also conflate two different failure modes: a model that asks too many questions because the plan is genuinely under-specified (working as intended) vs. a model that asks redundant or low-value questions (a prompt-quality issue, not a quantity issue). The fix for the latter belongs in the skill prompt, not in a counter.
15
-
16
- ## Prior requests
17
-
18
- - #44 — "Codex just asked me 200 questions"
@@ -1,15 +0,0 @@
1
- # Verify/Check Mode for `setup-matt-pocock-skills`
2
-
3
- This project will not add a dedicated verify/check mode (or a separate verify skill) for `setup-matt-pocock-skills`.
4
-
5
- ## Why this is out of scope
6
-
7
- A second skill — or a `--verify` flag — for checking whether `docs/agents/*.md` artifacts still match the seed-template schema would duplicate work the existing setup skill already handles in conversation.
8
-
9
- The intended workflow is: **run `/setup-matt-pocock-skills` and tell it to verify your current setup.** The skill is prompt-driven, so the maintainer can scope it to a verification pass ("don't rewrite anything, just check my existing files against the current seed templates and report drift") without needing a separate code path. Adding a flag or a sibling skill would split the surface area of a feature that's already expressible through the natural-language entry point.
10
-
11
- Keeping configuration management to a single skill also avoids the maintenance cost of two skills drifting from each other when seed templates evolve.
12
-
13
- ## Prior requests
14
-
15
- - #106 — Feature request: verify/check mode for setup-matt-pocock-skills
package/docs/overview.md DELETED
@@ -1,61 +0,0 @@
1
- # Overview
2
-
3
- Zoo Flow is a small, opinionated template that turns
4
- [Zoo Code](https://docs.zoocode.dev/) into a predictable mode +
5
- command + skill orchestrator. It defines three modes, a fixed routing
6
- matrix, a command protocol, and path-safety rules. Drop it into a
7
- workspace and your AI assistant stops freelancing.
8
-
9
- ## Why this exists
10
-
11
- Out of the box, AI coding assistants tend to skip planning when you
12
- want planning, plan when you want a tweak, and quietly invent file
13
- paths that do not exist. Adding a pile of skills makes it worse.
14
-
15
- Zoo Flow takes a different bet:
16
-
17
- - A **router mode** chooses the workflow.
18
- - An **architect mode** plans, diagnoses, and triages — and cannot
19
- edit source code.
20
- - A **tweaker mode** implements, runs tests, prototypes, and commits —
21
- only when explicitly approved.
22
- - A small set of **slash commands** acts as the public API between
23
- you and the modes. Free-form requests go through the orchestrator;
24
- typing a slash command jumps straight to its configured mode.
25
- - A few **always-on rules** keep the path layout honest and stop
26
- skill paths from drifting under `.roo/rules/`.
27
-
28
- Everything else is optional. The skills bundled in the template are a
29
- sensible starting point, not the point of the project.
30
-
31
- ## Core workflow
32
-
33
- ```mermaid
34
- flowchart TD
35
- User([User])
36
- Orchestrator[🪃 custom-orchestrator<br/>router only]
37
- Architect[🏗️ system-architect<br/>plan / diagnose / triage<br/>Markdown edits only]
38
- Tweaker[⚡ code-tweaker<br/>implement / test / prototype / commit]
39
-
40
- User -- "free-form request" --> Orchestrator
41
- Orchestrator -- "proposes /command, waits" --> User
42
- User -- "/tweak, /tdd, /update-docs,<br/>/commit-and-document, /prototype, /verify" --> Orchestrator
43
- User -- "/fix, /feature, /refactor,<br/>/explore, /triage, /review" --> Orchestrator
44
-
45
- Orchestrator -- "new_task" --> Tweaker
46
- Orchestrator -- "new_task" --> Architect
47
-
48
- Architect -- "switch_mode (same window)" --> Tweaker
49
- Tweaker -- "switch_mode (same window)" --> Architect
50
-
51
- Tweaker -- "attempt_completion" --> Orchestrator
52
- Architect -- "attempt_completion" --> Orchestrator
53
- Orchestrator -- "summarize, HALT" --> User
54
- ```
55
-
56
- For the deeper "why", see [`philosophy.md`](philosophy.md). For the
57
- component-level reference, see [`architecture.md`](architecture.md).
58
-
59
- For non-trivial work, the normal endgame is implementation, then
60
- `/verify`, then `/review`, then `/commit-and-document`. These are
61
- recommendations only; Zoo Flow does not auto-run follow-up commands.
@@ -1,73 +0,0 @@
1
- # Philosophy
2
-
3
- Zoo Flow is built around a small number of opinions. They are listed here so
4
- you can decide whether the template is a good fit before you adopt it.
5
-
6
- ## 1. The router should not write code
7
-
8
- Most failure modes in agentic coding come from a single agent trying to do
9
- three jobs at once: deciding what to do, planning how to do it, and doing
10
- it. Zoo Flow splits those into three modes and refuses to collapse them.
11
-
12
- - `custom-orchestrator` decides **what** to do, by mapping a request to a
13
- command from a fixed routing matrix.
14
- - `system-architect` decides **how** to do it, in Markdown.
15
- - `code-tweaker` does it.
16
-
17
- The orchestrator has no `read`, `edit`, `command`, or `mcp` tool groups.
18
- It cannot freelance into implementation work even if it wants to.
19
-
20
- ## 2. Slash commands are the public API
21
-
22
- Free-form requests are fine, but the moment work starts, it goes through a
23
- slash command. Commands are the only way the orchestrator delegates and
24
- the only way modes know which workflow they are running.
25
-
26
- This has two payoffs:
27
-
28
- - A command name in chat is a checkable artifact. You can grep your history
29
- for `/fix` or `/feature` and know exactly which workflow ran.
30
- - Each command file is a single, readable place to change behavior. No
31
- hunting through prompts.
32
-
33
- Commands live at `templates/full/.roo/commands/{command}.md` and are loaded
34
- through the protocol described in
35
- [`architecture.md`](architecture.md#command-protocol).
36
-
37
- ## 3. Path safety beats cleverness
38
-
39
- Skills always live at `templates/full/.roo/skills/{bucket}/{skill}/SKILL.md`.
40
- Never under `.roo/rules/`. Never relative to the command file. Never invented
41
- by the model.
42
-
43
- This is enforced by `00-paths.md`, which ships as an always-on rule. If a
44
- skill path drifts, the rule catches it. The cost is one rule file. The
45
- benefit is no more `ENOENT` rabbit holes.
46
-
47
- ## 4. Same-window switches for tight loops, `new_task` for clean boundaries
48
-
49
- There are two delegation primitives in Zoo Code:
50
-
51
- - `switch_mode` keeps the same task window and hands the keyboard to a
52
- different mode. Cheap. Good for `/fix` going architect → tweaker → architect.
53
- - `new_task` opens a delegated subtask with its own window. Expensive. Good
54
- for orchestrator handing real work to architect or tweaker.
55
-
56
- Zoo Flow uses both, deliberately. The orchestrator only ever uses
57
- `new_task`. Modes only ever use `switch_mode`. They never cross.
58
-
59
- ## 5. HITL hard stops are features
60
-
61
- Several commands force a halt. `/feature` halts after sharpening, after
62
- prototype, after PRD, after issues. `/fix` halts after diagnosis. The git
63
- flow halts before commit. These are not friction; they are the points
64
- where a human review is cheaper than a rollback.
65
-
66
- ## 6. The skill set is replaceable
67
-
68
- The bundled skills are a starting point. You should expect to delete some,
69
- add some, and rename a bucket. The control plane — modes, commands, rules —
70
- is the part that should be stable.
71
-
72
- If a skill cannot be invoked through a command, it does not belong in the
73
- template.
@@ -1,23 +0,0 @@
1
- # Quality Scorecard
2
-
3
- Zoo Flow uses a deterministic rule-based quality scorecard to gate releases. Every
4
- category must score >= 9.5/10 for `release:check` to pass.
5
-
6
- ## Categories
7
-
8
- | Category | Weight | What it measures |
9
- |---|---|---|
10
- | command_integrity | 20% | Every command has a correct `mode:` declaration matching the command-policy map. Required rules exist. Routing table is in sync. |
11
- | skill_quality | 20% | Skills use canonical `Skill:` marker. Referenced skills exist. Skills have purpose, steps, and output format. No thin wrappers. Bucket layout. |
12
- | validation_depth | 20% | Doctor validates files, skill refs, mode slugs, built-in bans, .roomodes permission, routing rows, old-doc leakage, ADR path consistency. |
13
- | token_economy | 10% | Context-economy rule exists. Domain-doc read gate. Completion evidence format. Risk-based routing. |
14
- | verification | 10% | Verify command + skill with evidence output and no-claim-unless-run rule. Fixture tests. Routing evals. Package-link check. |
15
- | review_process | 10% | Review command + skill with standards/spec/Security-Risk axes. Severity-ordered findings. Canonical result line. |
16
- | release_readiness | 10% | `release:check` runs all validation scripts. Score thresholds enforced. `npm pack --dry-run` passes. |
17
-
18
- ## How scoring works
19
-
20
- - Each category defines specific checks (see `quality/scorecard.json`).
21
- - Each check is pass/fail. Missing items reduce the category score toward 0.
22
- - The weighted composite score must be >= 9.5 for `npm run release:check` to pass.
23
- - Scoring is fully deterministic — no AI grading, no subjective evaluation.
@@ -1,32 +0,0 @@
1
- # Skill maintenance policy
2
-
3
- This is repo-maintenance policy for the bundled skill set. It does not
4
- need to be in the model's context on every turn, so it lives in `docs/`
5
- rather than `.roo/rules/`. The runtime path-safety contract is in
6
- [`templates/full/.roo/rules/00-paths.md`](../templates/full/.roo/rules/00-paths.md).
7
-
8
- ## Skill bucket layout
9
-
10
- Skills are organized into bucket folders under `.roo/skills/`:
11
-
12
- - `.roo/skills/engineering/` — daily code work
13
- - `.roo/skills/productivity/` — daily non-code workflow tools
14
- - `.roo/skills/misc/` — kept around but rarely used
15
- - `.roo/skills/personal/` — tied to a maintainer's setup, not promoted
16
- - `.roo/skills/in-progress/` — drafts not yet ready to ship
17
- - `.roo/skills/deprecated/` — no longer used
18
-
19
- ## Promotion rules
20
-
21
- Skills in `.roo/skills/personal/`, `.roo/skills/in-progress/`, and
22
- `.roo/skills/deprecated/` must not appear in the top-level `README.md`
23
- as promoted skills. They may appear in internal indexes only when
24
- clearly marked as personal, in-progress, or deprecated.
25
-
26
- Every skill in `.roo/skills/engineering/`, `.roo/skills/productivity/`,
27
- or `.roo/skills/misc/` must have a reference in the top-level
28
- `README.md`.
29
-
30
- Each bucket folder has a `README.md` that lists every skill in the
31
- bucket with a one-line description, with the skill name linked to its
32
- `SKILL.md`.
@@ -1,64 +0,0 @@
1
- # Skills Index
2
-
3
- This is human-facing reference documentation for Zoo Flow skills.
4
-
5
- It is intentionally kept outside `.roo/rules/` because Zoo Code loads
6
- `.roo/rules/` automatically on every turn.
7
-
8
- Commands load skills directly from explicit `.roo/skills/.../SKILL.md`
9
- paths, so this index is not required for runtime execution.
10
-
11
- ## engineering
12
-
13
- | Skill | Path |
14
- |---|---|
15
- | `commit-and-document` | `.roo/skills/engineering/commit-and-document/SKILL.md` |
16
- | `diagnose` | `.roo/skills/engineering/diagnose/SKILL.md` |
17
- | `grill-with-docs` | `.roo/skills/engineering/grill-with-docs/SKILL.md` |
18
- | `improve-codebase-architecture` | `.roo/skills/engineering/improve-codebase-architecture/SKILL.md` |
19
- | `prototype` | `.roo/skills/engineering/prototype/SKILL.md` |
20
- | `review` | `.roo/skills/engineering/review/SKILL.md` |
21
- | `scaffold-context` | `.roo/skills/engineering/scaffold-context/SKILL.md` |
22
- | `setup-matt-pocock-skills` | `.roo/skills/engineering/setup-matt-pocock-skills/SKILL.md` |
23
- | `tdd` | `.roo/skills/engineering/tdd/SKILL.md` |
24
- | `to-issues` | `.roo/skills/engineering/to-issues/SKILL.md` |
25
- | `to-prd` | `.roo/skills/engineering/to-prd/SKILL.md` |
26
- | `triage` | `.roo/skills/engineering/triage/SKILL.md` |
27
- | `tweak` | `.roo/skills/engineering/tweak/SKILL.md` |
28
- | `update-docs` | `.roo/skills/engineering/update-docs/SKILL.md` |
29
- | `verify` | `.roo/skills/engineering/verify/SKILL.md` |
30
- | `zoom-out` | `.roo/skills/engineering/zoom-out/SKILL.md` |
31
-
32
- ## productivity
33
-
34
- | Skill | Path |
35
- |---|---|
36
- | `caveman` | `.roo/skills/productivity/caveman/SKILL.md` |
37
- | `grill-me` | `.roo/skills/productivity/grill-me/SKILL.md` |
38
- | `handoff` | `.roo/skills/productivity/handoff/SKILL.md` |
39
- | `write-a-skill` | `.roo/skills/productivity/write-a-skill/SKILL.md` |
40
-
41
- ## misc
42
-
43
- | Skill | Path |
44
- |---|---|
45
- | `git-guardrails-claude-code` | `.roo/skills/misc/git-guardrails-claude-code/SKILL.md` |
46
- | `migrate-to-shoehorn` | `.roo/skills/misc/migrate-to-shoehorn/SKILL.md` |
47
- | `scaffold-exercises` | `.roo/skills/misc/scaffold-exercises/SKILL.md` |
48
- | `setup-pre-commit` | `.roo/skills/misc/setup-pre-commit/SKILL.md` |
49
-
50
- ## personal _(not promoted)_
51
-
52
- | Skill | Path |
53
- |---|---|
54
- | `edit-article` | `.roo/skills/personal/edit-article/SKILL.md` |
55
- | `obsidian-vault` | `.roo/skills/personal/obsidian-vault/SKILL.md` |
56
-
57
- ## in-progress _(drafts)_
58
-
59
- | Skill | Path |
60
- |---|---|
61
- | `teach` | `.roo/skills/in-progress/teach/SKILL.md` |
62
- | `writing-beats` | `.roo/skills/in-progress/writing-beats/SKILL.md` |
63
- | `writing-fragments` | `.roo/skills/in-progress/writing-fragments/SKILL.md` |
64
- | `writing-shape` | `.roo/skills/in-progress/writing-shape/SKILL.md` |
package/docs/team-mode.md DELETED
@@ -1,46 +0,0 @@
1
- # Team Mode
2
-
3
- Zoo Flow separates local agent runtime config from shared project knowledge.
4
-
5
- ## Local/private
6
-
7
- Usually gitignored:
8
-
9
- - `.roo/`
10
- - `.roomodes`
11
- - `.zoo-flow/`
12
- - `.scratch/`
13
- - `docs/journal/`
14
-
15
- These files are local because different users may have different Zoo Code setups, different installed skills, and different scratch context.
16
-
17
- ## Shared/committed
18
-
19
- Usually committed:
20
-
21
- - `AGENTS.md`
22
- - `CONTRIBUTING.md`
23
- - `docs/agents/`
24
- - `docs/architecture/`
25
- - `docs/adr/`
26
- - `README.md`
27
-
28
- Project knowledge should be promoted into shared docs when it affects the team.
29
-
30
- ## When to promote local context
31
-
32
- Promote `.zoo-flow/CONTEXT.md` or `.zoo-flow/docs/adr/` into shared docs when:
33
-
34
- - multiple people need the same terminology
35
- - architecture decisions affect future work
36
- - the agent repeatedly needs the same project knowledge
37
- - onboarding would improve from committed docs
38
-
39
- ## Suggested shared layout
40
-
41
- - `AGENTS.md`
42
- - `docs/agents/issue-tracker.md`
43
- - `docs/agents/triage-labels.md`
44
- - `docs/agents/domain.md`
45
- - `docs/architecture/`
46
- - `docs/adr/`