@fernado03/zoo-flow 0.1.4 → 0.3.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 (27) hide show
  1. package/README.md +6 -3
  2. package/bin/zoo-flow.js +31 -1
  3. package/package.json +1 -1
  4. package/templates/full/.roo/rules/01-command-protocol.md +15 -17
  5. package/templates/full/.roo/rules/03-manual-reply-protocol.md +16 -4
  6. package/templates/full/.roo/rules/04-context-economy.md +13 -0
  7. package/templates/full/.roo/rules-code-tweaker/00-scope.md +4 -0
  8. package/templates/full/.roo/rules-custom-orchestrator/00-routing.md +2 -0
  9. package/templates/full/.roo/rules-custom-orchestrator/01-delegation-message.md +31 -1
  10. package/templates/full/.roo/rules-system-architect/00-scope.md +4 -0
  11. package/templates/full/.roo/skills/engineering/commit-and-document/SKILL.md +12 -0
  12. package/templates/full/.roo/skills/engineering/diagnose/SKILL.md +12 -0
  13. package/templates/full/.roo/skills/engineering/grill-with-docs/CONTEXT-FORMAT.md +0 -2
  14. package/templates/full/.roo/skills/engineering/grill-with-docs/SKILL.md +10 -0
  15. package/templates/full/.roo/skills/engineering/improve-codebase-architecture/SKILL.md +12 -0
  16. package/templates/full/.roo/skills/engineering/prototype/SKILL.md +10 -0
  17. package/templates/full/.roo/skills/engineering/tdd/SKILL.md +12 -0
  18. package/templates/full/.roo/skills/engineering/tweak/SKILL.md +12 -0
  19. package/templates/full/.roo/skills/engineering/update-docs/SKILL.md +10 -0
  20. package/templates/full/.roo/skills/engineering/zoom-out/SKILL.md +12 -0
  21. package/templates/full/.roo/skills/in-progress/README.md +1 -0
  22. package/templates/full/.roo/skills/in-progress/teach/SKILL.md +59 -0
  23. package/templates/full/.roo/skills/in-progress/teach/glossary-format.md +35 -0
  24. package/templates/full/.roo/skills/in-progress/teach/learning-record-format.md +46 -0
  25. package/templates/full/.roo/skills/in-progress/teach/mission-format.md +30 -0
  26. package/templates/full/.roo/skills/in-progress/teach/resources-format.md +32 -0
  27. package/templates/full/.roomodes +1 -1
package/README.md CHANGED
@@ -86,6 +86,10 @@ Backs up your current `.roomodes` and `.roo/` to
86
86
  `.zoo-flow-backup/<timestamp>/`, then replaces them with the latest
87
87
  template. Preview with `--dry-run`.
88
88
 
89
+ ## Context economy
90
+
91
+ Zoo Flow avoids unnecessary token use by asking agents to search or list before broad reads, use targeted line ranges when possible, and avoid re-reading unchanged files. Full-file reads are still allowed when correctness requires complete context.
92
+
89
93
  ## Modes
90
94
 
91
95
  | Slug | Name | Role | Edits allowed | Delegation |
@@ -101,9 +105,8 @@ behavior lives in `.roo/rules-{modeSlug}/` folders. See
101
105
 
102
106
  ## Commands
103
107
 
104
- The orchestrator routes the **core** commands. **Helper** commands you
105
- run directly inside `system-architect` or `code-tweaker` when you
106
- need them.
108
+ The orchestrator routes the **core** commands. **Helper** commands are
109
+ run directly inside `system-architect` or `code-tweaker` when needed.
107
110
 
108
111
  ### Core (routed by the orchestrator)
109
112
 
package/bin/zoo-flow.js CHANGED
@@ -141,6 +141,34 @@ function validateTemplate(rootDir) {
141
141
  }
142
142
  }
143
143
 
