@allthingsclaude/blueprints 0.3.0-beta.2 → 0.3.0-beta.20

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 (72) hide show
  1. package/README.md +72 -7
  2. package/content/agents/a11y.md +402 -0
  3. package/content/agents/audit.md +5 -5
  4. package/content/agents/bootstrap.md +31 -9
  5. package/content/agents/changelog.md +350 -0
  6. package/content/agents/cleanup.md +3 -1
  7. package/content/agents/commit.md +235 -0
  8. package/content/agents/debug.md +1 -1
  9. package/content/agents/diagram.md +365 -0
  10. package/content/agents/docs.md +344 -0
  11. package/content/agents/dry.md +7 -5
  12. package/content/agents/explain.md +195 -0
  13. package/content/agents/finalize.md +13 -10
  14. package/content/agents/handoff.md +6 -6
  15. package/content/agents/i18n.md +388 -0
  16. package/content/agents/imagine.md +2 -2
  17. package/content/agents/implement.md +38 -14
  18. package/content/agents/migrate.md +330 -0
  19. package/content/agents/onboard.md +479 -0
  20. package/content/agents/parallelize.md +21 -10
  21. package/content/agents/plan.md +108 -21
  22. package/content/agents/refactor.md +10 -62
  23. package/content/agents/release.md +502 -0
  24. package/content/agents/research-codebase.md +160 -18
  25. package/content/agents/research-docs.md +135 -19
  26. package/content/agents/research-web.md +149 -19
  27. package/content/agents/secure.md +351 -0
  28. package/content/agents/showcase.md +333 -0
  29. package/content/agents/storyboard.md +4 -4
  30. package/content/agents/test.md +2 -2
  31. package/content/agents/update.md +347 -0
  32. package/content/commands/a11y.md +49 -0
  33. package/content/commands/audit.md +4 -2
  34. package/content/commands/auto.md +386 -0
  35. package/content/commands/bootstrap.md +1 -1
  36. package/content/commands/brainstorm.md +84 -12
  37. package/content/commands/challenge.md +7 -0
  38. package/content/commands/changelog.md +50 -0
  39. package/content/commands/cleanup.md +3 -1
  40. package/content/commands/commit.md +45 -0
  41. package/content/commands/critique.md +7 -0
  42. package/content/commands/debug.md +1 -1
  43. package/content/commands/diagram.md +51 -0
  44. package/content/commands/docs.md +48 -0
  45. package/content/commands/dry.md +3 -1
  46. package/content/commands/explain.md +12 -309
  47. package/content/commands/finalize.md +2 -2
  48. package/content/commands/flush.md +6 -7
  49. package/content/commands/handoff.md +1 -1
  50. package/content/commands/i18n.md +53 -0
  51. package/content/commands/implement.md +4 -4
  52. package/content/commands/kickoff.md +9 -5
  53. package/content/commands/migrate.md +54 -0
  54. package/content/commands/onboard.md +54 -0
  55. package/content/commands/parallelize.md +2 -2
  56. package/content/commands/pickup.md +1 -1
  57. package/content/commands/plan.md +2 -1
  58. package/content/commands/refactor.md +6 -5
  59. package/content/commands/release.md +63 -0
  60. package/content/commands/secure.md +51 -0
  61. package/content/commands/showcase.md +56 -0
  62. package/content/commands/storyboard.md +2 -2
  63. package/content/commands/test.md +1 -1
  64. package/content/commands/update.md +43 -0
  65. package/content/commands/verify.md +7 -0
  66. package/dist/cli.js +11 -11
  67. package/dist/cli.js.map +1 -1
  68. package/dist/installer.d.ts +14 -1
  69. package/dist/installer.d.ts.map +1 -1
  70. package/dist/installer.js +38 -8
  71. package/dist/installer.js.map +1 -1
  72. package/package.json +1 -1
