zaileys 2.2.7 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/skills/codebase-mapper/SKILL.md +226 -0
- package/.agent/skills/context-compressor/SKILL.md +201 -0
- package/.agent/skills/context-fetch/SKILL.md +184 -0
- package/.agent/skills/context-health-monitor/SKILL.md +105 -0
- package/.agent/skills/debugger/SKILL.md +273 -0
- package/.agent/skills/empirical-validation/SKILL.md +97 -0
- package/.agent/skills/executor/SKILL.md +465 -0
- package/.agent/skills/plan-checker/SKILL.md +283 -0
- package/.agent/skills/planner/SKILL.md +485 -0
- package/.agent/skills/token-budget/SKILL.md +166 -0
- package/.agent/skills/verifier/SKILL.md +421 -0
- package/.agent/workflows/add-phase.md +96 -0
- package/.agent/workflows/add-todo.md +69 -0
- package/.agent/workflows/audit-milestone.md +107 -0
- package/.agent/workflows/check-todos.md +80 -0
- package/.agent/workflows/complete-milestone.md +135 -0
- package/.agent/workflows/debug.md +235 -0
- package/.agent/workflows/discuss-phase.md +103 -0
- package/.agent/workflows/execute.md +325 -0
- package/.agent/workflows/health.md +122 -0
- package/.agent/workflows/help.md +96 -0
- package/.agent/workflows/insert-phase.md +109 -0
- package/.agent/workflows/install.md +152 -0
- package/.agent/workflows/list-phase-assumptions.md +82 -0
- package/.agent/workflows/map.md +394 -0
- package/.agent/workflows/new-milestone.md +126 -0
- package/.agent/workflows/new-project.md +368 -0
- package/.agent/workflows/pause.md +176 -0
- package/.agent/workflows/plan-milestone-gaps.md +116 -0
- package/.agent/workflows/plan.md +380 -0
- package/.agent/workflows/progress.md +90 -0
- package/.agent/workflows/quick.md +128 -0
- package/.agent/workflows/remove-phase.md +139 -0
- package/.agent/workflows/research-phase.md +160 -0
- package/.agent/workflows/resume.md +131 -0
- package/.agent/workflows/update.md +203 -0
- package/.agent/workflows/verify.md +263 -0
- package/.agent/workflows/web-search.md +121 -0
- package/.agent/workflows/whats-new.md +80 -0
- package/.gemini/GEMINI.md +67 -0
- package/.gsd/DEBUG.md +26 -0
- package/.gsd/GSD-STYLE.md +272 -0
- package/.gsd/PROJECT_RULES.md +256 -0
- package/.gsd/ROADMAP.md +38 -0
- package/.gsd/SPEC.md +16 -0
- package/.gsd/STATE.md +10 -0
- package/.gsd/adapters/CLAUDE.md +77 -0
- package/.gsd/adapters/GEMINI.md +92 -0
- package/.gsd/adapters/GPT_OSS.md +130 -0
- package/.gsd/docs/model-selection-playbook.md +128 -0
- package/.gsd/docs/runbook.md +296 -0
- package/.gsd/docs/token-optimization-guide.md +207 -0
- package/.gsd/model_capabilities.yaml +108 -0
- package/.gsd/phases/1/1-PLAN.md +44 -0
- package/.gsd/phases/1/2-PLAN.md +54 -0
- package/.gsd/phases/1/3-PLAN.md +46 -0
- package/.gsd/phases/1/4-PLAN.md +39 -0
- package/.gsd/phases/2/2-1-SUMMARY.md +8 -0
- package/.gsd/phases/2/2-PLAN.md +47 -0
- package/.gsd/phases/3/3-1-SUMMARY.md +8 -0
- package/.gsd/phases/3/3-PLAN.md +43 -0
- package/.gsd/phases/4/4-1-PLAN.md +44 -0
- package/.gsd/phases/4/4-1-SUMMARY.md +8 -0
- package/.gsd/phases/4/4-2-PLAN.md +59 -0
- package/.gsd/phases/4/4-2-SUMMARY.md +8 -0
- package/.gsd/phases/4/4-3-PLAN.md +42 -0
- package/.gsd/phases/4/4-3-SUMMARY.md +8 -0
- package/.gsd/phases/4/VERIFICATION.md +8 -0
- package/.gsd/phases/5/1-SUMMARY.md +5 -0
- package/.gsd/phases/5/5-PLAN.md +47 -0
- package/.gsd/phases/5/RESEARCH.md +24 -0
- package/.gsd/phases/5/VERIFICATION.md +8 -0
- package/.gsd/phases/6/1-SUMMARY.md +6 -0
- package/.gsd/phases/6/6-PLAN.md +46 -0
- package/.gsd/phases/6/RESEARCH.md +33 -0
- package/.gsd/phases/6/VERIFICATION.md +7 -0
- package/.gsd/phases/7/1-SUMMARY.md +12 -0
- package/.gsd/phases/7/7-PLAN.md +78 -0
- package/.gsd/phases/7/VERIFICATION.md +7 -0
- package/.gsd/templates/DEBUG.md +123 -0
- package/.gsd/templates/PLAN.md +90 -0
- package/.gsd/templates/RESEARCH.md +75 -0
- package/.gsd/templates/SUMMARY.md +103 -0
- package/.gsd/templates/UAT.md +168 -0
- package/.gsd/templates/VERIFICATION.md +70 -0
- package/.gsd/templates/architecture.md +67 -0
- package/.gsd/templates/context.md +91 -0
- package/.gsd/templates/decisions.md +37 -0
- package/.gsd/templates/discovery.md +122 -0
- package/.gsd/templates/journal.md +46 -0
- package/.gsd/templates/milestone.md +91 -0
- package/.gsd/templates/phase-summary.md +52 -0
- package/.gsd/templates/project.md +124 -0
- package/.gsd/templates/requirements.md +92 -0
- package/.gsd/templates/roadmap.md +103 -0
- package/.gsd/templates/spec.md +51 -0
- package/.gsd/templates/sprint.md +57 -0
- package/.gsd/templates/stack.md +62 -0
- package/.gsd/templates/state.md +92 -0
- package/.gsd/templates/state_snapshot.md +132 -0
- package/.gsd/templates/todo.md +32 -0
- package/.gsd/templates/token_report.md +79 -0
- package/.gsd/templates/user-setup.md +116 -0
- package/.husky/commit-msg +1 -0
- package/.husky/pre-commit +1 -0
- package/LICENSE +21 -21
- package/README.MD +1280 -1230
- package/commitlint.config.js +3 -0
- package/dist/index.d.mts +1397 -908
- package/dist/index.d.ts +1397 -908
- package/dist/index.js +29 -28
- package/dist/index.mjs +29 -28
- package/package.json +11 -27
- package/tsconfig.json +19 -19
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: List all pending todo items
|
|
3
|
+
argument-hint: "[--all] [--priority high|medium|low]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /check-todos Workflow
|
|
7
|
+
|
|
8
|
+
<objective>
|
|
9
|
+
Display pending todo items, optionally filtered by priority or status.
|
|
10
|
+
</objective>
|
|
11
|
+
|
|
12
|
+
<context>
|
|
13
|
+
**Flags:**
|
|
14
|
+
- `--all` — Show completed items too
|
|
15
|
+
- `--priority high|medium|low` — Filter by priority
|
|
16
|
+
|
|
17
|
+
**Input:**
|
|
18
|
+
- `.gsd/TODO.md` — Todo items
|
|
19
|
+
</context>
|
|
20
|
+
|
|
21
|
+
<process>
|
|
22
|
+
|
|
23
|
+
## 1. Load TODO.md
|
|
24
|
+
|
|
25
|
+
```powershell
|
|
26
|
+
if (-not (Test-Path ".gsd/TODO.md")) {
|
|
27
|
+
Write-Output "No todos found. Use /add-todo to create one."
|
|
28
|
+
exit
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
Get-Content ".gsd/TODO.md"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Parse and Filter
|
|
37
|
+
|
|
38
|
+
Count items by status:
|
|
39
|
+
- `- [ ]` = pending
|
|
40
|
+
- `- [x]` = complete
|
|
41
|
+
|
|
42
|
+
Filter by priority if flag provided.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 3. Display
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
50
|
+
GSD ► TODOS
|
|
51
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
52
|
+
|
|
53
|
+
PENDING ({N} items)
|
|
54
|
+
───────────────────
|
|
55
|
+
🔴 {high priority item}
|
|
56
|
+
🟡 {medium priority item}
|
|
57
|
+
🟢 {low priority item}
|
|
58
|
+
|
|
59
|
+
{If --all flag:}
|
|
60
|
+
COMPLETED ({M} items)
|
|
61
|
+
─────────────────────
|
|
62
|
+
✅ {completed item}
|
|
63
|
+
|
|
64
|
+
───────────────────────────────────────────────────────
|
|
65
|
+
|
|
66
|
+
/add-todo <item> — add new item
|
|
67
|
+
|
|
68
|
+
───────────────────────────────────────────────────────
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
</process>
|
|
72
|
+
|
|
73
|
+
<priority_indicators>
|
|
74
|
+
| Priority | Indicator |
|
|
75
|
+
|----------|-----------|
|
|
76
|
+
| high | 🔴 |
|
|
77
|
+
| medium | 🟡 |
|
|
78
|
+
| low | 🟢 |
|
|
79
|
+
| done | ✅ |
|
|
80
|
+
</priority_indicators>
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Mark current milestone as complete and archive
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /complete-milestone Workflow
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Finalize the current milestone, archive documentation, and prepare for next milestone.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<process>
|
|
12
|
+
|
|
13
|
+
## 1. Verify All Phases Complete
|
|
14
|
+
|
|
15
|
+
**PowerShell:**
|
|
16
|
+
```powershell
|
|
17
|
+
# Check ROADMAP.md for incomplete phases
|
|
18
|
+
Select-String -Path ".gsd/ROADMAP.md" -Pattern "Status.*Not Started|Status.*In Progress"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Bash:**
|
|
22
|
+
```bash
|
|
23
|
+
# Check ROADMAP.md for incomplete phases
|
|
24
|
+
grep -E "Status.*Not Started|Status.*In Progress" ".gsd/ROADMAP.md"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**If incomplete phases found:**
|
|
28
|
+
```
|
|
29
|
+
⚠️ Cannot complete milestone — {N} phases incomplete
|
|
30
|
+
|
|
31
|
+
Run /progress to see status.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Run Final Verification
|
|
37
|
+
|
|
38
|
+
Verify all must-haves from ROADMAP.md:
|
|
39
|
+
- Run verification commands
|
|
40
|
+
- Capture evidence
|
|
41
|
+
- Create VERIFICATION.md if not exists
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 3. Generate Milestone Summary
|
|
46
|
+
|
|
47
|
+
Create `.gsd/milestones/{name}-SUMMARY.md`:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
# Milestone: {name}
|
|
51
|
+
|
|
52
|
+
## Completed: {date}
|
|
53
|
+
|
|
54
|
+
## Deliverables
|
|
55
|
+
- ✅ {must-have 1}
|
|
56
|
+
- ✅ {must-have 2}
|
|
57
|
+
|
|
58
|
+
## Phases Completed
|
|
59
|
+
1. Phase 1: {name} — {date}
|
|
60
|
+
2. Phase 2: {name} — {date}
|
|
61
|
+
...
|
|
62
|
+
|
|
63
|
+
## Metrics
|
|
64
|
+
- Total commits: {N}
|
|
65
|
+
- Files changed: {M}
|
|
66
|
+
- Duration: {days}
|
|
67
|
+
|
|
68
|
+
## Lessons Learned
|
|
69
|
+
{Auto-extract from DECISIONS.md and JOURNAL.md}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 4. Archive Current State
|
|
75
|
+
|
|
76
|
+
**PowerShell:**
|
|
77
|
+
```powershell
|
|
78
|
+
# Create milestone archive
|
|
79
|
+
New-Item -ItemType Directory -Force ".gsd/milestones/{name}"
|
|
80
|
+
|
|
81
|
+
# Move phase-specific files
|
|
82
|
+
Move-Item ".gsd/phases/*" ".gsd/milestones/{name}/"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Bash:**
|
|
86
|
+
```bash
|
|
87
|
+
# Create milestone archive
|
|
88
|
+
mkdir -p ".gsd/milestones/{name}"
|
|
89
|
+
|
|
90
|
+
# Move phase-specific files
|
|
91
|
+
mv .gsd/phases/* ".gsd/milestones/{name}/"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 5. Reset for Next Milestone
|
|
97
|
+
|
|
98
|
+
Clear ROADMAP.md phases section (keep header).
|
|
99
|
+
Update STATE.md to show milestone complete.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 6. Commit and Tag
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
git add -A
|
|
107
|
+
git commit -m "docs: complete milestone {name}"
|
|
108
|
+
git tag -a "{name}" -m "Milestone {name} complete"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 7. Celebrate
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
117
|
+
GSD ► MILESTONE COMPLETE 🎉
|
|
118
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
|
+
|
|
120
|
+
{name}
|
|
121
|
+
|
|
122
|
+
Phases: {N} completed
|
|
123
|
+
Tag: {name}
|
|
124
|
+
|
|
125
|
+
───────────────────────────────────────────────────────
|
|
126
|
+
|
|
127
|
+
▶ NEXT
|
|
128
|
+
|
|
129
|
+
/new-milestone — Start next milestone
|
|
130
|
+
/audit-milestone {name} — Review this milestone
|
|
131
|
+
|
|
132
|
+
───────────────────────────────────────────────────────
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
</process>
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Systematic debugging with persistent state
|
|
3
|
+
argument-hint: "[description of issue]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /debug Workflow
|
|
7
|
+
|
|
8
|
+
<role>
|
|
9
|
+
You are a GSD debugger orchestrator. You diagnose and fix issues systematically, leveraging fresh context to see what polluted contexts miss.
|
|
10
|
+
</role>
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Systematically diagnose an issue using hypothesis-driven debugging, with persistent state to prevent circular attempts.
|
|
14
|
+
</objective>
|
|
15
|
+
|
|
16
|
+
<context>
|
|
17
|
+
**Issue:** $ARGUMENTS (description of the problem to debug)
|
|
18
|
+
|
|
19
|
+
**Skill reference:** `.agent/skills/debugger/SKILL.md`
|
|
20
|
+
</context>
|
|
21
|
+
|
|
22
|
+
<process>
|
|
23
|
+
|
|
24
|
+
## 1. Initialize Debug Session
|
|
25
|
+
|
|
26
|
+
Check for existing debug state:
|
|
27
|
+
**PowerShell:**
|
|
28
|
+
```powershell
|
|
29
|
+
Test-Path ".gsd/DEBUG.md"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Bash:**
|
|
33
|
+
```bash
|
|
34
|
+
test -f ".gsd/DEBUG.md"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
If exists, load previous attempts. If not, create new session.
|
|
38
|
+
|
|
39
|
+
Display banner:
|
|
40
|
+
```
|
|
41
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
42
|
+
GSD ► DEBUG SESSION
|
|
43
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
44
|
+
|
|
45
|
+
Issue: {description}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 2. Document Symptom
|
|
51
|
+
|
|
52
|
+
Create/update `.gsd/DEBUG.md`:
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
# Debug Session: {Issue ID}
|
|
56
|
+
|
|
57
|
+
## Symptom
|
|
58
|
+
{Exact description of the problem}
|
|
59
|
+
|
|
60
|
+
**When:** {When does it occur?}
|
|
61
|
+
**Expected:** {What should happen?}
|
|
62
|
+
**Actual:** {What actually happens?}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 3. Gather Evidence
|
|
68
|
+
|
|
69
|
+
Collect data BEFORE forming hypotheses:
|
|
70
|
+
|
|
71
|
+
**PowerShell:**
|
|
72
|
+
```powershell
|
|
73
|
+
# Get error details
|
|
74
|
+
{relevant commands to capture error info}
|
|
75
|
+
|
|
76
|
+
# Check logs
|
|
77
|
+
Get-Content logs/error.log -Tail 50
|
|
78
|
+
|
|
79
|
+
# Check environment
|
|
80
|
+
{relevant environment checks}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Bash:**
|
|
84
|
+
```bash
|
|
85
|
+
# Get error details
|
|
86
|
+
{relevant commands to capture error info}
|
|
87
|
+
|
|
88
|
+
# Check logs
|
|
89
|
+
tail -50 logs/error.log
|
|
90
|
+
|
|
91
|
+
# Check environment
|
|
92
|
+
{relevant environment checks}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Document evidence in DEBUG.md.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 4. Form Hypotheses
|
|
100
|
+
|
|
101
|
+
Based on evidence, list possible causes:
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
## Hypotheses
|
|
105
|
+
|
|
106
|
+
| # | Hypothesis | Likelihood | Status |
|
|
107
|
+
|---|------------|------------|--------|
|
|
108
|
+
| 1 | {cause 1} | 80% | UNTESTED |
|
|
109
|
+
| 2 | {cause 2} | 15% | UNTESTED |
|
|
110
|
+
| 3 | {cause 3} | 5% | UNTESTED |
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 5. Test Hypotheses
|
|
116
|
+
|
|
117
|
+
Test highest likelihood first:
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
## Attempts
|
|
121
|
+
|
|
122
|
+
### Attempt 1
|
|
123
|
+
**Testing:** H1 — {hypothesis}
|
|
124
|
+
**Action:** {what you did to test}
|
|
125
|
+
**Result:** {outcome}
|
|
126
|
+
**Conclusion:** {CONFIRMED | ELIMINATED | INCONCLUSIVE}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 6. Apply Fix (If Root Cause Found)
|
|
132
|
+
|
|
133
|
+
When root cause confirmed:
|
|
134
|
+
|
|
135
|
+
1. Implement fix
|
|
136
|
+
2. Run original failing scenario
|
|
137
|
+
3. Verify PASSES
|
|
138
|
+
4. Check for regressions
|
|
139
|
+
|
|
140
|
+
Update DEBUG.md:
|
|
141
|
+
```markdown
|
|
142
|
+
## Resolution
|
|
143
|
+
|
|
144
|
+
**Root Cause:** {what was actually wrong}
|
|
145
|
+
**Fix:** {what was changed}
|
|
146
|
+
**Verified:** {how fix was verified}
|
|
147
|
+
**Regression Check:** {what else was tested}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 7. Handle 3-Strike Rule
|
|
153
|
+
|
|
154
|
+
If 3 attempts fail on SAME approach:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
⚠️ 3 FAILURES ON SAME APPROACH
|
|
158
|
+
|
|
159
|
+
Action: STOP and reassess
|
|
160
|
+
|
|
161
|
+
Options:
|
|
162
|
+
1. Try fundamentally DIFFERENT approach
|
|
163
|
+
2. /pause for fresh session context
|
|
164
|
+
3. Ask user for additional information
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Update DEBUG.md and recommend next steps.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 8. Commit Resolution
|
|
172
|
+
|
|
173
|
+
If fixed:
|
|
174
|
+
```bash
|
|
175
|
+
git add -A
|
|
176
|
+
git commit -m "fix: {brief description of fix}"
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Update STATE.md with resolution.
|
|
180
|
+
|
|
181
|
+
</process>
|
|
182
|
+
|
|
183
|
+
<offer_next>
|
|
184
|
+
|
|
185
|
+
**If Resolved:**
|
|
186
|
+
```
|
|
187
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
188
|
+
GSD ► BUG FIXED ✓
|
|
189
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
190
|
+
|
|
191
|
+
Root cause: {what was wrong}
|
|
192
|
+
Fix: {what was done}
|
|
193
|
+
|
|
194
|
+
Committed: {hash}
|
|
195
|
+
|
|
196
|
+
───────────────────────────────────────────────────────
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**If Stuck After 3 Attempts:**
|
|
200
|
+
```
|
|
201
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
202
|
+
GSD ► DEBUG PAUSED ⏸
|
|
203
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
204
|
+
|
|
205
|
+
3 attempts exhausted on current approach.
|
|
206
|
+
State saved to .gsd/DEBUG.md
|
|
207
|
+
|
|
208
|
+
───────────────────────────────────────────────────────
|
|
209
|
+
|
|
210
|
+
Options:
|
|
211
|
+
• /debug {issue} — try different approach
|
|
212
|
+
• /pause — save state for fresh session
|
|
213
|
+
• Provide more context about the issue
|
|
214
|
+
|
|
215
|
+
───────────────────────────────────────────────────────
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
</offer_next>
|
|
219
|
+
|
|
220
|
+
<related>
|
|
221
|
+
## Related
|
|
222
|
+
|
|
223
|
+
### Workflows
|
|
224
|
+
| Command | Relationship |
|
|
225
|
+
|---------|--------------|
|
|
226
|
+
| `/pause` | Use after 3 failed attempts |
|
|
227
|
+
| `/resume` | Start fresh with documented state |
|
|
228
|
+
| `/verify` | Re-verify after fixing issues |
|
|
229
|
+
|
|
230
|
+
### Skills
|
|
231
|
+
| Skill | Purpose |
|
|
232
|
+
|-------|---------|
|
|
233
|
+
| `debugger` | Detailed debugging methodology |
|
|
234
|
+
| `context-health-monitor` | 3-strike rule |
|
|
235
|
+
</related>
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Identify gray areas and capture decisions before planning
|
|
3
|
+
argument-hint: "[phase]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /discuss-phase Workflow
|
|
7
|
+
|
|
8
|
+
<role>
|
|
9
|
+
You are an expert technical product manager. You help the user firm up ambiguous requirements before planning begins.
|
|
10
|
+
Your goal is to surface "gray areas" — implementation details that could go multiple ways — and get the user's explicit preference.
|
|
11
|
+
</role>
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
Analyze the upcoming roadmap phase, identify unstated assumptions or decisions, present options to the user, and record the outcomes in a CONTEXT file for the planner agent.
|
|
15
|
+
</objective>
|
|
16
|
+
|
|
17
|
+
<context>
|
|
18
|
+
**Phase number:** $ARGUMENTS (optional — auto-detects next unplanned phase from roadmap if missing)
|
|
19
|
+
|
|
20
|
+
**Required files:**
|
|
21
|
+
- `.gsd/ROADMAP.md`
|
|
22
|
+
- `.gsd/SPEC.md`
|
|
23
|
+
</context>
|
|
24
|
+
|
|
25
|
+
<process>
|
|
26
|
+
|
|
27
|
+
## 1. Validate Target Phase
|
|
28
|
+
Look for the phase in `.gsd/ROADMAP.md` (e.g., Phase 2). Extract the goal and description for this phase.
|
|
29
|
+
If the phase doesn't exist, report an error.
|
|
30
|
+
|
|
31
|
+
## 2. Identify Gray Areas
|
|
32
|
+
Given the phase description and the overarching SPEC, identify 2-4 critical implementation details or UX/UI decisions that are not explicitly stated.
|
|
33
|
+
*Example: For a login page, a gray area could be "Authentication Method" (OAuth vs Email/Password) or "Error Handling UX" (Toasts vs Inline text).*
|
|
34
|
+
|
|
35
|
+
## 3. Present Gray Areas to the User
|
|
36
|
+
Output a clear, structured question to the user outlining the identified areas and asking for preferences.
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
40
|
+
GSD ► DISCUSSING PHASE {N}
|
|
41
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
42
|
+
|
|
43
|
+
I've reviewed Phase {N}: {Phase Name}. Before we create execution plans, we need to clarify a few gray areas.
|
|
44
|
+
|
|
45
|
+
### 1. {Gray Area 1 Title}
|
|
46
|
+
{Brief explanation of why this matters}
|
|
47
|
+
- Option A: {Description}
|
|
48
|
+
- Option B: {Description}
|
|
49
|
+
|
|
50
|
+
### 2. {Gray Area 2 Title}
|
|
51
|
+
{Brief explanation of why this matters}
|
|
52
|
+
- Option A: {Description}
|
|
53
|
+
- Option B: {Description}
|
|
54
|
+
|
|
55
|
+
(Or you can say "You decide" for any of these and I will use my best judgment).
|
|
56
|
+
|
|
57
|
+
Waiting for your input...
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## 4. Capture Decisions
|
|
61
|
+
|
|
62
|
+
Wait for the user's response. Once received, summarize the decisions.
|
|
63
|
+
|
|
64
|
+
Ensure the phase directory `.gsd/phases/{N}/` exists, then create or update `.gsd/phases/{N}/{N}-CONTEXT.md`:
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
# Phase {N} - Context
|
|
68
|
+
|
|
69
|
+
**Status:** Ready for planning
|
|
70
|
+
|
|
71
|
+
<decisions>
|
|
72
|
+
## Implementation Decisions
|
|
73
|
+
|
|
74
|
+
### {Gray Area 1 Title}
|
|
75
|
+
- {User's chosen direction}
|
|
76
|
+
|
|
77
|
+
### {Gray Area 2 Title}
|
|
78
|
+
- {User's chosen direction}
|
|
79
|
+
|
|
80
|
+
### Claude's Discretion
|
|
81
|
+
- {Any areas where the user deferred to your judgment}
|
|
82
|
+
</decisions>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## 5. End and Transition
|
|
86
|
+
|
|
87
|
+
Tell the user that the context is locked in.
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
91
|
+
GSD ► DECISIONS CAPTURED ✓
|
|
92
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
93
|
+
|
|
94
|
+
Recorded in .gsd/phases/{N}/{N}-CONTEXT.md.
|
|
95
|
+
|
|
96
|
+
▶ Next Up:
|
|
97
|
+
/plan {N} — create execution plans based on these decisions
|
|
98
|
+
```
|
|
99
|
+
</process>
|
|
100
|
+
|
|
101
|
+
<offer_next>
|
|
102
|
+
Recommend the `/plan {N}` command to the user so they can proceed immediately.
|
|
103
|
+
</offer_next>
|