@orderful/droid 0.8.0 → 0.10.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 (45) hide show
  1. package/.claude/CLAUDE.md +1 -0
  2. package/CHANGELOG.md +45 -0
  3. package/dist/lib/skills.js +1 -1
  4. package/dist/lib/skills.js.map +1 -1
  5. package/dist/lib/types.d.ts +1 -0
  6. package/dist/lib/types.d.ts.map +1 -1
  7. package/dist/skills/brain/SKILL.md +5 -7
  8. package/dist/skills/brain/SKILL.yaml +4 -6
  9. package/dist/skills/brain/commands/brain.md +3 -1
  10. package/dist/skills/brain/commands/scratchpad.md +52 -0
  11. package/dist/skills/brain-obsidian/SKILL.md +1 -4
  12. package/dist/skills/brain-obsidian/SKILL.yaml +1 -4
  13. package/dist/skills/coach/SKILL.md +212 -0
  14. package/dist/skills/coach/SKILL.yaml +25 -0
  15. package/dist/skills/coach/commands/README.md +9 -0
  16. package/dist/skills/coach/commands/coach.md +71 -0
  17. package/dist/skills/code-review/SKILL.md +1 -4
  18. package/dist/skills/code-review/SKILL.yaml +1 -4
  19. package/dist/skills/comments/SKILL.md +1 -4
  20. package/dist/skills/comments/SKILL.yaml +1 -4
  21. package/dist/skills/project/SKILL.md +7 -9
  22. package/dist/skills/project/SKILL.yaml +2 -7
  23. package/dist/skills/project/commands/project.md +3 -2
  24. package/dist/skills/project/references/loading.md +5 -3
  25. package/package.json +1 -1
  26. package/src/lib/skills.ts +1 -1
  27. package/src/lib/types.ts +3 -0
  28. package/src/skills/brain/SKILL.md +5 -7
  29. package/src/skills/brain/SKILL.yaml +4 -6
  30. package/src/skills/brain/commands/brain.md +3 -1
  31. package/src/skills/brain/commands/scratchpad.md +52 -0
  32. package/src/skills/brain-obsidian/SKILL.md +1 -4
  33. package/src/skills/brain-obsidian/SKILL.yaml +1 -4
  34. package/src/skills/coach/SKILL.md +212 -0
  35. package/src/skills/coach/SKILL.yaml +25 -0
  36. package/src/skills/coach/commands/README.md +9 -0
  37. package/src/skills/coach/commands/coach.md +71 -0
  38. package/src/skills/code-review/SKILL.md +1 -4
  39. package/src/skills/code-review/SKILL.yaml +1 -4
  40. package/src/skills/comments/SKILL.md +1 -4
  41. package/src/skills/comments/SKILL.yaml +1 -4
  42. package/src/skills/project/SKILL.md +7 -9
  43. package/src/skills/project/SKILL.yaml +2 -7
  44. package/src/skills/project/commands/project.md +3 -2
  45. package/src/skills/project/references/loading.md +5 -3
@@ -1,9 +1,6 @@
1
1
  ---
2
2
  name: comments
3
- description: >-
4
- Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI,
5
- AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup
6
- to remove resolved threads. Ideal for code review notes and async collaboration.
3
+ description: "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration."
7
4
  globs:
8
5
  - "**/*"
9
6
  alwaysApply: false
@@ -1,8 +1,5 @@
1
1
  name: comments
2
- description: >-
3
- Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI,
4
- AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup
5
- to remove resolved threads. Ideal for code review notes and async collaboration.
2
+ description: "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration."
6
3
  version: 0.2.2
7
4
  status: beta
8
5
  dependencies: []
@@ -1,11 +1,6 @@
1
1
  ---
2
2
  name: project