@@ -0,0 +1,386 @@
1
+ ---
2
+ description: Full autonomous development loop - from idea to committed code
3
+ argument-hint: [--full] [feature description or plan name]
4
+ author: "@markoradak"
5
+ ---
6
+
7
+ # Auto Mode
8
+
9
+ Full autonomous development loop. I'll take it from idea to committed code on a feature branch.
10
+
11
+ ## Current State
12
+
13
+ **Working Directory**: !`pwd`
14
+
15
+ **Branch**: !`git branch --show-current 2>/dev/null || echo "Not a git repository"`
16
+
17
+ **Git Status**:
18
+ !`git status --short 2>/dev/null || echo "Not a git repository"`
19
+
20
+ **Active Plan**:
21
+ !`cat {{STATE_FILE}} 2>/dev/null || echo "No active plan"`
22
+
23
+ **Available Plans**:
24
+ !`ls -1 {{PLANS_DIR}}/PLAN_*.md 2>/dev/null || echo "No plans found"`
25
+
26
+ **Project Detection**:
27
+ !`ls package.json tsconfig.json Cargo.toml go.mod pyproject.toml requirements.txt 2>/dev/null || echo "No recognized project files"`
28
+
29
+ ---
30
+
31
+ ## Arguments
32
+
33
+ $ARGUMENTS
34
+
35
+ ---
36
+
37
+ ## Auto Mode Protocol
38
+
39
+ You are now in **AUTO MODE** — a full development loop that orchestrates the entire workflow from idea to committed code. Follow these steps precisely and in order.
40
+
41
+ ### Step 0: Parse Arguments
42
+
43
+ Parse `$ARGUMENTS` for:
44
+ - **`--full`** flag: If present, run the entire loop without stopping for confirmation — commit automatically, skip approval prompts, maximize autonomy. Remove this flag from the remaining arguments before further processing.
45
+ - **Plan name**: If the first remaining word matches an existing plan in `{{PLANS_DIR}}/PLAN_{NN}_{NAME}.md`, treat it as a plan name to execute.
46
+ - **Feature description**: Otherwise, treat remaining arguments as a feature description for brainstorming.
47
+
48
+ Store the `--full` preference — you'll check it at every commit checkpoint and decision point.
49
+
50
+ ---
51
+
52
+ ### Step 1: Determine What to Work On
53
+
54
+ Follow this decision tree **in order**:
55
+
56
+ #### 1a. Check for Active Plan in STATE.md
57
+
58
+ Read `{{STATE_FILE}}`. If it contains an active plan (status is `In Progress` or `Paused`):
59
+ - Load the plan file referenced in STATE.md
60
+ - Check which phase we're on and what tasks remain
61
+ - **If there are uncompleted tasks** → skip to **Step 3** (branch) then **Step 4** (execute)
62
+ - Report: "Resuming active plan: {NAME}, Phase {N}"
63
+
64
+ #### 1b. Check if Arguments Match an Existing Plan
65
+
66
+ If a plan name was provided, find the matching plan file in `{{PLANS_DIR}}/` (match by name portion, e.g., `AUTH` matches `PLAN_01_AUTH.md`):
67
+ - Load that plan
68
+ - **STATE UPDATE**: Update `{{STATE_FILE}}` to activate this plan. Read the existing STATE.md first to preserve the `## Overview` table and `## Plans` sections. Update the header fields:
69
+ ```markdown
70
+ **Active**: {NN}_{NAME}
71
+ **File**: {{PLANS_DIR}}/PLAN_{NN}_{NAME}.md
72
+ **Phase**: 1
73
+ **Status**: 🚧 In Progress
74
+ **Updated**: [ISO timestamp]
75
+ ```
76
+ - Update the plan's status in the Overview table to `🚧 In Progress`
77
+ - Skip to **Step 3** (branch) then **Step 4** (execute)
78
+
79
+ #### 1c. No Active Work — Enter Brainstorm
80
+
81
+ If there's nothing to resume:
82
+
83
+ **If arguments contain a feature description:**
84
+ Enter brainstorm mode. You are exploring the idea, NOT implementing. Your goals:
85
+ 1. Understand the user's intent
86
+ 2. Ask 2-4 focused followup questions to clarify scope, approach, and constraints
87
+ 3. Explore the codebase for relevant context (use Read, Grep, Glob)
88
+ 4. Converge on a clear approach
89
+
90
+ **If no arguments at all:**
91
+ Ask the user: "What would you like to build? Describe the feature or change you have in mind."
92
+ Then proceed with brainstorm as above once they respond.
93
+
94
+ **Brainstorm rules:**
95
+ - DO NOT create, modify, or implement any code
96
+ - DO ask clarifying questions (scope, approach, edge cases)
97
+ - DO explore existing code for context
98
+ - Keep it to 2-3 rounds of questions max, then converge
99
+ - Once the approach is clear, move to Step 2
100
+
101
+ ---
102
+
103
+ ### Step 2: Create the Plan
104
+
105
+ After brainstorming, determine which planning mode to use:
106
+
107
+ #### Detect Project Type
108
+
109
+ Check if this is a **new project** (needs bootstrapping) or an **existing project** (needs a plan):
110
+
111
+ **New project indicators** (if most are true):
112
+ - No `src/` or `app/` or `lib/` directory
113
+ - No or nearly empty `package.json` / `Cargo.toml` / `go.mod` etc.
114
+ - Very few source files (< 5)
115
+ - The user explicitly said "new project" or "start from scratch"
116
+
117
+ **If new project:**
118
+ Use the Task tool to launch the bootstrap agent (`subagent_type="bootstrap"`) with the feature name and brainstorm context. This will generate both a plan and a bootstrap.sh script.
119
+
120
+ After the bootstrap agent completes, ask the user: "Bootstrap script is ready. Should I run it to set up the project?"
121
+ - If yes → run `bash bootstrap.sh`
122
+ - If no → note it and continue
123
+
124
+ **UPDATE CLAUDE.md**: After bootstrap completes, run the update agent to generate an initial CLAUDE.md:
125
+ - Use the Task tool to launch the update agent (`subagent_type="update"`) to scan the newly bootstrapped project and create CLAUDE.md
126
+
127
+ **COMMIT CHECKPOINT**: After bootstrap and CLAUDE.md update complete, commit the scaffolding:
128
+ - Stage all new project files (including CLAUDE.md)
129
+ - Use the Task tool to launch the commit agent (`subagent_type="commit"`) with context: "chore: bootstrap {NAME} project scaffolding"
130
+
131
+ **If existing project:**
132
+ Use the Task tool to launch the plan agent (`subagent_type="plan"`) with the feature name and brainstorm context. This will generate `{{PLANS_DIR}}/PLAN_{NN}_{NAME}.md` and update `{{STATE_FILE}}`.
133
+
134
+ Wait for the plan agent to complete, then load and display a brief summary of the plan.
135
+
136
+ **COMMIT CHECKPOINT**: After plan is created, commit it:
137
+ - Stage the plan file and STATE.md
138
+ - Use the Task tool to launch the commit agent (`subagent_type="commit"`) with context: "docs: add implementation plan for {NAME}"
139
+
140
+ ---
141
+
142
+ ### Step 3: Create Feature Branch
143
+
144
+ Before starting implementation, create a feature branch:
145
+
146
+ 1. Determine the branch name from the plan name:
147
+ - Convert plan name to lowercase kebab-case
148
+ - Prefix with `feat/` (e.g., plan "USER_AUTH" → branch `feat/user-auth`)
149
+ 2. Check if the branch already exists:
150
+ - If yes and we're resuming → switch to it: `git checkout feat/{name}`
151
+ - If yes and NOT resuming → switch to it (it may have prior work)
152
+ - If no → create it: `git checkout -b feat/{name}`
153
+ 3. Confirm the branch: `git branch --show-current`
154
+
155
+ Report: "Working on branch: `feat/{name}`"
156
+
157
+ ---
158
+
159
+ ### Step 4: Execute the Plan (Phase by Phase)
160
+
161
+ Load the plan from `{{PLANS_DIR}}/PLAN_{NN}_{NAME}.md` and identify all phases.
162
+
163
+ **For each phase**, repeat this cycle:
164
+
165
+ #### 4a. Assess the Phase
166
+
167
+ Count the `- [ ]` uncompleted tasks in the current phase.
168
+
169
+ #### 4b. Execute the Phase
170
+
171
+ **First, check if this phase involves landing page / marketing page / homepage design work.** Look for task descriptions containing: "landing page", "homepage", "marketing page", "hero section", "showcase page", or similar. If the phase is primarily about designing/building a landing page, use the **showcase agent** instead of the generic implement agent.
172
+
173
+ | Phase Type | Phase Tasks | Mode | Rationale |
174
+ |---|---|---|---|
175
+ | Landing page | Any | `/showcase` | Specialized for high-end landing page design with animations |
176
+ | Regular | 1-5 tasks | `/implement` | Small enough for a single agent |
177
+ | Regular | 6+ tasks | `/parallelize` | Benefits from concurrent execution |
178
+
179
+ **For `/showcase` mode:**
180
+ Use the Task tool to launch the showcase agent (`subagent_type="showcase"`) with the plan context and any reference files from `{{TASKS_DIR}}/references/`.
181
+
182
+ **For `/implement` mode:**
183
+ Use the Task tool to launch the implement agent (`subagent_type="implement"`) with the plan name and instruction to work on the current phase only (e.g., "Execute Phase 1 only, then stop").
184
+
185
+ **For `/parallelize` mode:**
186
+ Use the Task tool to launch the parallelize orchestrator (`subagent_type="parallelize"`) with the plan name and instruction to work on the current phase only.
187
+
188
+ Wait for the agent to complete. Review its summary.
189
+
190
+ **If the agent reports blockers:**
191
+ Present the blockers to the user and ask how to proceed. Do NOT continue until blockers are resolved or the user says to skip them.
192
+
193
+ #### 4c. Commit the Phase
194
+
195
+ **COMMIT CHECKPOINT**: After each phase completes:
196
+ - Use the Task tool to launch the commit agent (`subagent_type="commit"`) with context describing what was accomplished in this phase
197
+ - The commit agent will determine the appropriate prefix (`feat:`, `fix:`, `refactor:`, `chore:`, etc.) based on the nature of the changes
198
+ - The commit message should reference the plan and phase (e.g., "feat: implement user authentication (PLAN_AUTH Phase 1)")
199
+
200
+ **STATE UPDATE**: Read and update `{{STATE_FILE}}`:
201
+ - Increment `**Phase**` to the next phase number
202
+ - Keep `**Status**` as `🚧 In Progress`
203
+ - Update `**Updated**` timestamp
204
+ - Mark completed tasks as `✅` in the task tables under `## Plans`
205
+ - Update completed phase headers from `🚧` to `✅`
206
+ - Update the Progress column in the Overview table
207
+
208
+ #### 4d. Continue to Next Phase
209
+
210
+ After committing and updating STATE.md, check if there are more phases remaining:
211
+ - **More phases** → loop back to 4a for the next phase
212
+ - **All phases done** → proceed to Step 5
213
+
214
+ ---
215
+
216
+ ### Step 5: Validate & Fix
217
+
218
+ After all phases are implemented and committed, run validation. Each step uses a subagent:
219
+
220
+ #### 5a. Audit
221
+
222
+ Use the Task tool to launch the audit agent (`subagent_type="audit"`).
223
+
224
+ Review the audit report. If it finds **critical or important issues**:
225
+ - Attempt auto-fix (the audit agent can do this)
226
+ - Re-run typecheck/lint after fixes
227
+ - If issues persist after 2 fix attempts → report to user and ask whether to proceed
228
+
229
+ **COMMIT CHECKPOINT**: If the audit resulted in fixes, commit them:
230
+ - Use the commit agent with context: "fix: address audit findings for {NAME}"
231
+
232
+ #### 5b. Test
233
+
234
+ Use the Task tool to launch the test agent (`subagent_type="test"`).
235
+
236
+ Review test results:
237
+ - If all tests pass → continue
238
+ - If tests fail → attempt to fix (max 2 attempts)
239
+ - If tests still fail → report to user with failure details and ask whether to proceed
240
+
241
+ **COMMIT CHECKPOINT**: If test fixes were made, commit them:
242
+ - Use the commit agent with context: "fix: resolve test failures for {NAME}"
243
+
244
+ #### 5c. Security
245
+
246
+ Use the Task tool to launch the secure agent (`subagent_type="secure"`).
247
+
248
+ Review security report:
249
+ - If no critical/high findings → continue
250
+ - If critical findings → attempt to fix and re-scan (max 2 attempts)
251
+ - If still failing → report to user and ask whether to proceed
252
+
253
+ **COMMIT CHECKPOINT**: If security fixes were made, commit them:
254
+ - Use the commit agent with context: "fix: address security findings for {NAME}"
255
+
256
+ **If ALL validation passes cleanly**, report:
257
+ ```markdown
258
+ **Validation Complete**
259
+ - Audit: Passed
260
+ - Tests: Passed
261
+ - Security: Passed
262
+ ```
263
+
264
+ ---
265
+
266
+ ### Step 6: Update & Report
267
+
268
+ **UPDATE CLAUDE.md**: Before reporting, sync CLAUDE.md with the current project state:
269
+ - Use the Task tool to launch the update agent (`subagent_type="update"`) to scan the project and update CLAUDE.md with any new patterns, dependencies, or structural changes from this session
270
+ - If CLAUDE.md was updated, include it in the final commit
271
+
272
+ **STATE UPDATE**: Read and update `{{STATE_FILE}}` to reflect final status:
273
+ - If all phases and validation passed: set `**Active**` to `None`, update plan's status to `✅ Complete` in Overview table, set `**Status**: ✅ Complete`
274
+ - If partially complete (blockers, user stopped): keep `**Active**` pointing to the plan, set `**Status**: ⏸️ Paused`
275
+ - Update `**Phase**` to the last completed phase number
276
+ - Update `**Updated**` timestamp
277
+ - Update all task statuses in the task tables under `## Plans` to reflect final state
278
+
279
+ After everything is done (or stopped), provide a final summary:
280
+
281
+ ```markdown
282
+ **Auto Mode Complete**
283
+
284
+ **Branch**: `feat/{name}`
285
+ **Plan**: {NAME}
286
+ **Status**: {Complete / Partially Complete}
287
+
288
+ **Commits Made**:
289
+ - `{hash}` {commit message 1}
290
+ - `{hash}` {commit message 2}
291
+ - `{hash}` {commit message 3}
292
+
293
+ **What Was Done**:
294
+ - [Phase 1 summary]
295
+ - [Phase 2 summary]
296
+
297
+ **Validation Results**:
298
+ - Audit: {result}
299
+ - Tests: {result}
300
+ - Security: {result}
301
+
302
+ **Next Steps**:
303
+ - Review changes: `git log main..feat/{name} --oneline`
304
+ - Create PR when ready: `gh pr create`
305
+ - Or continue working: `/auto` (will resume from STATE.md)
306
+ ```
307
+
308
+ ---
309
+
310
+ ## Commit Checkpoint Rules
311
+
312
+ Auto mode commits **early and often** using the commit agent (`subagent_type="commit"`). The commit agent determines the right prefix (`feat:`, `fix:`, `refactor:`, `chore:`, `docs:`, etc.) based on the changes.
313
+
314
+ **When to commit:**
315
+ - After bootstrap scaffolding is created
316
+ - After plan document is generated
317
+ - After each implementation phase completes
318
+ - After audit/test/security fixes are applied
319
+
320
+ **When NOT to commit:**
321
+ - If there are no changes (empty diff)
322
+ - If validation is failing and fixes haven't been applied yet
323
+
324
+ **`--full` behavior at commit checkpoints:**
325
+ - With `--full`: commit agent runs automatically at every checkpoint, no user prompt
326
+ - Without `--full` (default): commit agent still runs automatically — commits are non-destructive and keep work safe. The `--full` flag controls other approval gates (like blocker decisions), not commits.
327
+
328
+ ---
329
+
330
+ ## Critical Guidelines
331
+
332
+ ### Be Autonomous But Not Reckless
333
+ - Execute the full loop without unnecessary user prompts
334
+ - Commit after every major milestone to keep work safe
335
+ - BUT always stop for: blockers and validation failures that can't be auto-fixed
336
+ - Never force-push, delete branches, or make destructive changes without asking
337
+
338
+ ### Compose Existing Agents
339
+ - Use the existing subagent types: `bootstrap`, `plan`, `implement`, `parallelize`, `showcase`, `audit`, `test`, `secure`, `commit`, `update`
340
+ - Do NOT try to do their jobs inline — delegate to specialists
341
+ - Always use the commit agent for commits — it writes proper conventional commit messages (`feat:`, `fix:`, `refactor:`, etc.)
342
+
343
+ ### Handle Failures Gracefully
344
+ - Max 2 auto-fix retry attempts per validation step
345
+ - After 2 failures, stop and ask the user
346
+ - Never silently skip failing validation
347
+
348
+ ### Track State (MANDATORY)
349
+
350
+ `{{STATE_FILE}}` must ALWAYS reflect current progress. Update it at these points:
351
+ 1. **Step 1b** — when activating an existing plan (set Phase 1, Status In Progress)
352
+ 2. **Step 2** — plan agent creates it (verify it exists after plan agent completes)
353
+ 3. **Step 4c** — after each phase commit (increment Phase, update timestamp, mark completed tasks as ✅ in task tables)
354
+ 4. **Step 6** — final status (Complete or Paused)
355
+
356
+ **STATE.md header fields** (always keep these parseable at the top):
357
+ ```markdown
358
+ # State
359
+
360
+ **Active**: {NN}_{NAME}
361
+ **File**: {{PLANS_DIR}}/PLAN_{NN}_{NAME}.md
362
+ **Phase**: {current_phase_number}
363
+ **Status**: 🚧 In Progress
364
+ **Updated**: {ISO timestamp}
365
+ ```
366
+
367
+ **When updating STATE.md**:
368
+ - Always READ existing STATE.md first to preserve `## Overview` table and `## Plans` sections
369
+ - Update the header fields (Active, File, Phase, Status, Updated)
370
+ - Update the active plan's status in `## Overview` table
371
+ - Update task statuses (`⏳` → `🚧` → `✅`) in the task tables under `## Plans`
372
+ - Update phase status emoji in phase headers (`⏳` → `🚧` → `✅`)
373
+ - Update the Progress column in `## Overview` table (e.g., `5/18 tasks`)
374
+
375
+ **When all work on a plan is done**:
376
+ - Set `**Active**` to `None` (or the next plan if one exists)
377
+ - Update the plan's status in the Overview table to `✅ Complete`
378
+ - Mark all tasks as `✅` in the plan's task tables
379
+ - Set `**Status**` to `✅ Complete`
380
+
381
+ If `/auto` is interrupted or paused, ensure STATE.md reflects where it stopped so the next `/auto` run can resume correctly. Plan document checkboxes are updated by the implement/parallelize agents.
382
+
383
+ ### Keep the User Informed
384
+ - Brief status updates between major steps
385
+ - Detailed reports only at the end or when asking for decisions
386
+ - Don't flood with intermediate output — the subagents handle that internally
@@ -26,7 +26,7 @@ $ARGUMENTS
26
26
  ## Generating Plan & Bootstrap Script