144
+ // Validate skill-wrapper command references. Each command file in
145
+ // .roo/commands/ may either declare a skill via `Skill:
146
+ // .roo/skills/.../SKILL.md` (skill-wrapper command) or contain its
147
+ // workflow steps directly. Direct-workflow commands are valid; we only
148
+ // verify referenced skills exist.
149
+ if (pathExists(commandsDir)) {
150
+ const skillRefRegex = /^Skill:\s*`?(\.roo\/skills\/[^\s`]+SKILL\.md)`?\s*$/m;
151
+
152
+ for (const entry of fs.readdirSync(commandsDir)) {
153
+ if (!entry.endsWith(".md")) continue;
154
+
155
+ const commandFile = path.join(commandsDir, entry);
156
+ const text = fs.readFileSync(commandFile, "utf8");
157
+ const match = text.match(skillRefRegex);
158
+
159
+ if (!match) continue;
160
+
161
+ const skillRelative = match[1];
162
+ const skillAbsolute = path.join(rootDir, skillRelative);
163
+
164
+ if (!pathExists(skillAbsolute)) {
165
+ failures.push(
166
+ `Command ${path.relative(rootDir, commandFile)} references missing skill: ${skillRelative}`
167
+ );
168
+ }
169
+ }
170
+ }
171
+
144
172
  const allFiles = walkFiles(rootDir);
145
173
  const textFileExtensions = new Set([".md", ".json", ".txt", ".yaml", ".yml"]);
146
174
 
@@ -167,7 +195,9 @@ function validateTemplate(rootDir) {
167
195
  const requiredRules = [
168
196
  ".roo/rules/00-paths.md",
169
197
  ".roo/rules/01-command-protocol.md",
170
- ".roo/rules/03-manual-reply-protocol.md"
198
+ ".roo/rules/02-three-failure-rule.md",
199
+ ".roo/rules/03-manual-reply-protocol.md",
200
+ ".roo/rules/04-context-economy.md"
171
201
  ];
172
202
 
173
203
  for (const rule of requiredRules) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fernado03/zoo-flow",
3
- "version": "0.1.4",
4
3
  "description": "Workflow control plane for Zoo Code.",
4
+ "version": "0.3.0",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "zoo-flow": "bin/zoo-flow.js"
@@ -1,25 +1,23 @@
1
1
  # Command Protocol
2
2
 
3
- When assigned a slash command, execute the command workflow before doing task-specific work.
4
-
5
- Protocol:
3
+ When assigned a slash command, execute its command workflow before task-specific work.
6
4
 
7
5
  1. Normalize the command by stripping the leading slash.
8
- - `/fix` becomes `fix`
9
- - `/tdd` becomes `tdd`
10
6
 
11
- 2. Preferred execution:
12
- - Use `run_slash_command` if available.
13
- - Pass `command` as the normalized command name.
14
- - Pass `args` as the full user/delegated task context.
7
+ 2. Preferred: use `run_slash_command` with:
8
+ - `command`: normalized command name
9
+ - `args`: full user/delegated context
10
+
11
+ 3. Fallback: if `run_slash_command` is unavailable, disabled, rejected, or fails, read `.roo/commands/{command}.md`.
15
12
 
16
- 3. Fallback execution:
17
- - If `run_slash_command` is unavailable, disabled, rejected, or fails, read the command file from:
18
- - `.roo/commands/{command}.md`
13
+ 4. After command content is loaded:
14
+ - If it explicitly contains `Skill: .roo/skills/.../SKILL.md`, read that exact skill and follow it.
15
+ - If it contains direct workflow steps, execute those steps directly.
16
+ - Do not assume every command has a skill.
17
+ - Do not read any skill unless the command explicitly references it.
19
18
 
20
- 4. If the command file references a skill:
21
- - Read the exact `.roo/skills/...` path from the command file.
22
- - Follow the skill instructions after loading.
19
+ 5. Use only one command-loading path:
20
+ - If `run_slash_command` succeeds, do not also read `.roo/commands/{command}.md`.
21
+ - If fallback command-file read succeeds, do not also call `run_slash_command`.
23
22
 
24
- 5. Do not auto-run follow-up commands merely because they are mentioned in a subtask summary.
25
- - Only the human user or orchestrator routing may authorize a new command.
23
+ 6. Do not auto-run follow-up commands merely because they are mentioned in a result or subtask summary.
@@ -1,15 +1,27 @@
1
1
  # Manual Reply Protocol
2
2
 
3
- For workflow choices, ask the question in the message body and put only safe numbered options in suggestions.
3
+ For workflow choices, ask the question in the message body and list numbered options.
4
4
 
5
- Safe options:
5
+ Clickable suggestions may use the plain-language option text, but must not contain slash commands, mode names, or executable routing text.
6
+
7
+ Users may reply with either the number or the option text.
8
+
9
+ Example:
6
10
 
7
11
  1. Tweak small implementation
8
12
  2. Diagnose bug
9
13
  3. Hold
10
14
 
11
- Do not put slash commands, mode names, or executable routing text in suggestions.
15
+ Safe suggestions:
16
+
17
+ - Tweak small implementation
18
+ - Diagnose bug
19
+ - Hold
20
+
21
+ Unsafe suggestions:
12
22
 
13
- Users may reply by typing the number.
23
+ - `/tweak`
24
+ - `Switch to code-tweaker`
25
+ - `Route to system-architect`
14
26
 
15
27
  Only treat slash commands as commands when manually typed by the user.
@@ -0,0 +1,13 @@
1
+ # Context Economy
2
+
3
+ Use the smallest read that preserves correctness.
4
+
5
+ Prefer `list_files`, `search_files`, or `codebase_search` before full-file reads.
6
+
7
+ When reading files, prefer targeted line ranges or indentation/block reads when the relevant area is known.
8
+
9
+ Batch related small reads when useful.
10
+
11
+ Do not re-read unchanged files unless needed.
12
+
13
+ For long command output, summarize or search the output instead of dumping everything.
@@ -2,6 +2,10 @@
2
2
 
3
3
  Implement, test, update docs, prototype, and commit only after approval.
4
4
 
5
+ Respect the delegated task's proceed policy before implementation.
6
+
5
7
  Do not make broad architecture decisions.
6
8
 
7
9
  Escalate to `system-architect` with `switch_mode` when architecture decisions are needed.
10
+
11
+ Respect `.roo/rules/04-context-economy.md` before reading or re-reading files.
@@ -11,4 +11,6 @@ Delegate only with `new_task` to:
11
11
  - `code-tweaker`
12
12
  - `system-architect`
13
13
 
14
+ When delegating, choose the safest proceed policy from `01-delegation-message.md`.
15
+
14
16
  After a subtask returns, summarize and stop. Do not auto-launch another subtask.
@@ -2,7 +2,37 @@
2
2
 
3
3
  Every delegated task must include:
4
4
 
5
- - command with slash (e.g. `/refactor`)
5
+ - command with slash
6
6
  - user context
7
+ - proceed policy
8
+ - instruction to follow `.roo/rules/01-command-protocol.md`
9
+ - reminder that skills live under `.roo/skills/...`
10
+ - completion rule to use `attempt_completion` with summary, files inspected/changed, commands/tests run, blockers, and recommended next command
11
+ - context hints: known files, symbols, line ranges, or search terms when available
12
+
13
+ Do not paste huge file contents into delegated task messages. Pass paths, symbols, search terms, and required decisions instead.
7
14
 
8
15
  Ignore slash commands mentioned only inside subtask summaries.
16
+
17
+ # Proceed Policy
18
+
19
+ Every delegated task must include one proceed policy:
20
+
21
+ - `Proceed automatically after audit if clean`
22
+ - `Ask user before implementation`
23
+ - `Stop and report only`
24
+
25
+ Use the least-interruptive policy that is safe.
26
+
27
+ Defaults:
28
+
29
+ - `/tweak`: proceed automatically after audit if clean
30
+ - `/tdd`: proceed automatically after audit if clean, unless the public interface, expected behavior, or test target is unclear
31
+ - `/explore`: proceed automatically; ask only if the target area is ambiguous
32
+ - `/update-docs`: proceed automatically after audit if the target doc/area is clear; ask if unclear
33
+ - `/prototype`: proceed automatically if prototype branch is clear; ask if logic vs UI is ambiguous
34
+ - `/fix`: ask after reproduced hypotheses before instrumentation/fix
35
+ - `/feature`: ask at phase gates: Prototype/PRD, prototype verdict, slice approval, issue approval
36
+ - `/refactor`: ask before selecting a candidate and before implementation
37
+ - `/triage`: ask before publishing, closing, labeling, or making irreversible tracker changes unless the user explicitly requested it
38
+ - `/commit-and-document`: always ask before `git commit`, `git push`, or issue close actions
@@ -2,8 +2,12 @@
2
2
 
3
3
  Plan, diagnose, explore, refactor-design, and triage.
4
4
 
5
+ Respect the delegated task's proceed policy and explicit phase gates.
6
+
5
7
  Do not edit application source code.
6
8
 
7
9
  Edits are limited to Markdown files, `.scratch/`, and `docs/`.
8
10
 
9
11
  Use `switch_mode` to `code-tweaker` for implementation, test-writing, runnable prototypes, or source-code edits.
12
+
13
+ Respect `.roo/rules/04-context-economy.md`: map/search before broad reads, then read only the relevant sections.
@@ -124,6 +124,18 @@ Date via `date +%Y-%m-%d`. Create `docs/journal/<YYYY-MM-DD>/` if missing. Write
124
124
 
125
125
  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."
126
126
 
127
+ ## Context economy
128
+
129
+ Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
130
+
131
+ Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
132
+
133
+ Read full files only when structure, ordering, or surrounding context is required for correctness.
134
+
135
+ Do not re-read unchanged files; use prior findings unless the file changed.
136
+
137
+ Use `git status --short`, `git diff --stat`, and targeted `git diff -- <file>` rather than dumping the full repo diff at once.
138
+
127
139
  ## Safety
128
140
 
129
141
  - Never `git push`, `--amend`, `--force`, or `reset --hard`.
@@ -61,6 +61,18 @@ Rules:
61
61
  6. Watch regression pass.
62
62
  7. Rerun original loop.
63
63
 
64
+ ## Context economy
65
+
66
+ Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
67
+
68
+ Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
69
+
70
+ Read full files only when structure, ordering, or surrounding context is required for correctness.
71
+
72
+ Do not re-read unchanged files; use prior findings unless the file changed.
73
+
74
+ For logs or large outputs, search for the failing marker/error first. Read only surrounding ranges needed to prove or disprove a hypothesis.
75
+
64
76
  ## 6. Cleanup
65
77
 
66
78
  MUST finish:
@@ -23,10 +23,8 @@ _Avoid_: Purchase, transaction
23
23
  - MUST pick canonical term; aliases under `_Avoid_`.
24
24
  - MUST flag ambiguity + resolution.
25
25
  - Define term in 1–2 sentences: what it is, not behavior.
26
- - Include relationships/cardinality when obvious.
27
26
  - Include domain terms only; exclude generic programming terms.
28
27
  - Group under headings when useful.
29
- - Include example dialogue.
30
28
 
31
29
  ## Layout
32
30
 
@@ -18,6 +18,16 @@ description: Grilling session that challenges your plan against the existing dom
18
18
 
19
19
  See `CONTEXT-FORMAT.md` for layout and detection. Create docs lazily only when recording needed.
20
20
 
21
+ ## Context economy
22
+
23
+ Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
24
+
25
+ Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
26
+
27
+ Read full files only when structure, ordering, or surrounding context is required for correctness.
28
+
29
+ Do not re-read unchanged files; use prior findings unless the file changed.
30
+
21
31
  ## MUST
22
32
 
23
33
  - Challenge glossary conflicts.
@@ -34,6 +34,18 @@ RULE: Use `LANGUAGE.md` terms. Use glossary. Respect ADRs; surface only reopen-w
34
34
  9. DO NOT propose interfaces yet.
35
35
  10. Ask: `Which of these would you like to explore?`
36
36
 
37
+ ## Context economy
38
+
39
+ Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
40
+
41
+ Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
42
+
43
+ Read full files only when structure, ordering, or surrounding context is required for correctness.
44
+
45
+ Do not re-read unchanged files; use prior findings unless the file changed.
46
+
47
+ Use searches to identify dependency/call patterns before reading full modules. Read full files only for top candidates.
48
+
37
49
  ## After candidate chosen
38
50
 
39
51
  1. Walk constraints/deps/seam/hidden implementation/surviving tests.
@@ -14,6 +14,16 @@ RULE: Prototype answers one question. Throw away or absorb after answer.
14
14
  - Ambiguous → ask.
15
15
  - User AFK → infer + state assumption.
16
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
+
17
27
  ## Rules
18
28
 
19
29
  1. Mark throwaway clearly.
@@ -50,6 +50,18 @@ Checklist per cycle:
50
50
  - [ ] Code minimal.
51
51
  - [ ] No speculation.
52
52
 
53
+ ## Context economy
54
+
55
+ Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
56
+
57
+ Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
58
+
59
+ Read full files only when structure, ordering, or surrounding context is required for correctness.
60
+
61
+ Do not re-read unchanged files; use prior findings unless the file changed.
62
+
63
+ Read the public interface and nearest existing tests first. Avoid reading unrelated implementation until a failing test or search result points there.
64
+
53
65
  ## References
54
66
 
55
67
  - `tests.md` — what to assert and what not to.
@@ -15,3 +15,15 @@ Use for small known fixes.
15
15
  6. DO NOT write new tests unless asked.
16
16
  7. Confirm change.
17
17
  8. Offer `/commit-and-document` only after user satisfied.
18
+
19
+ ## Context economy
20
+
21
+ Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
22
+
23
+ Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
24
+
25
+ Read full files only when structure, ordering, or surrounding context is required for correctness.
26
+
27
+ Do not re-read unchanged files; use prior findings unless the file changed.
28
+
29
+ For small changes, audit only the named files and nearby call sites. Expand search only if the first audit shows hidden dependencies.
@@ -51,6 +51,16 @@ Use today's date. Include only files actually inspected.
51
51
 
52
52
  After editing: re-read, confirm referenced paths exist, every major claim maps to code or a cited doc, no stale contradiction with nearby docs. Summarise the change.
53
53
 
54
+ ## Context economy
55
+
56
+ Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
57
+
58
+ Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
59
+
60
+ Read full files only when structure, ordering, or surrounding context is required for correctness.
61
+
62
+ Do not re-read unchanged files; use prior findings unless the file changed.
63
+
54
64
  ## 7. Recommend next step
55
65
 
56
66
  Recommend one: `/explore` (still unclear), `/feature` (plan emerged), `/refactor` (tangled-but-working code), `/fix` (bug found), `/commit-and-document` (done). Do not auto-run.
@@ -5,3 +5,15 @@ disable-model-invocation: true
5
5
  ---
6
6
 
7
7
  Zoom out: map relevant modules + callers at higher abstraction. Use glossary vocabulary.
8
+
9
+ ## Context economy
10
+
11
+ Before broad reads, locate relevant files/symbols with `list_files`, `search_files`, or `codebase_search`.
12
+
13
+ Prefer targeted `read_file` ranges or indentation/block reads once the relevant area is known.
14
+
15
+ Read full files only when structure, ordering, or surrounding context is required for correctness.
16
+
17
+ Do not re-read unchanged files; use prior findings unless the file changed.
18
+
19
+ Start with `list_files` and `search_files`/`codebase_search`. Read representative files and key entrypoints, not every file in the area.
@@ -3,6 +3,7 @@
3
3
  Draft skills. Excluded from plugin/top README until stable.
4
4
 
5
5
  - **[review](./review/SKILL.md)** — Review diff on Standards + Spec axes.
6
+ - **[teach](./teach/SKILL.md)** — Stateful teaching workspace (mission, glossary, resources, learning records).
6
7
  - **[writing-beats](./writing-beats/SKILL.md)** — Assemble article beat-by-beat.
7
8
  - **[writing-fragments](./writing-fragments/SKILL.md)** — Capture raw writing fragments.
8
9
  - **[writing-shape](./writing-shape/SKILL.md)** — Shape raw material into article.
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: teach
3
+ description: Teach a topic over multiple stateful sessions, treating the current directory as a teaching workspace. Tracks mission, glossary, resources, and learning records to ground every session and pace the user inside their zone of proximal development. Use when user asks to be taught a topic, wants to learn something over time, or mentions ongoing study.
4
+ disable-model-invocation: true
5
+ argument-hint: "What would you like to learn about?"
6
+ ---
7
+
8
+ # Teach
9
+
10
+ Stateful. Treat current directory as the teaching workspace.
11
+
12
+ ## Files
13
+
14
+ - `MISSION.md` — why user wants this; grounds every decision. Format: `mission-format.md`.
15
+ - `GLOSSARY.md` — canonical terms; all output conforms. Format: `glossary-format.md`.
16
+ - `RESOURCES.md` — trusted knowledge + community sources. Format: `resources-format.md`.
17
+ - `learning-records/NNNN-slug.md` — non-obvious lessons + prior knowledge. Format: `learning-record-format.md`.
18
+
19
+ ## Triad
20
+
21
+ - **Knowledge** — drawn from `RESOURCES.md`. Never parametric.
22
+ - **Skills** — exercises built from the knowledge.
23
+ - **Wisdom** — real-world community interaction via `RESOURCES.md`.
24
+
25
+ Topic mix varies: theoretical → knowledge-heavy; practical → skills-heavy.
26
+
27
+ ## Mission first
28
+
29
+ If `MISSION.md` missing or vague, interview before teaching. No mission = no grounding, abstract exercises, no signal for what's next.
30
+
31
+ ## Zone of proximal development
32
+
33
+ Pick next topic by:
34
+ 1. Read `learning-records/`.
35
+ 2. Align to `MISSION.md`.
36
+ 3. Pick tightest scope that still stretches the user.
37
+
38
+ User says "I already know X" → record in `learning-records/`.
39
+
40
+ ## Knowledge loop
41
+
42
+ 1. Pull from `RESOURCES.md`.
43
+ 2. Write HTML explainer to local file. Beautiful, glossary-correct.
44
+ 3. Give one-line CLI command to open it.
45
+ 4. Take questions; amend explainer or write a new one.
46
+ 5. Once user clearly owns the term, add to `GLOSSARY.md`.
47
+
48
+ ## Skills loop
49
+
50
+ Tools:
51
+ - Interactive HTML explainers with quizzes / in-browser drills.
52
+ - Step-through HTML guides for real-world tasks.
53
+ - In-agent scenario quizzes.
54
+
55
+ Every exercise closes a tight feedback loop.
56
+
57
+ ## Wisdom
58
+
59
+ Default: attempt an answer, then route to a high-reputation community from `RESOURCES.md`. If user opted out of communities, record it in `RESOURCES.md` and stop suggesting.
@@ -0,0 +1,35 @@
1
+ # GLOSSARY.md Format
2
+
3
+ Canonical language for the workspace. All explainers/exercises/records conform. Building it is itself learning: tight definition = compressed understanding.
4
+
5
+ ## Template
6
+
7
+ ```markdown
8
+ # {Topic} Glossary
9
+
10
+ {One or two sentence description of what this glossary covers.}
11
+
12
+ ## Terms
13
+
14
+ **Hypertrophy**:
15
+ Muscle growth driven by mechanical tension and metabolic stress over repeated training sessions.
16
+ _Avoid_: Bulking, getting big
17
+
18
+ **Progressive overload**:
19
+ Systematically increasing the demand on a muscle over time — via load, volume, or intensity.
20
+ _Avoid_: Pushing harder, levelling up
21
+
22
+ **RPE (Rate of Perceived Exertion)**:
23
+ A 1–10 self-rating of how hard a set felt, where 10 is failure and 8 means two reps left in the tank.
24
+ _Avoid_: Effort score, intensity rating
25
+ ```
26
+
27
+ ## Rules
28
+
29
+ - Add a term only when user demonstrates understanding. Glossary records compressed knowledge; it is not a dictionary to read.
30
+ - Be opinionated. Pick one canonical term; list rivals as `_Avoid_`.
31
+ - Tight: 1–2 sentences. Define what term IS, not how to do it.
32
+ - Use glossary's own terms inside other definitions. That's how complex terms compress.
33
+ - Group under subheadings when natural clusters emerge (`## Anatomy`, `## Programming`). Flat list fine otherwise.
34
+ - Flag ambiguities. "In this workspace, 'set' means working set."
35
+ - Revise in place. Stale entries lie.
@@ -0,0 +1,46 @@
1
+ # Learning Record Format
2
+
3
+ Live in `learning-records/`. Sequential numbering: `0001-slug.md`, `0002-slug.md`. Create directory lazily on first record.
4
+
5
+ Teaching equivalent of ADRs. Capture non-obvious lessons, key insights, stated prior knowledge. Steer future sessions; calibrate ZPD.
6
+
7
+ ## Template
8
+
9
+ ```markdown
10
+ # {Short title of what was learned or established}
11
+
12
+ {1-3 sentences: what was learned (or what prior knowledge was established), and why it matters for future sessions.}
13
+ ```
14
+
15
+ That is the whole format. A single paragraph counts. Value is recording _that_ this is now known and _why_ it changes what to teach next.
16
+
17
+ ## Optional sections
18
+
19
+ Use only when they add value. Most records skip these.
20
+
21
+ - **Status** frontmatter (`active | superseded by LR-NNNN`) — when an earlier understanding is replaced.
22
+ - **Evidence** — how the user demonstrated understanding. Useful when the claim might be revisited.
23
+ - **Implications** — what this unlocks/rules out. Worth recording when non-obvious.
24
+
25
+ ## Numbering
26
+
27
+ Scan `learning-records/`, take highest number, increment.
28
+
29
+ ## When to write
30
+
31
+ Write when any are true:
32
+
33
+ 1. User demonstrated genuine understanding of something non-trivial — evidence, not exposure. Sets a new floor.
34
+ 2. User disclosed prior knowledge — "I already know X." Record it + claimed depth.
35
+ 3. Misconception corrected — high-value; predicts future stumbles.
36
+ 4. Mission shifted in response to learning — cross-link to `MISSION.md` and update it.
37
+
38
+ ### Skip
39
+
40
+ - Material merely covered. Coverage ≠ learning.
41
+ - Anything tersely captured in `GLOSSARY.md`. No duplication.
42
+ - Session activity logs. Records are decision-grade, not a journal.
43
+
44
+ ## Supersession
45
+
46
+ When a later record contradicts an earlier one, mark old one `Status: superseded by LR-NNNN`. Don't delete. The history is itself signal.
@@ -0,0 +1,30 @@
1
+ # MISSION.md Format
2
+
3
+ Lives at workspace root. Captures _why_ the user is learning this. Every teaching decision traces back here.
4
+
5
+ ## Template
6
+
7
+ ```markdown
8
+ # Mission: {Topic}
9
+
10
+ ## Why
11
+ {1-3 sentences. Concrete real-world goal. What changes in user's life/work when they have this skill? Avoid "to understand X" — push for the underlying outcome.}
12
+
13
+ ## Success looks like
14
+ - {Specific observable thing user will be able to do}
15
+ - {Another}
16
+
17
+ ## Constraints
18
+ - {Time, budget, prior commitments, learning preferences}
19
+
20
+ ## Out of scope
21
+ - {Adjacent topics user explicitly skips — protects ZPD}
22
+ ```
23
+
24
+ ## Rules
25
+
26
+ - One mission per workspace. Two unrelated topics = two workspaces.
27
+ - Concrete over abstract. "Run a half marathon by October" beats "get fitter."
28
+ - Push back on vagueness. Bad mission > no mission.
29
+ - Revise when goal moves. Stale mission steers wrong.
30
+ - One screen max. Past that, it's a plan, not a compass.
@@ -0,0 +1,32 @@
1
+ # RESOURCES.md Format
2
+
3
+ Curated trusted sources. Knowledge for explainers comes from here, not parametric guesses. Wisdom routes to communities listed here.
4
+
5
+ ## Template
6
+
7
+ ```markdown
8
+ # {Topic} Resources
9
+
10
+ ## Knowledge
11
+
12
+ - [Book: _The Science and Practice of Strength Training_ — Zatsiorsky & Kraemer](https://example.com)
13
+ Foundational text on programming and adaptation. Use for: periodisation, recovery, intensity zones.
14
+ - [Article: "How Much Should I Train?" — Greg Nuckols (Stronger By Science)](https://example.com)
15
+ Evidence-based review of volume landmarks. Use for: weekly set targets per muscle group.
16
+
17
+ ## Wisdom (Communities)
18
+
19
+ - [r/weightroom](https://reddit.com/r/weightroom)
20
+ High-signal subreddit, moderated against bro-science. Use for: programme critique, plateau troubleshooting.
21
+ - Local: Tuesday strength class at {gym name}
22
+ Use for: real-time coaching feedback on lifts.
23
+ ```
24
+
25
+ ## Rules
26
+
27
+ - High-trust only. Primary sources, recognised experts, peer-reviewed work, well-moderated communities. Marketing-as-education stays out.
28
+ - Annotate every entry. One line: what it covers + when to reach for it.
29
+ - Group `## Knowledge` / `## Wisdom`. Mirrors the triad in `SKILL.md`. Single-group entries fine.
30
+ - Surface gaps. `## Gaps` section lists missing areas the mission needs. Drives future search.
31
+ - Prune ruthlessly. Remove wrong/shallow/off-mission. Five sharp > thirty mediocre.
32
+ - Record community opt-out here so future sessions stop proposing them.
@@ -40,7 +40,7 @@
40
40
  "roleDefinition": "You are a PM and router. You choose workflows and delegate subtasks. You NEVER inspect implementation files, write code, or use switch_mode.",