3
- description: >-
4
- Manage project context files for persistent AI memory across sessions.
5
- Load project context before working (/project {name}), update with
6
- new learnings (/project update), or create new projects (/project create).
7
- Use when working on multi-session features, refactors, or any work that
8
- benefits from accumulated context.
3
+ description: "Manage project context files for persistent AI memory across sessions. Load project context before working (/project {name}), update with new learnings (/project update), or create new projects (/project create). Use when working on multi-session features, refactors, or any work that benefits from accumulated context."
9
4
  globs:
10
5
  - "**/PROJECT.md"
11
6
  alwaysApply: false
@@ -32,14 +27,17 @@ Chat history disappears. Projects persist.
32
27
 
33
28
  ## Configuration
34
29
 
35
- **IMPORTANT:** Before using any default paths, ALWAYS read `~/.droid/skills/project/overrides.yaml` first. If `projects_dir` is configured there, use that path. Only fall back to defaults if the file doesn't exist or lacks a `projects_dir` setting.
30
+ **IMPORTANT:** Read `~/.droid/skills/project/overrides.yaml` first to determine the projects directory.
31
+
32
+ - If `projects_dir` is configured → use **ONLY** that path (do NOT also search defaults)
33
+ - If not configured → use the default for current AI tool
36
34
 
37
35
  | Setting | Default | Description |
38
36
  |---------|---------|-------------|
39
- | `projects_dir` | (see below) | Where projects are stored |
37
+ | `projects_dir` | (see below) | Where projects are stored (use ONE location only) |
40
38
  | `preset` | `markdown` | Output format: `markdown` or `obsidian` |
41
39
 
42
- Default `projects_dir` by AI tool (only if not configured):
40
+ Default `projects_dir` by AI tool (only if overrides.yaml is missing or lacks `projects_dir`):
43
41
  - **claude-code**: `~/.claude/projects`
44
42
  - **opencode**: `~/.config/opencode/projects`
45
43
 
@@ -1,11 +1,6 @@
1
1
  name: project
2
- description: >-
3
- Manage project context files for persistent AI memory across sessions.
4
- Load project context before working (/project {name}), update with
5
- new learnings (/project update), or create new projects (/project create).
6
- Use when working on multi-session features, refactors, or any work that
7
- benefits from accumulated context.
8
- version: 0.1.1
2
+ description: "Manage project context files for persistent AI memory across sessions. Load project context before working (/project {name}), update with new learnings (/project update), or create new projects (/project create). Use when working on multi-session features, refactors, or any work that benefits from accumulated context."
3
+ version: 0.1.2
9
4
  status: beta
10
5
  dependencies: []
11
6
  provides_output: false
@@ -29,9 +29,10 @@ $ARGUMENTS
29
29
 
30
30
  ## Configuration
31
31
 
32
- **ALWAYS read `~/.droid/skills/project/overrides.yaml` first.** Use configured values if present, only fall back to defaults if missing.
32
+ **ALWAYS read `~/.droid/skills/project/overrides.yaml` first.**
33
33
 
34
- - `projects_dir` - Where projects live (default varies by AI tool)
34
+ - If `projects_dir` is set use **ONLY** that path (do NOT also search defaults)
35
+ - If not configured → use the default for current AI tool
35
36
  - `preset` - Template format: `markdown` or `obsidian`
36
37
 
37
38
  ## Behavior
@@ -6,12 +6,14 @@
6
6
 
7
7
  ## Procedure
8
8
 
9
- 1. **Read config first**
9
+ 1. **Determine projects directory (pick ONE)**
10
10
  - Read `~/.droid/skills/project/overrides.yaml`
11
- - Use `projects_dir` if configured, otherwise use default for current AI tool
11
+ - If `projects_dir` is set use ONLY that path, do NOT search defaults
12
+ - If not configured → use default for current AI tool (`~/.claude/projects` or `~/.config/opencode/projects`)
12
13
 
13
- 2. **List projects** in configured `projects_dir`
14
+ 2. **List projects** in the single configured directory
14
15
  - Each subfolder with a `PROJECT.md` is a project
