gsd-opencode 1.3.31
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/bin/install.js +222 -0
- package/command/gsd/add-phase.md +207 -0
- package/command/gsd/complete-milestone.md +105 -0
- package/command/gsd/consider-issues.md +201 -0
- package/command/gsd/create-roadmap.md +115 -0
- package/command/gsd/discuss-milestone.md +47 -0
- package/command/gsd/discuss-phase.md +60 -0
- package/command/gsd/execute-plan.md +128 -0
- package/command/gsd/help.md +315 -0
- package/command/gsd/insert-phase.md +227 -0
- package/command/gsd/list-phase-assumptions.md +50 -0
- package/command/gsd/map-codebase.md +84 -0
- package/command/gsd/new-milestone.md +59 -0
- package/command/gsd/new-project.md +316 -0
- package/command/gsd/pause-work.md +122 -0
- package/command/gsd/plan-fix.md +205 -0
- package/command/gsd/plan-phase.md +67 -0
- package/command/gsd/progress.md +316 -0
- package/command/gsd/remove-phase.md +338 -0
- package/command/gsd/research-phase.md +91 -0
- package/command/gsd/resume-work.md +40 -0
- package/command/gsd/verify-work.md +71 -0
- package/get-shit-done/references/checkpoints.md +287 -0
- package/get-shit-done/references/continuation-format.md +255 -0
- package/get-shit-done/references/git-integration.md +254 -0
- package/get-shit-done/references/plan-format.md +428 -0
- package/get-shit-done/references/principles.md +157 -0
- package/get-shit-done/references/questioning.md +162 -0
- package/get-shit-done/references/research-pitfalls.md +215 -0
- package/get-shit-done/references/scope-estimation.md +172 -0
- package/get-shit-done/references/tdd.md +263 -0
- package/get-shit-done/templates/codebase/architecture.md +255 -0
- package/get-shit-done/templates/codebase/concerns.md +310 -0
- package/get-shit-done/templates/codebase/conventions.md +307 -0
- package/get-shit-done/templates/codebase/integrations.md +280 -0
- package/get-shit-done/templates/codebase/stack.md +186 -0
- package/get-shit-done/templates/codebase/structure.md +285 -0
- package/get-shit-done/templates/codebase/testing.md +480 -0
- package/get-shit-done/templates/config.json +18 -0
- package/get-shit-done/templates/context.md +161 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/discovery.md +146 -0
- package/get-shit-done/templates/issues.md +32 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone-context.md +93 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +303 -0
- package/get-shit-done/templates/project.md +184 -0
- package/get-shit-done/templates/research.md +529 -0
- package/get-shit-done/templates/roadmap.md +196 -0
- package/get-shit-done/templates/state.md +210 -0
- package/get-shit-done/templates/summary.md +273 -0
- package/get-shit-done/templates/uat-issues.md +143 -0
- package/get-shit-done/workflows/complete-milestone.md +643 -0
- package/get-shit-done/workflows/create-milestone.md +416 -0
- package/get-shit-done/workflows/create-roadmap.md +481 -0
- package/get-shit-done/workflows/discovery-phase.md +293 -0
- package/get-shit-done/workflows/discuss-milestone.md +236 -0
- package/get-shit-done/workflows/discuss-phase.md +247 -0
- package/get-shit-done/workflows/execute-phase.md +1625 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/map-codebase.md +434 -0
- package/get-shit-done/workflows/plan-phase.md +488 -0
- package/get-shit-done/workflows/research-phase.md +436 -0
- package/get-shit-done/workflows/resume-project.md +287 -0
- package/get-shit-done/workflows/transition.md +580 -0
- package/get-shit-done/workflows/verify-work.md +202 -0
- package/package.json +38 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:research-phase
|
|
3
|
+
description: Research how to implement a phase before planning
|
|
4
|
+
argument-hint: "[phase]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Write
|
|
11
|
+
- webfetch
|
|
12
|
+
- WebSearch
|
|
13
|
+
- mcp__context7__*
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Comprehensive research on HOW to implement a phase before planning.
|
|
18
|
+
|
|
19
|
+
This is for niche/complex domains where Claude's training data is sparse or outdated. Research discovers:
|
|
20
|
+
- What libraries exist for this problem
|
|
21
|
+
- What architecture patterns experts use
|
|
22
|
+
- What standard stack looks like
|
|
23
|
+
- What problems people commonly hit
|
|
24
|
+
- What NOT to hand-roll (use existing solutions)
|
|
25
|
+
|
|
26
|
+
Output: RESEARCH.md with ecosystem knowledge that informs quality planning.
|
|
27
|
+
</objective>
|
|
28
|
+
|
|
29
|
+
<execution_context>
|
|
30
|
+
@~/.config/opencode/get-shit-done/workflows/research-phase.md
|
|
31
|
+
@~/.config/opencode/get-shit-done/templates/research.md
|
|
32
|
+
@~/.config/opencode/get-shit-done/references/research-pitfalls.md
|
|
33
|
+
</execution_context>
|
|
34
|
+
|
|
35
|
+
<context>
|
|
36
|
+
Phase number: $ARGUMENTS (required)
|
|
37
|
+
|
|
38
|
+
**Load project state:**
|
|
39
|
+
@.planning/STATE.md
|
|
40
|
+
|
|
41
|
+
**Load roadmap:**
|
|
42
|
+
@.planning/ROADMAP.md
|
|
43
|
+
|
|
44
|
+
**Load phase context if exists:**
|
|
45
|
+
Check for `.planning/phases/XX-name/{phase}-CONTEXT.md` - bonus context from discuss-phase.
|
|
46
|
+
</context>
|
|
47
|
+
|
|
48
|
+
<process>
|
|
49
|
+
1. Validate phase number argument (error if missing or invalid)
|
|
50
|
+
2. Check if phase exists in roadmap - extract phase description
|
|
51
|
+
3. Check if RESEARCH.md already exists (offer to update or use existing)
|
|
52
|
+
4. Load CONTEXT.md if it exists (bonus context for research direction)
|
|
53
|
+
5. Follow research-phase.md workflow:
|
|
54
|
+
- Analyze phase to identify knowledge gaps
|
|
55
|
+
- Determine research domains (architecture, ecosystem, patterns, pitfalls)
|
|
56
|
+
- Execute comprehensive research via Context7, official docs, WebSearch
|
|
57
|
+
- Cross-verify all findings
|
|
58
|
+
- Create RESEARCH.md with actionable ecosystem knowledge
|
|
59
|
+
6. Offer next steps (plan phase)
|
|
60
|
+
</process>
|
|
61
|
+
|
|
62
|
+
<when_to_use>
|
|
63
|
+
**Use research-phase for:**
|
|
64
|
+
- 3D graphics (Three.js, WebGL, procedural generation)
|
|
65
|
+
- Game development (physics, collision, AI, procedural content)
|
|
66
|
+
- Audio/music (Web Audio API, DSP, synthesis)
|
|
67
|
+
- Shaders (GLSL, Metal, ISF)
|
|
68
|
+
- ML/AI integration (model serving, inference, pipelines)
|
|
69
|
+
- Real-time systems (WebSockets, WebRTC, sync)
|
|
70
|
+
- Specialized frameworks with active ecosystems
|
|
71
|
+
- Any domain where "how do experts do this" matters
|
|
72
|
+
|
|
73
|
+
**Skip research-phase for:**
|
|
74
|
+
- Standard web dev (auth, CRUD, REST APIs)
|
|
75
|
+
- Well-known patterns (forms, validation, testing)
|
|
76
|
+
- Simple integrations (Stripe, SendGrid with clear docs)
|
|
77
|
+
- Commodity features Claude handles well
|
|
78
|
+
</when_to_use>
|
|
79
|
+
|
|
80
|
+
<success_criteria>
|
|
81
|
+
- [ ] Phase validated against roadmap
|
|
82
|
+
- [ ] Domain/ecosystem identified from phase description
|
|
83
|
+
- [ ] Comprehensive research executed (Context7 + official docs + WebSearch)
|
|
84
|
+
- [ ] All WebSearch findings cross-verified with authoritative sources
|
|
85
|
+
- [ ] RESEARCH.md created with ecosystem knowledge
|
|
86
|
+
- [ ] Standard stack/libraries identified
|
|
87
|
+
- [ ] Architecture patterns documented
|
|
88
|
+
- [ ] Common pitfalls catalogueed
|
|
89
|
+
- [ ] What NOT to hand-roll is clear
|
|
90
|
+
- [ ] User knows next steps (plan phase)
|
|
91
|
+
</success_criteria>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:resume-work
|
|
3
|
+
description: Resume work from previous session with full context restoration
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
- Write
|
|
8
|
+
- question
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Restore complete project context and resume work seamlessly from previous session.
|
|
13
|
+
|
|
14
|
+
Routes to:
|
|
15
|
+
- resume-project workflow which handles:
|
|
16
|
+
|
|
17
|
+
- STATE.md loading (or reconstruction if missing)
|
|
18
|
+
- Checkpoint detection (.continue-here files)
|
|
19
|
+
- Incomplete work detection (PLAN without SUMMARY)
|
|
20
|
+
- Status presentation
|
|
21
|
+
- Context-aware next action routing
|
|
22
|
+
</objective>
|
|
23
|
+
|
|
24
|
+
<execution_context>
|
|
25
|
+
@~/.config/opencode/get-shit-done/workflows/resume-project.md
|
|
26
|
+
</execution_context>
|
|
27
|
+
|
|
28
|
+
<process>
|
|
29
|
+
**Follow resume-project workflow** from `@~/.config/opencode/get-shit-done/workflows/resume-project.md`.
|
|
30
|
+
|
|
31
|
+
The workflow handles all resumption logic including:
|
|
32
|
+
|
|
33
|
+
1. Project existence verification
|
|
34
|
+
2. STATE.md loading or reconstruction
|
|
35
|
+
3. Checkpoint and incomplete work detection
|
|
36
|
+
4. Visual status presentation
|
|
37
|
+
5. Context-aware option offering (checks CONTEXT.md before suggesting plan vs discuss)
|
|
38
|
+
6. Routing to appropriate next command
|
|
39
|
+
7. Session continuity updates
|
|
40
|
+
</process>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:verify-work
|
|
3
|
+
description: Guide manual user acceptance testing of recently built features
|
|
4
|
+
argument-hint: "[optional: phase or plan number, e.g., '4' or '04-02']"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Edit
|
|
11
|
+
- Write
|
|
12
|
+
- question
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Guide user through manual acceptance testing of recently built features.
|
|
17
|
+
|
|
18
|
+
Purpose: Validate that what Claude thinks was built actually works from user's perspective. The USER performs all testing — Claude generates test checklist, guides process, and captures issues.
|
|
19
|
+
|
|
20
|
+
Output: Validation of features, any issues logged to phase-scoped ISSUES.md
|
|
21
|
+
</objective>
|
|
22
|
+
|
|
23
|
+
<execution_context>
|
|
24
|
+
@~/.config/opencode/get-shit-done/workflows/verify-work.md
|
|
25
|
+
@~/.config/opencode/get-shit-done/templates/uat-issues.md
|
|
26
|
+
</execution_context>
|
|
27
|
+
|
|
28
|
+
<context>
|
|
29
|
+
Scope: $ARGUMENTS (optional)
|
|
30
|
+
- If provided: Test specific phase or plan (e.g., "4" or "04-02")
|
|
31
|
+
- If not provided: Test most recently completed plan
|
|
32
|
+
|
|
33
|
+
**Load project state:**
|
|
34
|
+
@.planning/STATE.md
|
|
35
|
+
|
|
36
|
+
**Load roadmap:**
|
|
37
|
+
@.planning/ROADMAP.md
|
|
38
|
+
</context>
|
|
39
|
+
|
|
40
|
+
<process>
|
|
41
|
+
1. Validate arguments (if provided, parse as phase or plan number)
|
|
42
|
+
2. Find relevant SUMMARY.md (specified or most recent)
|
|
43
|
+
3. Follow verify-work.md workflow:
|
|
44
|
+
- Extract testable deliverables
|
|
45
|
+
- Generate test checklist
|
|
46
|
+
- Guide through each test via question
|
|
47
|
+
- Collect and categorize issues
|
|
48
|
+
- Log issues to `.planning/phases/XX-name/{phase}-{plan}-ISSUES.md`
|
|
49
|
+
- Present summary with verdict
|
|
50
|
+
4. Offer next steps based on results:
|
|
51
|
+
- If all passed: Continue to next phase
|
|
52
|
+
- If issues found: `/gsd:plan-fix {phase} {plan}` to create fix plan
|
|
53
|
+
</process>
|
|
54
|
+
|
|
55
|
+
<anti_patterns>
|
|
56
|
+
- Don't run automated tests (that's for CI/test suites)
|
|
57
|
+
- Don't make assumptions about test results — USER reports outcomes
|
|
58
|
+
- Don't skip guidance — walk through each test
|
|
59
|
+
- Don't dismiss minor issues — log everything user reports
|
|
60
|
+
- Don't fix issues during testing — capture for later
|
|
61
|
+
</anti_patterns>
|
|
62
|
+
|
|
63
|
+
<success_criteria>
|
|
64
|
+
- [ ] Test scope identified from SUMMARY.md
|
|
65
|
+
- [ ] Checklist generated based on deliverables
|
|
66
|
+
- [ ] User guided through each test
|
|
67
|
+
- [ ] All test results captured (pass/fail/partial/skip)
|
|
68
|
+
- [ ] Any issues logged to phase-scoped ISSUES.md (not global)
|
|
69
|
+
- [ ] Summary presented with verdict
|
|
70
|
+
- [ ] User knows next steps based on results
|
|
71
|
+
</success_criteria>
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
<overview>
|
|
2
|
+
Plans execute autonomously. Checkpoints formalize interaction points where human verification or decisions are needed.
|
|
3
|
+
|
|
4
|
+
**Core principle:** Claude automates everything with CLI/API. Checkpoints are for verification and decisions, not manual work.
|
|
5
|
+
</overview>
|
|
6
|
+
|
|
7
|
+
<checkpoint_types>
|
|
8
|
+
|
|
9
|
+
## checkpoint:human-verify (90% of checkpoints)
|
|
10
|
+
|
|
11
|
+
**When:** Claude completed automated work, human confirms it works correctly.
|
|
12
|
+
|
|
13
|
+
**Use for:** Visual UI checks, interactive flows, functional verification, audio/video quality, animation smoothness, accessibility testing.
|
|
14
|
+
|
|
15
|
+
**Structure:**
|
|
16
|
+
```xml
|
|
17
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
18
|
+
<what-built>[What Claude automated]</what-built>
|
|
19
|
+
<how-to-verify>[Numbered steps - URLs, commands, expected behavior]</how-to-verify>
|
|
20
|
+
<resume-signal>[How to continue - "approved" or describe issues]</resume-signal>
|
|
21
|
+
</task>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Example:**
|
|
25
|
+
```xml
|
|
26
|
+
<task type="auto">
|
|
27
|
+
<name>Deploy to Vercel</name>
|
|
28
|
+
<action>Run `vercel --yes` to deploy. Capture URL.</action>
|
|
29
|
+
<verify>vercel ls shows deployment, curl {url} returns 200</verify>
|
|
30
|
+
</task>
|
|
31
|
+
|
|
32
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
33
|
+
<what-built>Deployed to https://myapp.vercel.app</what-built>
|
|
34
|
+
<how-to-verify>
|
|
35
|
+
Visit URL and confirm:
|
|
36
|
+
1. Homepage loads without errors
|
|
37
|
+
2. All images/assets load
|
|
38
|
+
3. No console errors
|
|
39
|
+
</how-to-verify>
|
|
40
|
+
<resume-signal>Type "approved" or describe issues</resume-signal>
|
|
41
|
+
</task>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## checkpoint:decision (9% of checkpoints)
|
|
45
|
+
|
|
46
|
+
**When:** Human must make choice that affects implementation direction.
|
|
47
|
+
|
|
48
|
+
**Use for:** Technology selection, architecture decisions, design choices, feature prioritization.
|
|
49
|
+
|
|
50
|
+
**Structure:**
|
|
51
|
+
```xml
|
|
52
|
+
<task type="checkpoint:decision" gate="blocking">
|
|
53
|
+
<decision>[What's being decided]</decision>
|
|
54
|
+
<context>[Why this matters]</context>
|
|
55
|
+
<options>
|
|
56
|
+
<option id="option-a"><name>[Name]</name><pros>[Benefits]</pros><cons>[Tradeoffs]</cons></option>
|
|
57
|
+
<option id="option-b"><name>[Name]</name><pros>[Benefits]</pros><cons>[Tradeoffs]</cons></option>
|
|
58
|
+
</options>
|
|
59
|
+
<resume-signal>[How to indicate choice]</resume-signal>
|
|
60
|
+
</task>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Example:**
|
|
64
|
+
```xml
|
|
65
|
+
<task type="checkpoint:decision" gate="blocking">
|
|
66
|
+
<decision>Select authentication provider</decision>
|
|
67
|
+
<context>Need user auth. Three options with different tradeoffs.</context>
|
|
68
|
+
<options>
|
|
69
|
+
<option id="supabase"><name>Supabase Auth</name><pros>Built-in with DB, free tier, RLS integration</pros><cons>Less customizable, ecosystem lock-in</cons></option>
|
|
70
|
+
<option id="clerk"><name>Clerk</name><pros>Beautiful UI, best DX</pros><cons>Paid after 10k MAU</cons></option>
|
|
71
|
+
<option id="nextauth"><name>NextAuth.js</name><pros>Free, self-hosted, max control</pros><cons>More setup, DIY security</cons></option>
|
|
72
|
+
</options>
|
|
73
|
+
<resume-signal>Select: supabase, clerk, or nextauth</resume-signal>
|
|
74
|
+
</task>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## checkpoint:human-action (1% - rare)
|
|
78
|
+
|
|
79
|
+
**When:** Action has NO CLI/API and requires human-only interaction.
|
|
80
|
+
|
|
81
|
+
**Use ONLY for:** Email verification links, SMS 2FA codes, manual account approvals, 3D Secure payment flows, OAuth app approvals.
|
|
82
|
+
|
|
83
|
+
**Do NOT use for:** Deployments (use CLI), creating resources (use CLI/API), builds/tests (use Bash), file operations (use Write/Edit).
|
|
84
|
+
|
|
85
|
+
**Structure:**
|
|
86
|
+
```xml
|
|
87
|
+
<task type="checkpoint:human-action" gate="blocking">
|
|
88
|
+
<action>[Unavoidable manual step]</action>
|
|
89
|
+
<instructions>[What Claude automated] [ONE thing requiring human action]</instructions>
|
|
90
|
+
<verification>[What Claude checks afterward]</verification>
|
|
91
|
+
<resume-signal>[How to continue]</resume-signal>
|
|
92
|
+
</task>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Example (email verification):**
|
|
96
|
+
```xml
|
|
97
|
+
<task type="checkpoint:human-action" gate="blocking">
|
|
98
|
+
<action>Complete email verification for SendGrid account</action>
|
|
99
|
+
<instructions>
|
|
100
|
+
I created the account and requested verification email.
|
|
101
|
+
Check your inbox for verification link and click it.
|
|
102
|
+
</instructions>
|
|
103
|
+
<verification>SendGrid API key works: curl test succeeds</verification>
|
|
104
|
+
<resume-signal>Type "done" when verified</resume-signal>
|
|
105
|
+
</task>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
</checkpoint_types>
|
|
109
|
+
|
|
110
|
+
<execution_protocol>
|
|
111
|
+
|
|
112
|
+
When Claude encounters `type="checkpoint:*"`:
|
|
113
|
+
|
|
114
|
+
1. **Stop immediately** - do not proceed to next task
|
|
115
|
+
2. **Display checkpoint clearly:**
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
════════════════════════════════════════
|
|
119
|
+
CHECKPOINT: [Type]
|
|
120
|
+
════════════════════════════════════════
|
|
121
|
+
|
|
122
|
+
Task [X] of [Y]: [Name]
|
|
123
|
+
|
|
124
|
+
[Checkpoint-specific content]
|
|
125
|
+
|
|
126
|
+
[Resume signal instruction]
|
|
127
|
+
════════════════════════════════════════
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
3. **Wait for user response** - do not hallucinate completion
|
|
131
|
+
4. **Verify if possible** - check files, run tests
|
|
132
|
+
5. **Resume execution** - continue only after confirmation
|
|
133
|
+
|
|
134
|
+
</execution_protocol>
|
|
135
|
+
|
|
136
|
+
<authentication_gates>
|
|
137
|
+
|
|
138
|
+
**Critical:** When Claude tries CLI/API and gets auth error, this is NOT a failure - it's a gate requiring human input to unblock automation.
|
|
139
|
+
|
|
140
|
+
**Pattern:** Claude tries automation → auth error → creates checkpoint → you authenticate → Claude retries → continues
|
|
141
|
+
|
|
142
|
+
**Gate protocol:**
|
|
143
|
+
1. Recognize it's not a failure - missing auth is expected
|
|
144
|
+
2. Stop current task - don't retry repeatedly
|
|
145
|
+
3. Create checkpoint:human-action dynamically
|
|
146
|
+
4. Provide exact authentication steps
|
|
147
|
+
5. Verify authentication works
|
|
148
|
+
6. Retry the original task
|
|
149
|
+
7. Continue normally
|
|
150
|
+
|
|
151
|
+
**Example (Vercel auth gate):**
|
|
152
|
+
```xml
|
|
153
|
+
<!-- Claude tries to deploy -->
|
|
154
|
+
<task type="auto">
|
|
155
|
+
<name>Deploy to Vercel</name>
|
|
156
|
+
<action>Run `vercel --yes` to deploy</action>
|
|
157
|
+
</task>
|
|
158
|
+
|
|
159
|
+
<!-- If vercel returns "Error: Not authenticated" -->
|
|
160
|
+
<task type="checkpoint:human-action" gate="blocking">
|
|
161
|
+
<action>Authenticate Vercel CLI so I can continue</action>
|
|
162
|
+
<instructions>
|
|
163
|
+
I tried to deploy but got authentication error.
|
|
164
|
+
Run: vercel login (opens browser)
|
|
165
|
+
</instructions>
|
|
166
|
+
<verification>vercel whoami returns your account</verification>
|
|
167
|
+
<resume-signal>Type "done" when authenticated</resume-signal>
|
|
168
|
+
</task>
|
|
169
|
+
|
|
170
|
+
<!-- After auth, Claude retries automatically -->
|
|
171
|
+
<task type="auto">
|
|
172
|
+
<name>Retry deployment</name>
|
|
173
|
+
<action>Run `vercel --yes` (now authenticated)</action>
|
|
174
|
+
</task>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Key distinction:**
|
|
178
|
+
- Pre-planned checkpoint: "I need you to do X" (wrong - Claude should automate)
|
|
179
|
+
- Auth gate: "I tried to automate X but need credentials" (correct - unblocks automation)
|
|
180
|
+
|
|
181
|
+
</authentication_gates>
|
|
182
|
+
|
|
183
|
+
<automation_reference>
|
|
184
|
+
|
|
185
|
+
**The rule:** If it has CLI/API, Claude does it. Never ask human to perform automatable work.
|
|
186
|
+
|
|
187
|
+
| Service | CLI/API | Key Commands | Auth Gate |
|
|
188
|
+
|---------|---------|--------------|-----------|
|
|
189
|
+
| Vercel | `vercel` | `--yes`, `env add`, `--prod`, `ls` | `vercel login` |
|
|
190
|
+
| Railway | `railway` | `init`, `up`, `variables set` | `railway login` |
|
|
191
|
+
| Fly | `fly` | `launch`, `deploy`, `secrets set` | `fly auth login` |
|
|
192
|
+
| Stripe | `stripe` + API | `listen`, `trigger`, API calls | API key in .env |
|
|
193
|
+
| Supabase | `supabase` | `init`, `link`, `db push`, `gen types` | `supabase login` |
|
|
194
|
+
| Upstash | `upstash` | `redis create`, `redis get` | `upstash auth login` |
|
|
195
|
+
| PlanetScale | `pscale` | `database create`, `branch create` | `pscale auth login` |
|
|
196
|
+
| GitHub | `gh` | `repo create`, `pr create`, `secret set` | `gh auth login` |
|
|
197
|
+
| Node | `npm`/`pnpm` | `install`, `run build`, `test` | N/A |
|
|
198
|
+
| Xcode | `xcodebuild` | `-project`, `-scheme`, `build`, `test` | N/A |
|
|
199
|
+
|
|
200
|
+
**Env files:** Use Write/Edit tools. Never ask human to create .env manually.
|
|
201
|
+
|
|
202
|
+
**Quick reference:**
|
|
203
|
+
|
|
204
|
+
| Action | Automatable? | Claude does it? |
|
|
205
|
+
|--------|--------------|-----------------|
|
|
206
|
+
| Deploy to Vercel | Yes (`vercel`) | YES |
|
|
207
|
+
| Create Stripe webhook | Yes (API) | YES |
|
|
208
|
+
| Write .env file | Yes (Write tool) | YES |
|
|
209
|
+
| Create Upstash DB | Yes (`upstash`) | YES |
|
|
210
|
+
| Run tests | Yes (`npm test`) | YES |
|
|
211
|
+
| Click email verification link | No | NO |
|
|
212
|
+
| Enter credit card with 3DS | No | NO |
|
|
213
|
+
|
|
214
|
+
</automation_reference>
|
|
215
|
+
|
|
216
|
+
<guidelines>
|
|
217
|
+
|
|
218
|
+
**DO:**
|
|
219
|
+
- Automate everything with CLI/API before checkpoint
|
|
220
|
+
- Be specific: "Visit https://myapp.vercel.app" not "check deployment"
|
|
221
|
+
- Number verification steps
|
|
222
|
+
- State expected outcomes
|
|
223
|
+
- Make verification executable
|
|
224
|
+
|
|
225
|
+
**DON'T:**
|
|
226
|
+
- Ask human to do work Claude can automate
|
|
227
|
+
- Assume knowledge: "Configure the usual settings"
|
|
228
|
+
- Mix multiple verifications in one checkpoint
|
|
229
|
+
- Use checkpoints too frequently (verification fatigue)
|
|
230
|
+
|
|
231
|
+
**Placement:**
|
|
232
|
+
- After automation completes (not before)
|
|
233
|
+
- After UI buildout
|
|
234
|
+
- Before dependent work (decisions)
|
|
235
|
+
- At integration points
|
|
236
|
+
|
|
237
|
+
</guidelines>
|
|
238
|
+
|
|
239
|
+
<anti_patterns>
|
|
240
|
+
|
|
241
|
+
**BAD: Asking human to automate**
|
|
242
|
+
```xml
|
|
243
|
+
<task type="checkpoint:human-action">
|
|
244
|
+
<action>Deploy to Vercel</action>
|
|
245
|
+
<instructions>Visit vercel.com/new, import repo, click Deploy</instructions>
|
|
246
|
+
</task>
|
|
247
|
+
```
|
|
248
|
+
Why bad: Vercel has CLI. Use `vercel --yes`.
|
|
249
|
+
|
|
250
|
+
**BAD: Too many checkpoints**
|
|
251
|
+
```xml
|
|
252
|
+
<task type="auto">Create schema</task>
|
|
253
|
+
<task type="checkpoint:human-verify">Check schema</task>
|
|
254
|
+
<task type="auto">Create API</task>
|
|
255
|
+
<task type="checkpoint:human-verify">Check API</task>
|
|
256
|
+
```
|
|
257
|
+
Why bad: Verification fatigue. Combine into one checkpoint at end.
|
|
258
|
+
|
|
259
|
+
**GOOD: Claude automates, human verifies once**
|
|
260
|
+
```xml
|
|
261
|
+
<task type="auto">Create schema</task>
|
|
262
|
+
<task type="auto">Create API</task>
|
|
263
|
+
<task type="auto">Create UI</task>
|
|
264
|
+
|
|
265
|
+
<task type="checkpoint:human-verify">
|
|
266
|
+
<what-built>Complete auth flow</what-built>
|
|
267
|
+
<how-to-verify>Test full flow: register, login, access protected page</how-to-verify>
|
|
268
|
+
</task>
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
</anti_patterns>
|
|
272
|
+
|
|
273
|
+
<summary>
|
|
274
|
+
|
|
275
|
+
**The golden rule:** If Claude CAN automate it, Claude MUST automate it.
|
|
276
|
+
|
|
277
|
+
**Checkpoint priority:**
|
|
278
|
+
1. **checkpoint:human-verify** (90%) - Claude automated, human confirms visual/functional correctness
|
|
279
|
+
2. **checkpoint:decision** (9%) - Human makes architectural/technology choices
|
|
280
|
+
3. **checkpoint:human-action** (1%) - Truly unavoidable manual steps with no API/CLI
|
|
281
|
+
|
|
282
|
+
**When NOT to use checkpoints:**
|
|
283
|
+
- Things Claude can verify programmatically (tests, builds)
|
|
284
|
+
- File operations (Claude can read/write)
|
|
285
|
+
- Anything with CLI/API available
|
|
286
|
+
|
|
287
|
+
</summary>
|