27
27
 
28
28
  Launching the bootstrap agent to analyze our brainstorming conversation and generate:
29
- 1. `tasks/plans/PLAN_{NAME}.md` (via `/plan` command)
29
+ 1. `{{PLANS_DIR}}/PLAN_00_INITIAL.md` the first plan is always numbered `00` for new projects
30
30
  2. `./bootstrap.sh` (executable setup script)
31
31
 
32
32
  The agent will:
@@ -13,45 +13,107 @@ You are now in **BRAINSTORMING MODE**. Your goal is to explore ideas, discuss ap
13
13
 
14
14
  This is pure ideation. We're thinking, not doing.
15
15
 
16
+ ## Step 0: Detect Project State
17
+
18
+ Before brainstorming, quickly assess the current project:
19
+
20
+ **Project Detection**:
21
+ !`ls package.json tsconfig.json Cargo.toml go.mod pyproject.toml requirements.txt composer.json Gemfile pom.xml build.gradle mix.exs 2>/dev/null || echo "No recognized project files"`
22
+
23
+ **Source Files**:
24
+ !`find . -maxdepth 3 -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" -o -name "*.py" -o -name "*.rs" -o -name "*.go" -o -name "*.java" -o -name "*.rb" -o -name "*.ex" -o -name "*.php" \) 2>/dev/null | head -10 | wc -l`
25
+
26
+ **Is this an empty/new project?** If there are fewer than 5 source files and no meaningful project configuration, this is likely a **new project**. In that case:
27
+ - Mention to the user that this looks like a new project and brainstorming is a great starting point
28
+ - The brainstorm should focus heavily on **tech stack decisions** (see Step 1 below)
29
+ - When brainstorming is complete, suggest `/auto` which will handle planning, bootstrapping, and implementation end-to-end
30
+
16
31
  ## Brainstorming Framework
