get-shit-done-cc 1.9.11 → 1.10.0-experimental.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 (61) hide show
  1. package/README.md +10 -9
  2. package/agents/design-specialist.md +222 -0
  3. package/agents/gsd-executor.md +37 -375
  4. package/agents/gsd-planner.md +15 -108
  5. package/bin/install.js +92 -5
  6. package/commands/gsd/autopilot.md +518 -0
  7. package/commands/gsd/checkpoints.md +229 -0
  8. package/commands/gsd/design-system.md +70 -0
  9. package/commands/gsd/discuss-design.md +77 -0
  10. package/commands/gsd/extend.md +80 -0
  11. package/commands/gsd/help.md +46 -17
  12. package/commands/gsd/new-project.md +94 -8
  13. package/commands/gsd/plan-phase.md +35 -5
  14. package/get-shit-done/references/ccr-integration.md +468 -0
  15. package/get-shit-done/references/checkpoint-execution.md +369 -0
  16. package/get-shit-done/references/checkpoint-types.md +728 -0
  17. package/get-shit-done/references/deviation-rules.md +215 -0
  18. package/get-shit-done/references/framework-patterns.md +543 -0
  19. package/get-shit-done/references/ui-principles.md +258 -0
  20. package/get-shit-done/references/verification-patterns.md +1 -1
  21. package/get-shit-done/skills/gsd-extend/SKILL.md +154 -0
  22. package/get-shit-done/skills/gsd-extend/references/agent-structure.md +305 -0
  23. package/get-shit-done/skills/gsd-extend/references/extension-anatomy.md +123 -0
  24. package/get-shit-done/skills/gsd-extend/references/reference-structure.md +408 -0
  25. package/get-shit-done/skills/gsd-extend/references/template-structure.md +370 -0
  26. package/get-shit-done/skills/gsd-extend/references/validation-rules.md +140 -0
  27. package/get-shit-done/skills/gsd-extend/references/workflow-structure.md +253 -0
  28. package/get-shit-done/skills/gsd-extend/templates/agent-template.md +234 -0
  29. package/get-shit-done/skills/gsd-extend/templates/reference-template.md +239 -0
  30. package/get-shit-done/skills/gsd-extend/templates/workflow-template.md +169 -0
  31. package/get-shit-done/skills/gsd-extend/workflows/create-approach.md +332 -0
  32. package/get-shit-done/skills/gsd-extend/workflows/list-extensions.md +133 -0
  33. package/get-shit-done/skills/gsd-extend/workflows/remove-extension.md +93 -0
  34. package/get-shit-done/skills/gsd-extend/workflows/validate-extension.md +184 -0
  35. package/get-shit-done/templates/autopilot-script-simple.sh +181 -0
  36. package/get-shit-done/templates/autopilot-script.sh +1142 -0
  37. package/get-shit-done/templates/autopilot-script.sh.backup +1142 -0
  38. package/get-shit-done/templates/design-system.md +238 -0
  39. package/get-shit-done/templates/phase-design.md +205 -0
  40. package/get-shit-done/templates/phase-models-template.json +71 -0
  41. package/get-shit-done/templates/phase-prompt.md +4 -4
  42. package/get-shit-done/templates/state.md +37 -0
  43. package/get-shit-done/tui/App.tsx +169 -0
  44. package/get-shit-done/tui/README.md +107 -0
  45. package/get-shit-done/tui/build.js +37 -0
  46. package/get-shit-done/tui/components/ActivityFeed.tsx +126 -0
  47. package/get-shit-done/tui/components/PhaseCard.tsx +86 -0
  48. package/get-shit-done/tui/components/StatsBar.tsx +147 -0
  49. package/get-shit-done/tui/dist/index.js +387 -0
  50. package/get-shit-done/tui/index.tsx +12 -0
  51. package/get-shit-done/tui/package-lock.json +1074 -0
  52. package/get-shit-done/tui/package.json +22 -0
  53. package/get-shit-done/tui/utils/pipeReader.ts +129 -0
  54. package/get-shit-done/workflows/design-system.md +245 -0
  55. package/get-shit-done/workflows/discuss-design.md +330 -0
  56. package/get-shit-done/workflows/execute-phase.md +44 -1
  57. package/get-shit-done/workflows/execute-plan-auth.md +122 -0
  58. package/get-shit-done/workflows/execute-plan-checkpoints.md +541 -0
  59. package/get-shit-done/workflows/execute-plan.md +34 -856
  60. package/package.json +8 -3
  61. package/commands/gsd/whats-new.md +0 -124
