@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.
- package/README.md +72 -7
- package/content/agents/a11y.md +402 -0
- package/content/agents/audit.md +5 -5
- package/content/agents/bootstrap.md +31 -9
- package/content/agents/changelog.md +350 -0
- package/content/agents/cleanup.md +3 -1
- package/content/agents/commit.md +235 -0
- package/content/agents/debug.md +1 -1
- package/content/agents/diagram.md +365 -0
- package/content/agents/docs.md +344 -0
- package/content/agents/dry.md +7 -5
- package/content/agents/explain.md +195 -0
- package/content/agents/finalize.md +13 -10
- package/content/agents/handoff.md +6 -6
- package/content/agents/i18n.md +388 -0
- package/content/agents/imagine.md +2 -2
- package/content/agents/implement.md +38 -14
- package/content/agents/migrate.md +330 -0
- package/content/agents/onboard.md +479 -0
- package/content/agents/parallelize.md +21 -10
- package/content/agents/plan.md +108 -21
- package/content/agents/refactor.md +10 -62
- package/content/agents/release.md +502 -0
- package/content/agents/research-codebase.md +160 -18
- package/content/agents/research-docs.md +135 -19
- package/content/agents/research-web.md +149 -19
- package/content/agents/secure.md +351 -0
- package/content/agents/showcase.md +333 -0
- package/content/agents/storyboard.md +4 -4
- package/content/agents/test.md +2 -2
- package/content/agents/update.md +347 -0
- package/content/commands/a11y.md +49 -0
- package/content/commands/audit.md +4 -2
- package/content/commands/auto.md +386 -0
- package/content/commands/bootstrap.md +1 -1
- package/content/commands/brainstorm.md +84 -12
- package/content/commands/challenge.md +7 -0
- package/content/commands/changelog.md +50 -0
- package/content/commands/cleanup.md +3 -1
- package/content/commands/commit.md +45 -0
- package/content/commands/critique.md +7 -0
- package/content/commands/debug.md +1 -1
- package/content/commands/diagram.md +51 -0
- package/content/commands/docs.md +48 -0
- package/content/commands/dry.md +3 -1
- package/content/commands/explain.md +12 -309
- package/content/commands/finalize.md +2 -2
- package/content/commands/flush.md +6 -7
- package/content/commands/handoff.md +1 -1
- package/content/commands/i18n.md +53 -0
- package/content/commands/implement.md +4 -4
- package/content/commands/kickoff.md +9 -5
- package/content/commands/migrate.md +54 -0
- package/content/commands/onboard.md +54 -0
- package/content/commands/parallelize.md +2 -2
- package/content/commands/pickup.md +1 -1
- package/content/commands/plan.md +2 -1
- package/content/commands/refactor.md +6 -5
- package/content/commands/release.md +63 -0
- package/content/commands/secure.md +51 -0
- package/content/commands/showcase.md +56 -0
- package/content/commands/storyboard.md +2 -2
- package/content/commands/test.md +1 -1
- package/content/commands/update.md +43 -0
- package/content/commands/verify.md +7 -0
- package/dist/cli.js +11 -11
- package/dist/cli.js.map +1 -1
- package/dist/installer.d.ts +14 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +38 -8
- package/dist/installer.js.map +1 -1
- 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. `
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
- **
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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.
|