41
41
  "whenToUse": "Use for initial task planning, choosing slash commands, routing work, or discussing workflow.",
42
42
  "description": "Router that consults, delegates, and waits for user direction.",
43
- "customInstructions": "Use `.roo/rules-custom-orchestrator/` for mode-specific behavior.\n\nRoute only these commands:\n\n- /tweak, /tdd, /update-docs, /commit-and-document, /prototype -> code-tweaker\n- /fix, /feature, /refactor, /explore, /triage -> system-architect\n\nUse `new_task` only. If `new_task` is unavailable, stop and report that orchestrator lacks delegation access.\n\nFollow `.roo/rules/03-manual-reply-protocol.md` when offering workflow choices.",
43
+ "customInstructions": "Use `.roo/rules-custom-orchestrator/` for mode-specific behavior.\n\nRoute only these commands:\n\n- /tweak, /tdd, /update-docs, /commit-and-document, /prototype -> code-tweaker\n- /fix, /feature, /refactor, /explore, /triage -> system-architect\n\nUse `new_task` only. If `new_task` is unavailable, stop and report that orchestrator lacks delegation access.\n\nFollow `.roo/rules/03-manual-reply-protocol.md` when offering workflow choices: use plain-language numbered options, not slash commands or mode names.",
44
44
  "groups": []
45
45
  }
46
46
  ]