@@ -0,0 +1,169 @@
1
+ ---
2
+ name: workflow-template
3
+ description: Template for creating custom workflow extensions
4
+ used_by:
5
+ - create-workflow
6
+ placeholders:
7
+ - name
8
+ - description
9
+ - triggers
10
+ - replaces
11
+ - requires
12
+ - purpose
13
+ - when_to_use
14
+ - required_reading
15
+ - steps
16
+ - success_criteria
17
+ ---
18
+
19
+ <template>
20
+
21
+ ```yaml
22
+ ---
23
+ name: {name}
24
+ description: {description}
25
+ triggers: [{triggers}]
26
+ replaces: {replaces}
27
+ requires: [{requires}]
28
+ ---
29
+ ```
30
+
31
+ ```xml
32
+ <purpose>
33
+ {purpose}
34
+ </purpose>
35
+
36
+ <when_to_use>
37
+ {when_to_use}
38
+ </when_to_use>
39
+
40
+ <required_reading>
41
+ {required_reading}
42
+ </required_reading>
43
+
44
+ <process>
45
+
46
+ {steps}
47
+
48
+ </process>
49
+
50
+ <success_criteria>
51
+ {success_criteria}
52
+ </success_criteria>
53
+ ```
54
+
55
+ </template>
56
+
57
+ <guidelines>
58
+
59
+ ## How to Fill This Template
60
+
61
+ **{name}:** kebab-case identifier matching filename (e.g., `my-custom-workflow`)
62
+
63
+ **{description}:** One sentence describing what this workflow accomplishes
64
+
65
+ **{triggers}:** Array of trigger points:
66
+ - `plan-phase` - Triggered by /gsd:plan-phase
67
+ - `execute-plan` - Triggered during plan execution
68
+ - `execute-phase` - Triggered by /gsd:execute-phase
69
+ - `verify-phase` - Triggered during verification
70
+ - `custom` - Only triggered via explicit reference
71
+
72
+ **{replaces}:** Name of built-in workflow to override, or `null` for new capability
73
+
74
+ **{requires}:** Array of reference names this workflow needs, or `[]` for none
75
+
76
+ **{purpose}:** 2-3 sentences explaining what this workflow does and why
77
+
78
+ **{when_to_use}:** Bullet list of conditions that make this workflow appropriate
79
+
80
+ **{required_reading}:** @-references to files that must be loaded
81
+
82
+ **{steps}:** Series of `<step name="step_name">` elements, each containing:
83
+ - Clear description of what the step does
84
+ - Code examples if needed
85
+ - Conditional logic if needed
86
+
87
+ **{success_criteria}:** Markdown checklist of completion criteria
88
+
89
+ </guidelines>
90
+
91
+ <examples>
92
+
93
+ ## Good Example
94
+
95
+ ```yaml
96
+ ---
97
+ name: spike-first-planning
98
+ description: Plan by creating a spike implementation first
99
+ triggers: [plan-phase]
100
+ replaces: null
101
+ requires: []
102
+ ---
103
+ ```
104
+
105
+ ```xml
106
+ <purpose>
107
+ Alternative planning workflow that creates a spike implementation first,
108
+ then derives formal plans from what worked. Use when exploring unfamiliar
109
+ domains where requirements are fuzzy.
110
+ </purpose>
111
+
112
+ <when_to_use>
113
+ - Domain is unfamiliar and approach is uncertain
114
+ - Requirements are vague or evolving
115
+ - Learning through implementation is valuable
116
+ - Risk of over-planning is high
117
+ </when_to_use>
118
+
119
+ <process>
120
+
121
+ <step name="create_spike">
122
+ Create a time-boxed spike task focusing on the core uncertainty.
123
+ Goal is learning, not production quality.
124
+ </step>
125
+
126
+ <step name="execute_spike">
127
+ Execute spike with 1-2 hour time limit. Document:
128
+ - What worked
129
+ - What didn't work
130
+ - Key decisions made
131
+ - Approach to formalize
132
+ </step>
133
+
134
+ <step name="derive_plans">
135
+ From spike learnings, create formal PLAN.md files:
136
+ - Extract the successful approach
137
+ - Add proper verification
138
+ - Define success criteria
139
+ </step>
140
+
141
+ </process>
142
+
143
+ <success_criteria>
144
+ - [ ] Spike completed within time box
145
+ - [ ] Learnings documented
146
+ - [ ] Formal plans derived from spike
147
+ - [ ] Ready for normal execution
148
+ </success_criteria>
149
+ ```
150
+
151
+ ## Bad Example
152
+
153
+ ```yaml
154
+ ---
155
+ name: workflow
156
+ description: Does stuff
157
+ triggers: []
158
+ ---
159
+ ```
160
+
161
+ Problems:
162
+ - Name is too generic
163
+ - Description is vague
164
+ - No triggers defined
165
+ - No purpose section
166
+ - No steps documented
167
+ - No success criteria
168
+
169
+ </examples>
@@ -0,0 +1,332 @@
1
+ <purpose>
2
+ Create a complete GSD approach through conversational discovery. An approach is a cohesive methodology - a workflow with supporting references, agents, and templates that work together.
3
+
4
+ You are a thinking partner, not an interviewer. The user knows what they want to achieve differently. Your job is to understand their vision and translate it into GSD components.
5
+ </purpose>
6
+
7
+ <required_reading>
8
+ @~/.claude/get-shit-done/skills/gsd-extend/references/extension-anatomy.md
9
+ </required_reading>
10
+
11
+ <philosophy>
12
+ **User = methodology designer. Claude = builder.**
13
+
14
+ The user knows:
15
+ - What frustrates them about current workflow
16
+ - What they imagine working better
17
+ - When they'd use this approach
18
+ - What success looks like
19
+
20
+ The user doesn't know (and shouldn't need to):
21
+ - GSD extension architecture
22
+ - Workflow vs agent vs reference distinctions
23
+ - XML structure and frontmatter format
24
+ - How to wire components together
25
+
26
+ Ask about their vision. You figure out the implementation.
27
+ </philosophy>
28
+
29
+ <process>
30
+
31
+ <step name="open_conversation" priority="first">
32
+ **Display stage banner:**
33
+
34
+ ```
35
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
36
+ GSD ► CREATE APPROACH
37
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
38
+ ```
39
+
40
+ **Open the conversation:**
41
+
42
+ Ask inline (freeform, NOT AskUserQuestion):
43
+
44
+ "What would you like GSD to do differently? Describe the workflow or approach you have in mind."
45
+
46
+ Wait for their response. This gives you context to ask intelligent follow-up questions.
47
+ </step>
48
+
49
+ <step name="follow_the_thread">
50
+ Based on what they said, ask follow-up questions that dig into their response.
51
+
52
+ **Use AskUserQuestion with options that probe what they mentioned:**
53
+ - Interpretations of vague terms
54
+ - Clarifications on triggers
55
+ - Concrete examples of what success looks like
56
+
57
+ **Keep following threads.** Each answer opens new threads. Ask about:
58
+ - What frustrates them about the current approach
59
+ - What specifically would be different
60
+ - When this approach applies vs doesn't
61
+ - What outputs or artifacts they expect
62
+ - What domain knowledge would help
63
+
64
+ **Example follow-up patterns:**
65
+
66
+ If they mention "spike first":
67
+ - "When you say spike, do you mean throwaway code or a minimal prototype?"
68
+ - "What happens after the spike? Formal plans, or iterate on the spike?"
69
+ - "How do you know when the spike is done?"
70
+
71
+ If they mention "security review":
72
+ - "At what point - before commit, before PR, after each task?"
73
+ - "What should it check? OWASP top 10, or specific patterns?"
74
+ - "Should it block on findings or just report?"
75
+
76
+ If they mention "API first":
77
+ - "OpenAPI spec, or informal contract?"
78
+ - "Generate code from spec, or just validate against it?"
79
+ - "Who writes the spec - you or Claude?"
80
+
81
+ **The 4-then-check pattern:**
82
+
83
+ After ~4 questions on a thread, check:
84
+
85
+ - header: "Thread"
86
+ - question: "More questions about [topic], or move on?"
87
+ - options:
88
+ - "More questions" — I want to clarify further
89
+ - "Move on" — I've said enough about this
90
+
91
+ If "More questions" → ask 4 more, then check again.
92
+ </step>
93
+
94
+ <step name="identify_components">
95
+ As you converse, mentally map what they're describing to GSD components:
96
+
97
+ **Workflow signals:**
98
+ - "First I want to..., then..." → sequence of steps
99
+ - "At this point, check..." → verification step
100
+ - "If X happens, then..." → conditional logic
101
+ - "This replaces..." → override built-in
102
+
103
+ **Reference signals:**
104
+ - "Claude should know about..." → domain knowledge
105
+ - "There are patterns for..." → best practices
106
+ - "Watch out for..." → anti-patterns
107
+ - "In our codebase, we..." → project conventions
108
+
109
+ **Agent signals:**
110
+ - "Specialized analysis of..." → focused worker
111
+ - "Review for..." → auditing task
112
+ - "Research..." → investigation task
113
+ - "Generate..." → creation task
114
+
115
+ **Template signals:**
116
+ - "The output should look like..." → structured format
117
+ - "Always include..." → required sections
118
+ - "Following this format..." → consistency need
119
+
120
+ Don't surface this analysis. Just track it internally.
121
+ </step>
122
+
123
+ <step name="ready_check">
124
+ When you could design the approach, use AskUserQuestion:
125
+
126
+ - header: "Ready?"
127
+ - question: "I think I understand what you're after. Ready to design the approach?"
128
+ - options:
129
+ - "Design it" — Let's see what you've got
130
+ - "Keep exploring" — I want to share more
131
+
132
+ If "Keep exploring" — ask what they want to add, or identify gaps and probe naturally.
133
+
134
+ Loop until "Design it" selected.
135
+ </step>
136
+
137
+ <step name="present_design">
138
+ Present the approach design:
139
+
140
+ ```
141
+ ## Proposed Approach: {name}
142
+
143
+ Based on our conversation, here's what I'll create:
144
+
145
+ **Workflow:** {name}.md
146
+ - Triggers: {when it activates}
147
+ - {Replaces: {built-in} OR Adds new capability}
148
+ - Flow:
149
+ 1. {step 1}
150
+ 2. {step 2}
151
+ 3. {step 3}
152
+
153
+ {If reference needed:}
154
+ **Reference:** {name}-patterns.md
155
+ - Domain knowledge about: {what}
156
+ - Loaded when: {triggers}
157
+
158
+ {If agent needed:}
159
+ **Agent:** {name}-{role}.md
160
+ - Purpose: {what it does}
161
+ - Spawned: {when in the workflow}
162
+
163
+ {If template needed:}
164
+ **Template:** {name}-{artifact}.md
165
+ - Produces: {what artifact}
166
+ - Used by: {workflow step}
167
+
168
+ ---
169
+
170
+ Does this capture your approach?
171
+ ```
172
+
173
+ Use AskUserQuestion:
174
+ - header: "Design"
175
+ - question: "Does this design capture what you described?"
176
+ - options:
177
+ - "Yes, create it" — Build all the components
178
+ - "Adjust" — Let me tell you what's different
179
+ - "Start over" — I want to describe it differently
180
+
181
+ If "Adjust" — get their feedback, update design, present again.
182
+ If "Start over" — return to open_conversation.
183
+ </step>
184
+
185
+ <step name="determine_scope">
186
+ Use AskUserQuestion:
187
+
188
+ - header: "Scope"
189
+ - question: "Where should this approach be available?"
190
+ - options:
191
+ - "All my projects (Recommended)" — Install to ~/.claude/gsd-extensions/
192
+ - "This project only" — Install to .planning/extensions/
193
+ </step>
194
+
195
+ <step name="generate_components">
196
+ Create all components with proper cross-references.
197
+
198
+ **1. Create directories:**
199
+
200
+ ```bash
201
+ if [[ "$SCOPE" == "global" ]]; then
202
+ BASE="$HOME/.claude/gsd-extensions"
203
+ else
204
+ BASE=".planning/extensions"
205
+ fi
206
+
207
+ mkdir -p "$BASE/workflows"
208
+ [[ -n "$NEEDS_REFERENCE" ]] && mkdir -p "$BASE/references"
209
+ [[ -n "$NEEDS_AGENT" ]] && mkdir -p "$BASE/agents"
210
+ [[ -n "$NEEDS_TEMPLATE" ]] && mkdir -p "$BASE/templates"
211
+ ```
212
+
213
+ **2. Generate each component:**
214
+
215
+ For each component, use the appropriate structure from references/:
216
+ - Workflow: @references/workflow-structure.md
217
+ - Agent: @references/agent-structure.md
218
+ - Reference: @references/reference-structure.md
219
+ - Template: @references/template-structure.md
220
+
221
+ **3. Wire components together:**
222
+
223
+ In the workflow, add @-references to other components:
224
+
225
+ ```xml
226
+ <required_reading>
227
+ @{BASE}/references/{name}-patterns.md
228
+ </required_reading>
229
+
230
+ <step name="spawn_specialized_agent">
231
+ Task(
232
+ prompt="@{BASE}/agents/{name}-{role}.md
233
+
234
+ <context>
235
+ {context from workflow state}
236
+ </context>",
237
+ subagent_type="general-purpose",
238
+ model="sonnet",
239
+ description="{brief}"
240
+ )
241
+ </step>
242
+
243
+ <output>
244
+ Use template: @{BASE}/templates/{name}-{artifact}.md
245
+ </output>
246
+ ```
247
+ </step>
248
+
249
+ <step name="validate">
250
+ Validate all components:
251
+
252
+ ```bash
253
+ echo "Validating approach..."
254
+
255
+ for file in "$BASE"/*/"${PREFIX}"*.md; do
256
+ echo " Checking: $(basename $file)"
257
+
258
+ # YAML frontmatter
259
+ head -5 "$file" | grep -q "^---" && echo " ✓ Frontmatter" || echo " ✗ Missing frontmatter"
260
+
261
+ # Required fields
262
+ grep -q "^name:" "$file" && echo " ✓ Name field" || echo " ✗ Missing name"
263
+ grep -q "^description:" "$file" && echo " ✓ Description" || echo " ✗ Missing description"
264
+ done
265
+
266
+ # Check cross-references resolve
267
+ echo " Checking references..."
268
+ grep -ohE '@[~./][^[:space:]<>]+' "$BASE/workflows/${PREFIX}"*.md 2>/dev/null | while read ref; do
269
+ path="${ref#@}"
270
+ path="${path/#\~/$HOME}"
271
+ [[ -f "$path" ]] && echo " ✓ $ref" || echo " ✗ $ref NOT FOUND"
272
+ done
273
+
274
+ echo "Validation complete."
275
+ ```
276
+ </step>
277
+
278
+ <step name="present_result">
279
+ ```
280
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
281
+ GSD ► APPROACH CREATED ✓
282
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
283
+
284
+ ## {Approach Name}
285
+
286
+ | Component | Location |
287
+ |-----------|----------|
288
+ | Workflow | {path} |
289
+ | Reference | {path} |
290
+ | Agent | {path} |
291
+ | Template | {path} |
292
+
293
+ ───────────────────────────────────────────────────────────────
294
+
295
+ ## How to Use
296
+
297
+ {If replaces built-in:}
298
+ Automatically activates when you run `{command}`.
299
+ GSD uses your workflow instead of the built-in.
300
+
301
+ {If new capability:}
302
+ Reference in your plans or workflows:
303
+ @{workflow_path}
304
+
305
+ Or invoke the workflow step name from your commands.
306
+
307
+ ───────────────────────────────────────────────────────────────
308
+
309
+ ## To Customize
310
+
311
+ Edit files directly:
312
+ {list paths}
313
+
314
+ ## To Remove
315
+
316
+ /gsd:extend remove {name}
317
+
318
+ ───────────────────────────────────────────────────────────────
319
+ ```
320
+ </step>
321
+
322
+ </process>
323
+
324
+ <success_criteria>
325
+ - [ ] User's vision fully understood through conversation
326
+ - [ ] Follow-up questions probed what user mentioned (not generic)
327
+ - [ ] User confirmed design before generation
328
+ - [ ] All needed components identified and created
329
+ - [ ] Components properly cross-referenced
330
+ - [ ] All components pass validation
331
+ - [ ] User knows how to use and customize the approach
332
+ </success_criteria>
@@ -0,0 +1,133 @@
1
+ <purpose>
2
+ Discover and list all GSD extensions, grouped by approach when components share naming conventions.
3
+ </purpose>
4
+
5
+ <process>
6
+
7
+ <step name="scan_extensions">
8
+ Scan all extension locations:
9
+
10
+ ```bash
11
+ echo "Scanning extensions..."
12
+
13
+ # Collect all extension files
14
+ PROJECT_EXTS=$(find .planning/extensions -name "*.md" 2>/dev/null | sort)
15
+ GLOBAL_EXTS=$(find ~/.claude/gsd-extensions -name "*.md" 2>/dev/null | sort)
16
+ BUILTIN_WORKFLOWS=$(ls ~/.claude/get-shit-done/workflows/*.md 2>/dev/null | wc -l | xargs)
17
+ BUILTIN_REFS=$(ls ~/.claude/get-shit-done/references/*.md 2>/dev/null | wc -l | xargs)
18
+ BUILTIN_TEMPLATES=$(ls ~/.claude/get-shit-done/templates/*.md 2>/dev/null | wc -l | xargs)
19
+ ```
20
+ </step>
21
+
22
+ <step name="identify_approaches">
23
+ Group extensions by shared prefix to identify approaches:
24
+
25
+ For each extension file:
26
+ 1. Extract the base name (e.g., `spike-first-planning.md` → `spike-first`)
27
+ 2. Group files with same prefix across types
28
+ 3. Identify cohesive approaches vs standalone components
29
+
30
+ ```bash
31
+ # Example grouping logic
32
+ for ext in $GLOBAL_EXTS; do
33
+ type=$(dirname "$ext" | xargs basename)
34
+ name=$(basename "$ext" .md)
35
+ prefix=$(echo "$name" | sed 's/-[^-]*$//') # Remove last segment
36
+ echo "$prefix|$type|$name"
37
+ done | sort
38
+ ```
39
+ </step>
40
+
41
+ <step name="format_output">
42
+ Present extensions organized by scope and approach:
43
+
44
+ ```
45
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
46
+ GSD ► EXTENSIONS
47
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
48
+
49
+ ## Project Extensions (.planning/extensions/)
50
+
51
+ {If none:}
52
+ None installed.
53
+
54
+ {If found, group by approach:}
55
+
56
+ ### spike-first (approach)
57
+ - workflows/spike-first-planning.md
58
+ - references/spike-patterns.md
59
+ - agents/spike-evaluator.md
60
+
61
+ ### security-audit (standalone workflow)
62
+ - workflows/security-audit.md
63
+
64
+ ───────────────────────────────────────────────────────────────
65
+
66
+ ## Global Extensions (~/.claude/gsd-extensions/)
67
+
68
+ {Same format}
69
+
70
+ ───────────────────────────────────────────────────────────────
71
+
72
+ ## Built-in GSD
73
+
74
+ - {N} workflows
75
+ - {N} references
76
+ - {N} templates
77
+ - {N} agents
78
+
79
+ ───────────────────────────────────────────────────────────────
80
+
81
+ ## Override Status
82
+
83
+ {List any custom extensions that override built-ins}
84
+
85
+ ───────────────────────────────────────────────────────────────
86
+
87
+ ## Actions
88
+
89
+ /gsd:extend create — Create a new approach
90
+ /gsd:extend remove X — Remove an extension
91
+
92
+ ───────────────────────────────────────────────────────────────
93
+ ```
94
+ </step>
95
+
96
+ <step name="detail_on_request">
97
+ If user asks about a specific extension, show details:
98
+
99
+ ```bash
100
+ # Read frontmatter
101
+ head -20 "$EXT_PATH" | sed -n '/^---$/,/^---$/p'
102
+
103
+ # Show structure
104
+ wc -l "$EXT_PATH"
105
+
106
+ # Show cross-references
107
+ grep -oE '@[~./][^[:space:]]+' "$EXT_PATH"
108
+ ```
109
+
110
+ Present:
111
+ ```
112
+ ## Extension: {name}
113
+
114
+ **Type:** {workflow/agent/reference/template}
115
+ **Location:** {path}
116
+ **Description:** {from frontmatter}
117
+
118
+ **Cross-references:**
119
+ {list of @-references}
120
+
121
+ **Structure:**
122
+ {line count, sections present}
123
+ ```
124
+ </step>
125
+
126
+ </process>
127
+
128
+ <success_criteria>
129
+ - [ ] All scopes scanned (project, global, built-in)
130
+ - [ ] Extensions grouped by approach where applicable
131
+ - [ ] Override status identified
132
+ - [ ] User knows how to create/remove
133
+ </success_criteria>