16
+ - Do NOT search multiple locations
15
17
 
16
18
  3. **If no name provided:**
17
19
  - Use AskUserQuestion to present available projects
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orderful/droid",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "AI workflow toolkit for sharing skills, commands, and agents across the team",
5
5
  "type": "module",
6
6
  "bin": {
package/src/lib/skills.ts CHANGED
@@ -455,8 +455,8 @@ export function uninstallSkill(skillName: string): { success: boolean; message:
455
455
  // Remove command files if they exist
456
456
  const bundledSkillDir = join(BUNDLED_SKILLS_DIR, skillName);
457
457
  const commandsSource = join(bundledSkillDir, 'commands');
458
+ const commandsPath = getCommandsInstallPath(config.ai_tool);
458
459
  if (existsSync(commandsSource)) {
459
- const commandsPath = getCommandsInstallPath(config.ai_tool);
460
460
  const commandFiles = readdirSync(commandsSource).filter(f => f.endsWith('.md') && f.toLowerCase() !== 'readme.md');
461
461
  for (const file of commandFiles) {
462
462
  const commandPath = join(commandsPath, file);
package/src/lib/types.ts CHANGED
@@ -62,6 +62,9 @@ export interface SkillManifest {
62
62
  provides_output?: boolean;
63
63
  // Usage examples to show in the TUI
64
64
  examples?: SkillExample[];
65
+ // Command aliases: maps alias name to source command filename (without .md)
66
+ // e.g., { "scratchpad": "brain" } creates /scratchpad as alias for /brain
67
+ command_aliases?: Record<string, string>;
65
68
  }
66
69
 
67
70
  export interface ConfigOption {
@@ -1,10 +1,6 @@
1
1
  ---
2
2
  name: brain
3
- description: >-
4
- Collaborative scratch pad for planning and research. Triggers on phrases like
5
- "let's use our brain", "let's think through this", or "plan this out" to capture
6
- AI output into a persistent doc. Create docs with /brain plan, /brain research,
7
- or /brain review. Use @mentions for async discussion. Docs persist across sessions.
3
+ description: "Your scratchpad (or brain) - a collaborative space for planning and research. Triggers on phrases like 'let's use our brain', 'open a scratchpad', or 'plan this out' to capture AI output into a persistent doc. Create docs with /brain plan (or /scratchpad plan), /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions."
8
4
  globs:
9
5
  - "**/brain/**/*.md"
10
6
  alwaysApply: false
@@ -12,7 +8,9 @@ alwaysApply: false
12
8
 
13
9
  # Brain Skill
14
10
 
15
- Scratch pad for planning, research, and design docs that persist across sessions.
11
+ Your **scratchpad** (or **brain**) - a collaborative space for planning, research, and design docs that persist across sessions.
12
+
13
+ > **Alias:** All `/brain` commands also work as `/scratchpad` - use whichever feels natural.
16
14
 
17
15
  ## Why Brain Docs?
18
16
 
@@ -27,7 +25,7 @@ Ideas develop through iteration, not single prompts.
27
25
  - Planning implementation for a feature
28
26
  - Researching a problem or technology
29
27
  - Design work that benefits from written iteration
30
- - User says "brain", "let's think through", "plan this out"
28
+ - User says "brain", "scratchpad", "let's think through", "plan this out"
31
29
  - Optionally, to capture output from plan mode sessions
32
30
 
33
31
  ## When NOT to Use
@@ -1,13 +1,11 @@
1
1
  name: brain
2
- description: >-
3
- Collaborative scratch pad for planning and research. Triggers on phrases like
4
- "let's use our brain", "let's think through this", or "plan this out" to capture
5
- AI output into a persistent doc. Create docs with /brain plan, /brain research,
6
- or /brain review. Use @mentions for async discussion. Docs persist across sessions.
7
- version: 0.1.1
2
+ description: "Your scratchpad (or brain) - a collaborative space for planning and research. Triggers on phrases like 'let's use our brain', 'open a scratchpad', or 'plan this out' to capture AI output into a persistent doc. Create docs with /brain plan (or /scratchpad plan), /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions."
3
+ version: 0.2.0
8
4
  status: beta
9
5
  dependencies: []
10
6
  provides_output: false
7
+ command_aliases:
8
+ scratchpad: brain
11
9
  config_schema:
12
10
  brain_dir:
13
11
  type: string
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Collaborative scratch pad for planning and research
2
+ description: Collaborative scratchpad for planning and research
3
3
  argument-hint: "[{topic} | plan|research|review {topic} | note|add {text} | check|done]"
4
4
  allowed-tools: Read, Write, Edit, Glob, Grep, Bash(mkdir:*), Bash(ls:*)
5
5
  ---
@@ -8,6 +8,8 @@ allowed-tools: Read, Write, Edit, Glob, Grep, Bash(mkdir:*), Bash(ls:*)
8
8
 
9
9
  Entry point for brain doc management. See the **brain skill** for full behavior.
10
10
 
11
+ > **Alias:** This command also works as `/scratchpad` - use whichever feels natural.
12
+
11
13
  ## Arguments
12
14
 
13
15
  $ARGUMENTS
@@ -0,0 +1,52 @@
1
+ ---
2
+ description: Collaborative scratchpad for planning and research
3
+ argument-hint: "[{topic} | plan|research|review {topic} | note|add {text} | check|done]"
4
+ allowed-tools: Read, Write, Edit, Glob, Grep, Bash(mkdir:*), Bash(ls:*)
5
+ ---
6
+
7
+ # /scratchpad
8
+
9
+ Your scratchpad for planning, research, and design. See the **brain skill** for full behavior.
10
+
11
+ > **Alias:** This command also works as `/brain` - use whichever feels natural.
12
+
13
+ ## Arguments
14
+
15
+ $ARGUMENTS
16
+
17
+ ## Default Behavior
18
+
19
+ **IMPORTANT:** When given just a topic (e.g., `/scratchpad auth-refactor`), the default action is to **SEARCH** for existing docs, NOT create. Only create docs with explicit `/scratchpad plan {topic}` or `/scratchpad research {topic}`.
20
+
21
+ ## Usage
22
+
23
+ ```
24
+ /scratchpad # List recent docs or create new
25
+ /scratchpad {topic} # SEARCH: Open existing doc (fuzzy match) → active
26
+ /scratchpad plan {topic} # CREATE: New planning doc → active
27
+ /scratchpad research {topic} # Create research doc → active
28
+ /scratchpad review {topic} # Create review doc → active
29
+ /scratchpad note {text} # Quick capture (fire-and-forget)
30
+ /scratchpad add {text} # Append to active doc
31
+ /scratchpad check # Address @droid comments in active doc
32
+ /scratchpad done # Finalize active doc
33
+ ```
34
+
35
+ ## Configuration
36
+
37
+ **ALWAYS read `~/.droid/skills/brain/overrides.yaml` first.** Use configured values if present, only fall back to defaults if missing.
38
+
39
+ - `brain_dir` - Where docs live (default varies by AI tool)
40
+ - `inbox_folder` - Subfolder for new docs (empty = flat)
41
+
42
+ ## Behavior
43
+
44
+ Refer to the brain skill for:
45
+ - **Opening**: How to fuzzy-match, handle multiple matches, set active
46
+ - **Creating**: Template structure by preset, naming conventions
47
+ - **Notes**: Quick capture workflow
48
+ - **Adding**: Append to active doc with timestamp
49
+ - **Checking**: Find and address @droid comments
50
+ - **Finalizing**: Update status, suggest next steps
51
+
52
+ The skill's `references/` folder contains detailed specs for workflows, templates, naming, and metadata.
@@ -1,9 +1,6 @@
1
1
  ---
2
2
  name: brain-obsidian
3
- description: >-
4
- Obsidian extension for brain skill. Adds YAML frontmatter, wikilinks, and folder
5
- organization. Requires brain skill. Install this to use brain docs with your
6
- Obsidian vault.
3
+ description: "Obsidian extension for brain skill. Adds YAML frontmatter, wikilinks, and folder organization. Requires brain skill. Install this to use brain docs with your Obsidian vault."
7
4
  globs:
8
5
  - "**/brain/**/*.md"
9
6
  alwaysApply: false
@@ -1,8 +1,5 @@
1
1
  name: brain-obsidian
2
- description: >-
3
- Obsidian extension for brain skill. Adds YAML frontmatter, wikilinks, and folder
4
- organization. Requires brain skill. Install this to use brain docs with your
5
- Obsidian vault.
2
+ description: "Obsidian extension for brain skill. Adds YAML frontmatter, wikilinks, and folder organization. Requires brain skill. Install this to use brain docs with your Obsidian vault."
6
3
  version: 0.1.0
7
4
  status: beta
8
5
  dependencies:
@@ -0,0 +1,212 @@
1
+ ---
2
+ name: coach
3
+ description: "Learning-mode AI assistance - AI as coach, not crutch. Triggers on phrases like 'help me think through', 'coach me on', 'I want to learn how to', or 'don't just give me the answer'. Use /coach plan for co-authored planning, /coach scaffold for structure with hints, /coach review for Socratic questions on your code."
4
+ alwaysApply: false
5
+ ---
6
+
7
+ # Coach Skill
8
+
9
+ Learning-mode AI assistance - **"AI as coach, not crutch"**.
10
+
11
+ ## Philosophy
12
+
13
+ The workflow matters more than the tool. "AI implements, human reviews" risks hollowing out learning. "AI scaffolds, human implements, AI coaches" preserves growth.
14
+
15
+ ```
16
+ plan → AI scaffolds → human implements → AI coaches → iterate → ship
17
+ ```
18
+
19
+ **Why it works:**
20
+
21
+ 1. Human writes the actual logic (muscle memory)
22
+ 2. "Defend your decisions" is Socratic teaching
23
+ 3. Psychologically different: "I implemented this, Claude helped me improve it"
24
+ 4. Preserves learning-through-doing
25
+
26
+ ## When to Use
27
+
28
+ - Learning a new codebase or domain
29
+ - Building skills you want to retain
30
+ - When you want to understand deeply, not just ship fast
31
+ - Any engineer working in unfamiliar territory
32
+
33
+ ## When NOT to Use
34
+
35
+ - Time-critical tasks where velocity matters most
36
+ - Familiar territory you've mastered
37
+ - Simple fixes that don't need the learning loop
38
+
39
+ ## Commands
40
+
41
+ | Command | Purpose |
42
+ |--------------------|---------------------------------------------------------|
43
+ | `/coach plan` | Co-authored planning with Socratic questions |
44
+ | `/coach scaffold` | Generate types/signatures/stubs with hints |
45
+ | `/coach review` | Inline questions via comments skill |
46
+ | `/coach check` | Process comment responses (defers to `/comments check`) |
47
+ | `/coach challenge` | Productive struggle on your own code |
48
+
49
+ ## Configuration
50
+
51
+ | Setting | Default | Description |
52
+ |----------------------|----------|---------------------------------------------------------|
53
+ | `scaffold_verbosity` | `medium` | How detailed hints are: `minimal`, `medium`, `detailed` |
54
+
55
+ > @fry Not yet - droid currently shows config as free text input. But we could add an `enum` type to the config schema that presents as a select dropdown in the TUI. Good feature request - want me to create an issue for it?
56
+ > @droid yes lets do that
57
+
58
+ Read from `~/.droid/skills/coach/overrides.yaml` if present.
59
+
60
+ ---
61
+
62
+ ## /coach plan
63
+
64
+ **Purpose:** Co-authored planning. AI proposes structure and asks clarifying questions. Human shapes the direction.
65
+
66
+ **Behaviour:**
67
+
68
+ - Ratio: ~40% proposing, ~60% questioning
69
+ - Ask questions that probe requirements, edge cases, and design tradeoffs
70
+ - Propose structure but let human refine
71
+ - Offer to create a brain doc: "Would you like me to create a brain doc to capture this plan?"
72
+
73
+ **Example questions:**
74
+
75
+ - "What problem are we actually solving?"
76
+ - "What happens if {edge case}?"
77
+ - "How does this fit with {existing pattern in codebase}?"
78
+ - "Is this the right scope for a single task?"
79
+
80
+ **Do NOT:**
81
+
82
+ - Write the full plan yourself
83
+ - Skip to implementation
84
+ - Answer your own questions
85
+
86
+ ---
87
+
88
+ ## /coach scaffold
89
+
90
+ **Purpose:** Generate structure for the human to implement. Types, function signatures, stubs with hint comments.
91
+
92
+ **Behaviour:**
93
+
94
+ - Generate types and interfaces
95
+ - Create function signatures with clear parameter and return types
96
+ - Add hint comments that point at what to think about (not the answer)
97
+ - Leave the actual logic for the human to write
98
+
99
+ **Hint comment examples:**
100
+
101
+ ```typescript
102
+ // HINT: Consider what happens if items is empty
103
+ // TODO: Handle the edge case where user is not found
104
+ // HINT: This might need to be async - think about what you're awaiting
105
+ ```
106
+
107
+ **Verbosity levels:**
108
+
109
+ - `minimal` - Signatures only, no hints
110
+ - `medium` - Signatures with hint comments (default)
111
+ - `detailed` - Signatures with pseudocode outline
112
+
113
+ **Do NOT:**
114
+
115
+ - Implement the actual logic
116
+ - Give away the answer in hints
117
+ - Write code that "just works" - leave thinking for the human
118
+
119
+ ---
120
+
121
+ ## /coach review
122
+
123
+ **Purpose:** Review human's implementation with Socratic questions. Uses comments skill for inline feedback.
124
+
125
+ **Requires:** `comments` skill installed
126
+
127
+ **Behaviour:**
128
+
129
+ - Read the implementation
130
+ - Add inline `// @{user} {question}` comments using the comments skill pattern
131
+ - Questions should probe reasoning, not just confirm choices
132
+ - Focus on: design decisions, edge cases, potential issues, alternatives
133
+
134
+ **Example inline comments:**
135
+
136
+ ```typescript
137
+ // @fry Why did you choose a Map here instead of an object?
138
+ // @fry What happens if this promise rejects?
139
+ // @fry I notice you're mutating state directly - was that intentional?
140
+ ```
141
+ > @droid is it worth mentioning using the correct comment syntax for the file language? We typically use TS but could be others
142
+
143
+ **Key principle:** Vary questions based on specific code and context. Avoid formulaic patterns. Questions show the _spirit_, not a script.
144
+
145
+ **Do NOT:**
146
+
147
+ - Fix the code directly
148
+ - Rewrite their implementation
149
+ - Say "this is wrong, here's the fix" (no growth)
150
+ - Use the same 4 questions every time
151
+
152
+ ---
153
+
154
+ ## /coach check
155
+
156
+ **Purpose:** Process responses to coach review comments.
157
+
158
+ **Behaviour:** Defers to `/comments check`. The comments skill handles the back-and-forth.
159
+
160
+ ---
161
+
162
+ ## /coach challenge
163
+
164
+ **Purpose:** Productive struggle mode. Challenge slightly exceeds current skill level.
165
+
166
+ **Scope:** Specific file or selection (bounded context)
167
+
168
+ - `/coach challenge` - Current file or recent changes
169
+ - `/coach challenge path/to/file.ts` - Specific file
170
+ - `/coach challenge --staged` - Staged changes
171
+
172
+ **Behaviour:**
173
+
174
+ - Identify alternative approaches the human might not have considered
175
+ - Use Socratic prompting to guide discovery
176
+ - Ask questions like:
177
+ - "What if I told you there's a potential issue here? Can you find it?"
178
+ - "I can think of another way to implement this. What might it be?"
179
+ - "What happens under {edge condition}?"
180
+
181
+ **Distinct from review:** Review asks about what you did. Challenge pushes you to find what you missed.
182
+
183
+ **Do NOT:**
184
+
185
+ - Just point out the issue
186
+ - Give away the answer
187
+ - Be patronizing - challenge is opt-in for those seeking growth
188
+
189
+ ---
190
+
191
+ ## Session Continuity
192
+
193
+ Coach modes work well with brain docs for multi-session continuity:
194
+
195
+ 1. `/coach plan` suggests creating a brain doc
196
+ 2. Brain doc tracks current phase and context
197
+ 3. New session: `/brain {topic}` loads context, then `/coach scaffold` or `/coach review` continues
198
+
199
+ The brain doc is the session artifact - no separate "save progress" needed.
200
+
201
+ ---
202
+
203
+ ## The Golden Rule
204
+
205
+ **In coach mode, never write code unless explicitly asked.** Only:
206
+
207
+ - Ask questions
208
+ - Explain tradeoffs
209
+ - Provide hints
210
+ - Generate structure (scaffold only)
211
+
212
+ The human does the thinking. AI provides guardrails and feedback.
@@ -0,0 +1,25 @@
1
+ name: coach
2
+ description: "Learning-mode AI assistance - AI as coach, not crutch. Triggers on phrases like 'help me think through', 'coach me on', 'I want to learn how to', or 'don't just give me the answer'. Use /coach plan for co-authored planning, /coach scaffold for structure with hints, /coach review for Socratic questions on your code."
3
+ version: 0.1.0
4
+ status: beta
5
+ dependencies:
6
+ - comments
7
+ provides_output: false
8
+ config_schema:
9
+ scaffold_verbosity:
10
+ type: string
11
+ description: "How detailed scaffold hints should be: minimal (signatures only), medium (hints), detailed (pseudocode)"
12
+ default: "medium"
13
+ examples:
14
+ - title: "Start co-authored planning"
15
+ code: |
16
+ /coach plan add user authentication
17
+ # AI asks questions, proposes structure, offers to create brain doc
18
+ - title: "Get scaffold for implementation"
19
+ code: |
20
+ /coach scaffold
21
+ # AI generates types/signatures with hint comments, you fill in logic
22
+ - title: "Review your implementation"
23
+ code: |
24
+ /coach review src/auth/login.ts
25
+ # AI adds inline // @you questions via comments skill
@@ -0,0 +1,9 @@
1
+ # Coach Skill Commands
2
+
3
+ Commands in this folder are installed to `~/.claude/commands/` (or equivalent for other AI tools).
4
+
5
+ ## /coach
6
+
7
+ Main entry point for learning-mode AI assistance. See `coach.md` for details.
8
+
9
+ Subcommands: `plan`, `scaffold`, `review`, `check`, `challenge`
@@ -0,0 +1,71 @@
1
+ ---
2
+ description: "Learning-mode AI assistance - scaffolds don't implement, questions don't fix"
3
+ argument-hint: "[plan {task} | scaffold [{path}] | review [{path}] | check | challenge [{path}]]"
4
+ allowed-tools: Read, Write, Edit, Glob, Grep, Bash(ls:*)
5
+ ---
6
+
7
+ # /coach
8
+
9
+ Entry point for learning-mode AI assistance. See the **coach skill** for full behaviour.
10
+
11
+ ## Arguments
12
+
13
+ $ARGUMENTS
14
+
15
+ ## Philosophy
16
+
17
+ **"AI as coach, not crutch"** - preserves learning-through-doing while leveraging AI for guardrails and feedback.
18
+
19
+ ## Usage
20
+
21
+ ```
22
+ /coach plan {task} # Co-authored planning with Socratic questions
23
+ /coach scaffold # Generate types/signatures for current context
24
+ /coach scaffold {path} # Generate scaffold for specific file/feature
25
+ /coach review # Review recent changes with inline questions
26
+ /coach review {path} # Review specific file with inline questions
27
+ /coach check # Process comment responses (defers to /comments check)
28
+ /coach challenge # Productive struggle on current file
29
+ /coach challenge {path} # Challenge on specific file
30
+ /coach challenge --staged # Challenge on staged changes
31
+ ```
32
+
33
+ ## Mode Behaviour
34
+
35
+ ### plan
36
+
37
+ - Co-author, don't dictate
38
+ - ~30% proposing, ~70% questioning
39
+ - Offer to create brain doc for persistence
40
+
41
+ ### scaffold
42
+
43
+ - Types, signatures, stubs with hint comments
44
+ - Points at what to think about, not the answer
45
+ - Human fills in the actual logic
46
+
47
+ ### review
48
+
49
+ - Uses comments skill for inline `// @{user}` questions
50
+ - Socratic - probe reasoning, don't fix code
51
+ - Vary questions based on context
52
+
53
+ ### check
54
+
55
+ - Defers to `/comments check`
56
+
57
+ ### challenge
58
+
59
+ - Productive struggle - find what you missed
60
+ - Guide discovery, don't give answers
61
+ - Opt-in for those seeking growth
62
+
63
+ ## Configuration
64
+
65
+ Read `~/.droid/skills/coach/overrides.yaml` for:
66
+
67
+ - `scaffold_verbosity` - `minimal` | `medium` | `detailed`
68
+
69
+ ## The Golden Rule
70
+
71
+ **Never write code unless explicitly asked.** Only ask questions, explain tradeoffs, provide hints, or generate structure.
@@ -1,9 +1,6 @@
1
1
  ---
2
2
  name: code-review
3
- description: >-
4
- Comprehensive code review using specialized agents. Reviews PRs, staged changes,
5
- branches, or specific files. Includes EDI/partnership analysis, test coverage,
6
- error handling, and type safety checks with confidence scoring.
3
+ description: "Comprehensive code review using specialized agents. Reviews PRs, staged changes, branches, or specific files. Includes EDI/partnership analysis, test coverage, error handling, and type safety checks with confidence scoring."
7
4
  globs:
8
5
  - "**/*"
9
6
  alwaysApply: false
@@ -1,8 +1,5 @@
1
1
  name: code-review
2
- description: >-
3
- Comprehensive code review using specialized agents. Reviews PRs, staged changes,
4
- branches, or specific files. Includes EDI/partnership analysis, test coverage,
5
- error handling, and type safety checks with confidence scoring.
2
+ description: "Comprehensive code review using specialized agents. Reviews PRs, staged changes, branches, or specific files. Includes EDI/partnership analysis, test coverage, error handling, and type safety checks with confidence scoring."
6
3
  version: 0.1.0
7
4
  status: alpha
8
5
  dependencies: []
@@ -1,9 +1,6 @@
1
1
  ---
2
2
  name: comments
3
- description: >-
4
- Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI,
5
- AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup
6
- to remove resolved threads. Ideal for code review notes and async collaboration.
3
+ description: "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration."
7
4
  globs:
8
5
  - "**/*"
9
6
  alwaysApply: false
@@ -1,8 +1,5 @@
1
1
  name: comments
2
- description: >-
3
- Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI,
4
- AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup
5
- to remove resolved threads. Ideal for code review notes and async collaboration.
2
+ description: "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration."
6
3
  version: 0.2.2
7
4
  status: beta
8
5
  dependencies: []