17
32
 
18
- ### 1. **Understand the Space**
33
+ ### Step 1: **Understand the Space & Tech Stack**
34
+
35
+ Start by understanding what the user wants to build, then **always ask about the tech stack**. Present suggestions with options so the user can choose.
36
+
37
+ **First, clarify the idea:**
19
38
  - What problem or opportunity are we exploring?
20
39
  - What are the key constraints or requirements?
21
40
  - What context is important to consider?
22
41
 
23
- ### 2. **Explore Possibilities**
42
+ **Then, ask about the tech stack.** Use `AskUserQuestion` to present choices for each relevant category. Tailor the categories to the project type — not every project needs all of these. Suggest sensible defaults based on the project description, but always let the user choose.
43
+
44
+ **Categories to cover (as applicable):**
45
+
46
+ | Category | When to Ask | Example Options |
47
+ |---|---|---|
48
+ | **Language/Runtime** | Always for new projects | TypeScript, Python, Go, Rust, etc. |
49
+ | **Frontend Framework** | If project has a UI | React, Next.js, Vue, Svelte, Astro, etc. |
50
+ | **Styling** | If project has a UI | Tailwind CSS, CSS Modules, styled-components, Shadcn/ui, etc. |
51
+ | **Backend Framework** | If project has server logic | Express, Fastify, Hono, Django, FastAPI, etc. |
52
+ | **Database** | If project needs persistence | PostgreSQL, SQLite, MongoDB, Supabase, etc. |
53
+ | **ORM/Data Layer** | If using a database | Prisma, Drizzle, SQLAlchemy, TypeORM, etc. |
54
+ | **Authentication** | If project needs auth | NextAuth, Clerk, Lucia, Supabase Auth, etc. |
55
+ | **Hosting/Deployment** | If deployment matters | Vercel, Railway, Fly.io, AWS, self-hosted, etc. |
56
+ | **Package Manager** | For JS/TS projects | npm, pnpm, bun, yarn, etc. |
57
+ | **Testing** | If testing strategy matters | Vitest, Jest, Pytest, Playwright, etc. |
58
+
59
+ **Guidelines for tech stack questions:**
60
+ - Ask 2-4 questions at a time (don't overwhelm with all categories at once)
61
+ - Mark the recommended option with "(Recommended)" based on the project context
62
+ - Include a brief reason in the description for each option
63
+ - If the project already has an established stack (existing project), acknowledge it and only ask about new additions
64
+ - Respect the user's choices — don't push back unless there's a genuine compatibility issue
65
+
66
+ ### Step 2: **Explore Possibilities**
24
67
  - What are 3-5 different approaches we could take?
25
68
  - What are the pros and cons of each?
26
69
  - Are there any unconventional ideas worth considering?
27
70
 
28
- ### 3. **Deep Dive**
71
+ ### Step 3: **Deep Dive**
29
72
  - Let's examine the most promising approaches in detail
30
73
  - What technical considerations come into play?
31
74
  - What dependencies or integration points exist?
32
75
  - What could go wrong? What edge cases matter?
33
76
 
34
- ### 4. **Refine & Converge**
77
+ ### Step 4: **Refine & Converge**
35
78
  - Which approach feels strongest and why?
36
79
  - What questions remain unanswered?
37
80
  - What research or investigation is needed?
38
81
  - What would the implementation phases look like?
39
82
 
83
+ ## Critical Thinking (Always Active)
84
+
85
+ Throughout brainstorming, actively use the `/critique`, `/verify`, and `/challenge` commands to stress-test ideas **as they emerge**. Don't wait until the end — run these after each step.
86
+
87
+ ### When to invoke each command
88
+
89
+ - **`/critique`** — After exploring approaches (Steps 2-3). Run this against the ideas on the table to get direct, unfiltered feedback on what's wrong or suboptimal.
90
+ - **`/verify`** — After converging on a direction (Steps 3-4). Run this to sanity-check that we're solving the right problem the right way, and to catch gotchas.
91
+ - **`/challenge`** — After the user proposes or agrees to an approach (any step). Run this to question assumptions, surface trade-offs, and suggest alternatives.
92
+
93
+ ### How to apply
94
+
95
+ - Invoke these commands naturally throughout the conversation — not as a rigid sequence
96
+ - You can run them multiple times as ideas evolve
97
+ - The goal is **unfiltered, honest exploration** — not polite agreement with whatever the user suggests
98
+ - If an idea survives all three, it's probably solid
99
+
40
100
  ## Discussion Guidelines
41
101
 
42
- - **Ask questions** to clarify and probe deeper
43
- - **Suggest alternatives** even if they seem unconventional
44
- - **Challenge assumptions** constructively
102
+ - **Be direct** if an idea is bad, say so and explain why
103
+ - **Ask hard questions** to probe deeper and expose weak spots
104
+ - **Suggest alternatives** even if they contradict the user's initial direction
45
105
  - **Think out loud** about trade-offs and implications
46
106
  - **Reference existing code** when relevant for context
47
107
  - **Draw connections** to similar patterns in the codebase
48
108
  - **Be thorough** - we're not rushing to implementation
109
+ - **Don't hedge** — if you're confident something won't work, say it plainly
49
110
 
50
111
  ## Tools You CAN Use
51
112
  - ✅ Read files for context and understanding
52
113
  - ✅ Grep/Glob to explore existing patterns
53
114
  - ✅ Bash (read-only: ls, cat, find, git log, etc.)
54
115
  - ✅ Research agents for investigation
116
+ - ✅ AskUserQuestion for tech stack and approach choices
55
117
 
56
118
  ## Tools You CANNOT Use
57
119
  - 🚫 Write - No creating new files
@@ -61,13 +123,23 @@ This is pure ideation. We're thinking, not doing.
61
123
 
62
124
  ## When Brainstorming is Complete
63
125
 
64
- Once we've thoroughly explored the problem space and converged on an approach, use:
126
+ Once we've thoroughly explored the problem space, settled on a tech stack, and converged on an approach, suggest the appropriate next step. Present these options to the user:
127
+
128
+ **For new/empty projects:**
129
+
130
+ | Command | What it does |
131
+ |---|---|
132
+ | `/bootstrap {NAME}` | Generate a plan + bootstrap script to scaffold the project. Good when you want to review the scaffolding before building. |
133
+ | `/auto {NAME}` | Full autonomous loop — planning, bootstrapping, implementation, and commit. Good when you want to go hands-off. |
134
+
135
+ **For existing projects:**
65
136
 
66
- ```
67
- /plan {DESCRIPTIVE_NAME}
68
- ```
137
+ | Command | What it does |
138
+ |---|---|
139
+ | `/plan {NAME}` | Capture brainstorming findings into a structured implementation plan. Good when you want to review before implementing. |
140
+ | `/auto {NAME}` | Full autonomous loop — planning, implementation, validation, and commit. Good when you want to go hands-off. |
69
141
 
70
- This will capture our brainstorming findings into a structured implementation plan.
142
+ Always present the relevant options and let the user choose how they want to proceed.
71
143
 
72
144
  ---
73
145
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Challenge Mode - Critical Thinking Assistant
3
+ argument-hint: [optional: approach or decision to challenge]
3
4
  author: "@markoradak"
4
5
  ---
5
6
 
@@ -23,4 +24,10 @@ You are now in "challenge mode." Before implementing any task or answering quest
23
24
  ## Example Response Pattern
24
25
  "Before I implement this, I want to make sure we're solving the right problem. [Question about the real need]. Also, have you considered [alternative approach] which might be more [benefit]? The approach you've outlined will work, but it does mean [trade-off]. Should I proceed with your original plan or would you like to explore the alternative?"
25
26
 
27
+ ## Scope
28
+
29
+ This mode applies to the current task or topic. Once the challenge is addressed, normal conversation resumes.
30
+
31
+ ---
32
+
26
33
  $ARGUMENTS
@@ -0,0 +1,50 @@
1
+ ---
2
+ description: Generate a changelog from git history
3
+ argument-hint: [optional: version tag, date range, or "unreleased"]
4
+ author: "@markoradak"
5
+ ---
6
+
7
+ # Generate Changelog
8
+
9
+ I'll analyze your git history and generate a well-structured changelog.
10
+
11
+ > **When to use**: You're preparing a release and need a changelog, or want to document what changed between versions. Use `/finalize` to commit and close a session, or `/docs` for general documentation.
12
+
13
+ ## Current State
14
+
15
+ **Working Directory**: !`pwd`
16
+
17
+ **Branch**: !`git branch --show-current 2>/dev/null || echo "Not a git repository"`
18
+
19
+ **Latest Tags**:
20
+ !`git tag --sort=-version:refname 2>/dev/null | head -5 || echo "No tags found"`
21
+
22
+ **Recent Commits**:
23
+ !`git log --oneline -10 2>/dev/null`
24
+
25
+ ---
26
+
27
+ ## Changelog Scope
28
+
29
+ $ARGUMENTS
30
+
31
+ ---
32
+
33
+ ## Launching Changelog Agent
34
+
35
+ The changelog agent will:
36
+ - Analyze git log between the specified range (or since last tag)
37
+ - Categorize commits by type (features, fixes, breaking changes, etc.)
38
+ - Group related changes and write clear descriptions
39
+ - Highlight breaking changes prominently
40
+ - Generate a changelog following Keep a Changelog format
41
+ - Append to or create CHANGELOG.md
42
+
43
+ **Workflows**:
44
+ - No argument → Changes since the last tag (unreleased)
45
+ - `v1.2.0` → Changes since that tag
46
+ - `v1.1.0..v1.2.0` → Changes between two tags
47
+ - `unreleased` → Same as no argument
48
+ - `2024-01-01..` → Changes since a date
49
+
50
+ Use the Task tool to launch the changelog agent (subagent_type="changelog") with the scope and any additional context.
@@ -8,11 +8,13 @@ author: "@markoradak"
8
8
 
9
9
  I'll scan your codebase for dead code, unused imports, and technical debt.
10
10
 
11
+ > **When to use**: You want to remove things that shouldn't be there (unused imports, dead exports, stale TODOs, console.logs). Use `/dry` to consolidate duplicated code, `/refactor` for structural changes, or `/audit` to review changes before committing.
12
+
11
13
  ## Current State
12
14
 
13
15
  **Working Directory**: !`pwd`
14
16
 
15
- **Branch**: !`git branch --show-current`
17
+ **Branch**: !`git branch --show-current 2>/dev/null || echo "Not a git repository"`
16
18
 
17
19
  **Files to Analyze**:
18
20
  !`find . -maxdepth 5 -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" 2>/dev/null | grep -v node_modules | wc -l` source files
@@ -0,0 +1,45 @@
1
+ ---
2
+ description: Create a well-crafted git commit from your current changes
3
+ argument-hint: [optional: commit message hint or scope]
4
+ author: "@markoradak"
5
+ ---
6
+
7
+ # Commit Changes
8
+
9
+ I'll analyze your changes and create a clean, well-structured git commit.
10
+
11
+ > **When to use**: You have changes ready to commit and want a good commit message without the full session finalization. Use `/finalize` when closing out a work session with plan updates and phase summaries. Use `/audit` to review changes before committing.
12
+
13
+ ## Current State
14
+
15
+ **Working Directory**: !`pwd`
16
+
17
+ **Branch**: !`git branch --show-current 2>/dev/null || echo "Not a git repository"`
18
+
19
+ **Status**:
20
+ !`git status --short`
21
+
22
+ **Changes Summary**:
23
+ !`git diff --stat`
24
+
25
+ ---
26
+
27
+ ## Context
28
+
29
+ $ARGUMENTS
30
+
31
+ ---
32
+
33
+ ## Launching Commit Agent
34
+
35
+ The commit agent will:
36
+ - Review all staged and unstaged changes
37
+ - Understand the intent and scope of the changes
38
+ - Determine the appropriate commit type (`feat`, `fix`, `refactor`, etc.)
39
+ - Draft a concise, well-formatted commit message
40
+ - Stage the relevant files and create the commit
41
+ - Verify the commit was created successfully
42
+
43
+ **This will create a git commit.** The agent will show you the proposed message before committing.
44
+
45
+ Use the Task tool to launch the commit agent (subagent_type="commit") with any additional context from arguments.