pmp-gywd 3.3.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/LICENSE +27 -0
- package/README.md +567 -0
- package/bin/install.js +348 -0
- package/commands/gywd/add-phase.md +207 -0
- package/commands/gywd/anticipate.md +271 -0
- package/commands/gywd/bootstrap.md +336 -0
- package/commands/gywd/challenge.md +344 -0
- package/commands/gywd/check-drift.md +144 -0
- package/commands/gywd/complete-milestone.md +106 -0
- package/commands/gywd/consider-issues.md +202 -0
- package/commands/gywd/context.md +93 -0
- package/commands/gywd/create-roadmap.md +115 -0
- package/commands/gywd/deps.md +169 -0
- package/commands/gywd/digest.md +138 -0
- package/commands/gywd/discuss-milestone.md +47 -0
- package/commands/gywd/discuss-phase.md +60 -0
- package/commands/gywd/execute-plan.md +161 -0
- package/commands/gywd/extract-decisions.md +325 -0
- package/commands/gywd/health.md +150 -0
- package/commands/gywd/help.md +556 -0
- package/commands/gywd/history.md +278 -0
- package/commands/gywd/impact.md +317 -0
- package/commands/gywd/init.md +95 -0
- package/commands/gywd/insert-phase.md +227 -0
- package/commands/gywd/list-phase-assumptions.md +50 -0
- package/commands/gywd/map-codebase.md +84 -0
- package/commands/gywd/memory.md +159 -0
- package/commands/gywd/new-milestone.md +59 -0
- package/commands/gywd/new-project.md +315 -0
- package/commands/gywd/pause-work.md +123 -0
- package/commands/gywd/plan-fix.md +205 -0
- package/commands/gywd/plan-phase.md +93 -0
- package/commands/gywd/preview-plan.md +139 -0
- package/commands/gywd/profile.md +363 -0
- package/commands/gywd/progress.md +317 -0
- package/commands/gywd/remove-phase.md +338 -0
- package/commands/gywd/research-phase.md +91 -0
- package/commands/gywd/resume-work.md +40 -0
- package/commands/gywd/rollback.md +179 -0
- package/commands/gywd/status.md +42 -0
- package/commands/gywd/sync-github.md +234 -0
- package/commands/gywd/verify-work.md +71 -0
- package/commands/gywd/why.md +251 -0
- package/docs/COMMANDS.md +722 -0
- package/docs/CONTRIBUTING.md +342 -0
- package/docs/EXAMPLES.md +535 -0
- package/docs/GETTING-STARTED.md +262 -0
- package/docs/README.md +55 -0
- package/docs/RELEASING.md +159 -0
- package/get-your-work-done/core/agent-patterns.md +331 -0
- package/get-your-work-done/core/architecture.md +334 -0
- package/get-your-work-done/core/context-model-schema.json +154 -0
- package/get-your-work-done/core/decisions-schema.json +193 -0
- package/get-your-work-done/core/learning-state-schema.json +133 -0
- package/get-your-work-done/core/profile-schema.json +257 -0
- package/get-your-work-done/references/adaptive-decomposition.md +175 -0
- package/get-your-work-done/references/checkpoints.md +287 -0
- package/get-your-work-done/references/confidence-scoring.md +169 -0
- package/get-your-work-done/references/continuation-format.md +255 -0
- package/get-your-work-done/references/git-integration.md +254 -0
- package/get-your-work-done/references/plan-format.md +428 -0
- package/get-your-work-done/references/principles.md +157 -0
- package/get-your-work-done/references/questioning.md +162 -0
- package/get-your-work-done/references/research-pitfalls.md +215 -0
- package/get-your-work-done/references/scope-estimation.md +172 -0
- package/get-your-work-done/references/tdd.md +263 -0
- package/get-your-work-done/templates/codebase/architecture.md +255 -0
- package/get-your-work-done/templates/codebase/concerns.md +310 -0
- package/get-your-work-done/templates/codebase/conventions.md +307 -0
- package/get-your-work-done/templates/codebase/integrations.md +280 -0
- package/get-your-work-done/templates/codebase/stack.md +186 -0
- package/get-your-work-done/templates/codebase/structure.md +285 -0
- package/get-your-work-done/templates/codebase/testing.md +480 -0
- package/get-your-work-done/templates/config.json +18 -0
- package/get-your-work-done/templates/context.md +161 -0
- package/get-your-work-done/templates/continue-here.md +78 -0
- package/get-your-work-done/templates/discovery.md +146 -0
- package/get-your-work-done/templates/issues.md +32 -0
- package/get-your-work-done/templates/milestone-archive.md +123 -0
- package/get-your-work-done/templates/milestone-context.md +93 -0
- package/get-your-work-done/templates/milestone.md +115 -0
- package/get-your-work-done/templates/phase-prompt.md +303 -0
- package/get-your-work-done/templates/project.md +184 -0
- package/get-your-work-done/templates/research.md +529 -0
- package/get-your-work-done/templates/roadmap.md +196 -0
- package/get-your-work-done/templates/state.md +210 -0
- package/get-your-work-done/templates/summary.md +273 -0
- package/get-your-work-done/templates/uat-issues.md +143 -0
- package/get-your-work-done/workflows/complete-milestone.md +643 -0
- package/get-your-work-done/workflows/create-milestone.md +416 -0
- package/get-your-work-done/workflows/create-roadmap.md +481 -0
- package/get-your-work-done/workflows/discovery-phase.md +293 -0
- package/get-your-work-done/workflows/discuss-milestone.md +236 -0
- package/get-your-work-done/workflows/discuss-phase.md +247 -0
- package/get-your-work-done/workflows/execute-phase.md +1625 -0
- package/get-your-work-done/workflows/list-phase-assumptions.md +178 -0
- package/get-your-work-done/workflows/map-codebase.md +434 -0
- package/get-your-work-done/workflows/plan-phase.md +488 -0
- package/get-your-work-done/workflows/research-phase.md +436 -0
- package/get-your-work-done/workflows/resume-project.md +287 -0
- package/get-your-work-done/workflows/transition.md +580 -0
- package/get-your-work-done/workflows/verify-work.md +202 -0
- package/lib/automation/dependency-analyzer.js +635 -0
- package/lib/automation/doc-generator.js +643 -0
- package/lib/automation/index.js +42 -0
- package/lib/automation/test-generator.js +628 -0
- package/lib/context/context-analyzer.js +554 -0
- package/lib/context/context-cache.js +426 -0
- package/lib/context/context-predictor.js +622 -0
- package/lib/context/index.js +44 -0
- package/lib/memory/confidence-calibrator.js +484 -0
- package/lib/memory/feedback-collector.js +551 -0
- package/lib/memory/global-memory.js +465 -0
- package/lib/memory/index.js +75 -0
- package/lib/memory/pattern-aggregator.js +487 -0
- package/lib/memory/team-sync.js +501 -0
- package/lib/profile/index.js +24 -0
- package/lib/profile/pattern-learner.js +303 -0
- package/lib/profile/profile-manager.js +445 -0
- package/lib/questioning/index.js +49 -0
- package/lib/questioning/question-engine.js +311 -0
- package/lib/questioning/question-templates.js +315 -0
- package/lib/validators/command-validator.js +188 -0
- package/lib/validators/index.js +29 -0
- package/lib/validators/schema-validator.js +183 -0
- package/package.json +61 -0
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: GYWD:challenge
|
|
3
|
+
description: Adversarial review - spawn agents that attack your plan/code
|
|
4
|
+
argument-hint: "[plan-path|code-path|'current'] [--mode light|standard|aggressive]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Task
|
|
11
|
+
- Write
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Spawn adversarial agents that ATTACK your plan or code.
|
|
16
|
+
|
|
17
|
+
Current AI cooperates with you. That's the problem.
|
|
18
|
+
Cooperation without conflict produces groupthink and blind spots.
|
|
19
|
+
|
|
20
|
+
This command spawns agents with different adversarial roles:
|
|
21
|
+
- **Critic Agent**: Finds flaws in logic and approach
|
|
22
|
+
- **Devil's Advocate**: Argues for rejected alternatives
|
|
23
|
+
- **Red Team Agent**: Tries to break the implementation
|
|
24
|
+
- **Chaos Agent**: Generates edge cases and weird inputs
|
|
25
|
+
- **Skeptic Agent**: Questions assumptions and requirements
|
|
26
|
+
|
|
27
|
+
Solutions that survive this gauntlet are actually robust.
|
|
28
|
+
</objective>
|
|
29
|
+
|
|
30
|
+
<philosophy>
|
|
31
|
+
"Strong opinions, weakly held" requires someone to challenge those opinions.
|
|
32
|
+
|
|
33
|
+
The best human teams have:
|
|
34
|
+
- Someone who plays devil's advocate
|
|
35
|
+
- Someone who stress-tests ideas
|
|
36
|
+
- Someone who asks "what if we're wrong?"
|
|
37
|
+
|
|
38
|
+
AI teams should too.
|
|
39
|
+
</philosophy>
|
|
40
|
+
|
|
41
|
+
<agents>
|
|
42
|
+
## Adversarial Agent Roles
|
|
43
|
+
|
|
44
|
+
### 1. Critic Agent
|
|
45
|
+
**Mission**: Find logical flaws, gaps, and weaknesses.
|
|
46
|
+
|
|
47
|
+
Looks for:
|
|
48
|
+
- Incomplete requirements
|
|
49
|
+
- Unstated assumptions
|
|
50
|
+
- Missing error handling
|
|
51
|
+
- Scalability concerns
|
|
52
|
+
- Maintainability issues
|
|
53
|
+
|
|
54
|
+
Output style:
|
|
55
|
+
```markdown
|
|
56
|
+
## Critic Report
|
|
57
|
+
|
|
58
|
+
### Critical Issues
|
|
59
|
+
1. **Task 3 has no rollback plan**
|
|
60
|
+
- If database migration fails, system is in inconsistent state
|
|
61
|
+
- Recommendation: Add compensating transaction
|
|
62
|
+
|
|
63
|
+
### Concerns
|
|
64
|
+
1. **Caching strategy assumes low write frequency**
|
|
65
|
+
- Evidence: Cache TTL is 1 hour
|
|
66
|
+
- Risk: Stale data if writes increase
|
|
67
|
+
- Question: What's the expected write pattern?
|
|
68
|
+
|
|
69
|
+
### Minor Issues
|
|
70
|
+
1. **No rate limiting on public endpoint**
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
### 2. Devil's Advocate Agent
|
|
76
|
+
**Mission**: Argue for the alternatives you rejected.
|
|
77
|
+
|
|
78
|
+
Takes the opposite position:
|
|
79
|
+
- "What if we HAD used microservices?"
|
|
80
|
+
- "The simpler approach might actually work"
|
|
81
|
+
- "This library has problems you're ignoring"
|
|
82
|
+
|
|
83
|
+
Output style:
|
|
84
|
+
```markdown
|
|
85
|
+
## Devil's Advocate Report
|
|
86
|
+
|
|
87
|
+
### Alternative: Use PostgreSQL Instead of MongoDB
|
|
88
|
+
|
|
89
|
+
You chose MongoDB for "flexibility." But consider:
|
|
90
|
+
|
|
91
|
+
**Arguments for PostgreSQL:**
|
|
92
|
+
1. Your data IS relational (users → orders → items)
|
|
93
|
+
2. ACID transactions would prevent the race condition in Task 4
|
|
94
|
+
3. Team has more PostgreSQL experience
|
|
95
|
+
4. JSON columns provide flexibility without sacrificing joins
|
|
96
|
+
|
|
97
|
+
**Counter to your reasoning:**
|
|
98
|
+
- "Schema flexibility" → You'll end up with implicit schema anyway
|
|
99
|
+
- "Easier scaling" → You're not at scale that requires sharding
|
|
100
|
+
|
|
101
|
+
**Verdict:** This decision should be revisited.
|
|
102
|
+
Confidence: 72%
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### 3. Red Team Agent
|
|
108
|
+
**Mission**: Try to break the implementation.
|
|
109
|
+
|
|
110
|
+
Attack vectors:
|
|
111
|
+
- Security vulnerabilities
|
|
112
|
+
- Race conditions
|
|
113
|
+
- Resource exhaustion
|
|
114
|
+
- Invalid input handling
|
|
115
|
+
- Dependency failures
|
|
116
|
+
|
|
117
|
+
Output style:
|
|
118
|
+
```markdown
|
|
119
|
+
## Red Team Report
|
|
120
|
+
|
|
121
|
+
### Attack: SQL Injection via Order ID
|
|
122
|
+
**Vector:** GET /api/orders/{id}
|
|
123
|
+
**Payload:** `1; DROP TABLE orders;--`
|
|
124
|
+
**Result:** Query executed without sanitization
|
|
125
|
+
**Severity:** CRITICAL
|
|
126
|
+
|
|
127
|
+
### Attack: Rate Limit Bypass
|
|
128
|
+
**Vector:** Rotate IP addresses
|
|
129
|
+
**Result:** Rate limiting is per-IP only
|
|
130
|
+
**Severity:** HIGH
|
|
131
|
+
|
|
132
|
+
### Attack: Memory Exhaustion
|
|
133
|
+
**Vector:** Upload 10GB file to /api/upload
|
|
134
|
+
**Result:** No file size limit, OOM crash
|
|
135
|
+
**Severity:** HIGH
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### 4. Chaos Agent
|
|
141
|
+
**Mission**: Generate edge cases and weird scenarios.
|
|
142
|
+
|
|
143
|
+
Generates:
|
|
144
|
+
- Boundary conditions
|
|
145
|
+
- Null/undefined/empty inputs
|
|
146
|
+
- Unicode and encoding issues
|
|
147
|
+
- Concurrent access patterns
|
|
148
|
+
- Time-related edge cases
|
|
149
|
+
|
|
150
|
+
Output style:
|
|
151
|
+
```markdown
|
|
152
|
+
## Chaos Report
|
|
153
|
+
|
|
154
|
+
### Edge Cases for User Registration
|
|
155
|
+
|
|
156
|
+
| Input | Expected | Potential Issue |
|
|
157
|
+
|-------|----------|-----------------|
|
|
158
|
+
| Email: "" | Reject | What error message? |
|
|
159
|
+
| Email: "a@b" | ? | Technically valid TLD |
|
|
160
|
+
| Name: "" | ? | Zero-width space only |
|
|
161
|
+
| Name: "Robert'); DROP TABLE users;--" | Sanitize | SQL injection |
|
|
162
|
+
| Password: 1000 chars | ? | Length limit needed |
|
|
163
|
+
| Timezone: "Mars/Olympus" | ? | Invalid timezone handling |
|
|
164
|
+
| DOB: "2099-01-01" | ? | Future date validation |
|
|
165
|
+
| DOB: "1800-01-01" | ? | Suspiciously old |
|
|
166
|
+
|
|
167
|
+
### Concurrency Scenarios
|
|
168
|
+
|
|
169
|
+
| Scenario | Risk |
|
|
170
|
+
|----------|------|
|
|
171
|
+
| Same user registers twice simultaneously | Duplicate accounts? |
|
|
172
|
+
| Email verification during password reset | Token confusion? |
|
|
173
|
+
| Session delete during active request | Auth state corruption? |
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
### 5. Skeptic Agent
|
|
179
|
+
**Mission**: Question the requirements and assumptions.
|
|
180
|
+
|
|
181
|
+
Challenges:
|
|
182
|
+
- "Do we actually need this feature?"
|
|
183
|
+
- "Is this the right problem to solve?"
|
|
184
|
+
- "What evidence supports this requirement?"
|
|
185
|
+
- "Who asked for this and why?"
|
|
186
|
+
|
|
187
|
+
Output style:
|
|
188
|
+
```markdown
|
|
189
|
+
## Skeptic Report
|
|
190
|
+
|
|
191
|
+
### Questioning: Real-time Notifications Feature
|
|
192
|
+
|
|
193
|
+
**Assumption challenged:** "Users need instant notifications"
|
|
194
|
+
|
|
195
|
+
**Questions:**
|
|
196
|
+
1. What data shows users want real-time vs. batched?
|
|
197
|
+
2. What's the cost of WebSocket infrastructure?
|
|
198
|
+
3. Would email digest achieve 80% of the value at 20% cost?
|
|
199
|
+
|
|
200
|
+
**Evidence gap:**
|
|
201
|
+
- No user research cited in requirements
|
|
202
|
+
- No A/B test proposed
|
|
203
|
+
- No success metrics defined
|
|
204
|
+
|
|
205
|
+
**Recommendation:** Validate assumption before building.
|
|
206
|
+
Suggest: User interviews or fake-door test first.
|
|
207
|
+
```
|
|
208
|
+
</agents>
|
|
209
|
+
|
|
210
|
+
<modes>
|
|
211
|
+
## Challenge Modes
|
|
212
|
+
|
|
213
|
+
### Light Mode
|
|
214
|
+
- 2 agents: Critic + Chaos
|
|
215
|
+
- Quick pass, surface-level issues
|
|
216
|
+
- ~2 minutes
|
|
217
|
+
|
|
218
|
+
### Standard Mode (default)
|
|
219
|
+
- 4 agents: Critic + Devil's Advocate + Chaos + Red Team
|
|
220
|
+
- Comprehensive review
|
|
221
|
+
- ~5 minutes
|
|
222
|
+
|
|
223
|
+
### Aggressive Mode
|
|
224
|
+
- 5 agents: All agents
|
|
225
|
+
- Deep analysis, no mercy
|
|
226
|
+
- Multiple passes until no new issues found
|
|
227
|
+
- ~10+ minutes
|
|
228
|
+
</modes>
|
|
229
|
+
|
|
230
|
+
<process>
|
|
231
|
+
## Execution Flow
|
|
232
|
+
|
|
233
|
+
1. **Parse target:**
|
|
234
|
+
- Plan path → Analyze plan tasks and approach
|
|
235
|
+
- Code path → Analyze implementation
|
|
236
|
+
- "current" → Auto-detect current work from STATE.md
|
|
237
|
+
|
|
238
|
+
2. **Load context:**
|
|
239
|
+
- Read decision graph for existing decisions
|
|
240
|
+
- Load project constraints from PROJECT.md
|
|
241
|
+
- Get codebase patterns from memory
|
|
242
|
+
|
|
243
|
+
3. **Spawn agents in parallel:**
|
|
244
|
+
```
|
|
245
|
+
Task: Critic Agent analyzing plan...
|
|
246
|
+
Task: Devil's Advocate Agent analyzing decisions...
|
|
247
|
+
Task: Red Team Agent analyzing security...
|
|
248
|
+
Task: Chaos Agent generating edge cases...
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
4. **Collect and synthesize:**
|
|
252
|
+
- Gather all agent reports
|
|
253
|
+
- Deduplicate overlapping issues
|
|
254
|
+
- Rank by severity
|
|
255
|
+
- Identify consensus vs. disagreement
|
|
256
|
+
|
|
257
|
+
5. **Generate challenge report:**
|
|
258
|
+
```markdown
|
|
259
|
+
## Challenge Report: Phase 3 Plan
|
|
260
|
+
|
|
261
|
+
**Mode:** Standard
|
|
262
|
+
**Agents:** 4
|
|
263
|
+
**Issues Found:** 12
|
|
264
|
+
|
|
265
|
+
### Consensus Issues (All agents agree)
|
|
266
|
+
- No rollback strategy for migration
|
|
267
|
+
|
|
268
|
+
### Contested Issues (Agents disagree)
|
|
269
|
+
- Database choice (Critic: ok, Devil's Advocate: reconsider)
|
|
270
|
+
|
|
271
|
+
### By Severity
|
|
272
|
+
- 🔴 Critical: 2
|
|
273
|
+
- 🟠 High: 4
|
|
274
|
+
- 🟡 Medium: 4
|
|
275
|
+
- 🟢 Low: 2
|
|
276
|
+
|
|
277
|
+
### Recommended Actions
|
|
278
|
+
1. Add migration rollback plan
|
|
279
|
+
2. Revisit database decision with team
|
|
280
|
+
3. Add rate limiting before deploy
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
6. **Offer resolution paths:**
|
|
284
|
+
```
|
|
285
|
+
What would you like to do?
|
|
286
|
+
1. Address critical issues now
|
|
287
|
+
2. Add issues to plan as tasks
|
|
288
|
+
3. Dismiss with documented reason
|
|
289
|
+
4. Run aggressive mode for deeper analysis
|
|
290
|
+
```
|
|
291
|
+
</process>
|
|
292
|
+
|
|
293
|
+
<output_files>
|
|
294
|
+
Creates `.planning/challenges/` with:
|
|
295
|
+
|
|
296
|
+
```
|
|
297
|
+
.planning/challenges/
|
|
298
|
+
├── {date}-{target}-challenge.md # Full report
|
|
299
|
+
├── unresolved.md # Tracked issues
|
|
300
|
+
└── dismissed.md # Dismissed with reasons
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
Unresolved issues integrate with `/gywd:consider-issues`.
|
|
304
|
+
</output_files>
|
|
305
|
+
|
|
306
|
+
<integration>
|
|
307
|
+
## Integration Points
|
|
308
|
+
|
|
309
|
+
### Before Execution
|
|
310
|
+
```
|
|
311
|
+
/gywd:challenge .planning/phases/03-payment/03-01-PLAN.md
|
|
312
|
+
# Review issues
|
|
313
|
+
# Decide which to address
|
|
314
|
+
/gywd:execute-plan .planning/phases/03-payment/03-01-PLAN.md
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### During Planning
|
|
318
|
+
```
|
|
319
|
+
/gywd:plan-phase 3 --with-challenge
|
|
320
|
+
# Plan created AND challenged in one step
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### After Implementation
|
|
324
|
+
```
|
|
325
|
+
/gywd:challenge src/services/payment/
|
|
326
|
+
# Adversarial code review
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Continuous Mode
|
|
330
|
+
```
|
|
331
|
+
/gywd:challenge --watch
|
|
332
|
+
# Challenge every commit automatically
|
|
333
|
+
```
|
|
334
|
+
</integration>
|
|
335
|
+
|
|
336
|
+
<success_criteria>
|
|
337
|
+
- [ ] Spawns multiple adversarial agents in parallel
|
|
338
|
+
- [ ] Each agent has distinct perspective and output style
|
|
339
|
+
- [ ] Identifies issues across security, logic, edge cases, assumptions
|
|
340
|
+
- [ ] Synthesizes findings into actionable report
|
|
341
|
+
- [ ] Tracks unresolved issues
|
|
342
|
+
- [ ] Integrates with planning workflow
|
|
343
|
+
- [ ] Offers resolution paths
|
|
344
|
+
</success_criteria>
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: GYWD:check-drift
|
|
3
|
+
description: Detect specification drift between PROJECT.md and implementation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Analyze the current codebase against PROJECT.md requirements to detect specification drift.
|
|
8
|
+
|
|
9
|
+
Drift types:
|
|
10
|
+
- **Missing**: Requirements in spec not yet implemented
|
|
11
|
+
- **Partial**: Requirements partially implemented
|
|
12
|
+
- **Divergent**: Implementation differs from spec
|
|
13
|
+
- **Undocumented**: Features exist that aren't in spec
|
|
14
|
+
|
|
15
|
+
Helps keep implementation aligned with original vision.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<process>
|
|
19
|
+
1. Load project specification:
|
|
20
|
+
- Read `.planning/PROJECT.md`
|
|
21
|
+
- Extract all requirements (look for checkboxes, bullet points, "must", "should", "shall")
|
|
22
|
+
- Build requirements list with IDs
|
|
23
|
+
|
|
24
|
+
2. Load implementation state:
|
|
25
|
+
- Read all SUMMARY.md files for completed work
|
|
26
|
+
- Read current codebase structure (file listing)
|
|
27
|
+
- Extract implemented features from summaries
|
|
28
|
+
|
|
29
|
+
3. Cross-reference analysis:
|
|
30
|
+
|
|
31
|
+
**For each requirement:**
|
|
32
|
+
- Search summaries for related completions
|
|
33
|
+
- Check if implementation exists in codebase
|
|
34
|
+
- Categorize: Complete | Partial | Missing | Unknown
|
|
35
|
+
|
|
36
|
+
**For each implemented feature:**
|
|
37
|
+
- Check if documented in PROJECT.md
|
|
38
|
+
- If not: Flag as potentially undocumented
|
|
39
|
+
|
|
40
|
+
4. Generate drift report:
|
|
41
|
+
```
|
|
42
|
+
## Specification Drift Analysis
|
|
43
|
+
|
|
44
|
+
**Project:** {name}
|
|
45
|
+
**Spec Date:** {PROJECT.md last modified}
|
|
46
|
+
**Analysis Date:** {today}
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### Alignment Score: 78%
|
|
51
|
+
|
|
52
|
+
[████████░░] 78% of requirements implemented
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### Requirement Status
|
|
57
|
+
|
|
58
|
+
| # | Requirement | Status | Notes |
|
|
59
|
+
|---|-------------|--------|-------|
|
|
60
|
+
| R1 | User authentication | ✅ Complete | Phase 1 |
|
|
61
|
+
| R2 | OAuth integration | 🟡 Partial | Google done, GitHub pending |
|
|
62
|
+
| R3 | Admin dashboard | ❌ Missing | Not started |
|
|
63
|
+
| R4 | API rate limiting | ✅ Complete | Phase 2 |
|
|
64
|
+
| R5 | Email notifications | ❌ Missing | Deferred |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### Potential Drift
|
|
69
|
+
|
|
70
|
+
⚠️ **Divergent Implementation:**
|
|
71
|
+
- R2 (OAuth): Spec says "all major providers", only Google implemented
|
|
72
|
+
|
|
73
|
+
⚠️ **Undocumented Features:**
|
|
74
|
+
- WebSocket real-time updates (not in PROJECT.md)
|
|
75
|
+
- Redis caching layer (not in PROJECT.md)
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### Recommendations
|
|
80
|
+
|
|
81
|
+
1. **Update PROJECT.md** to include:
|
|
82
|
+
- WebSocket feature (if intentional)
|
|
83
|
+
- Redis caching decision
|
|
84
|
+
|
|
85
|
+
2. **Plan missing requirements:**
|
|
86
|
+
- R3: Admin dashboard - add to next phase?
|
|
87
|
+
- R5: Email notifications - still needed?
|
|
88
|
+
|
|
89
|
+
3. **Clarify partial:**
|
|
90
|
+
- R2: Define which OAuth providers are MVP vs future
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### Quick Actions
|
|
95
|
+
|
|
96
|
+
- `/gywd:add-phase "Admin dashboard"` - Add missing requirement
|
|
97
|
+
- `/gywd:consider-issues` - Review deferred items
|
|
98
|
+
- Edit PROJECT.md to update requirements
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
5. Provide actionable recommendations based on drift severity:
|
|
102
|
+
- Minor drift (>80% aligned): Suggestions only
|
|
103
|
+
- Moderate drift (60-80%): Recommend spec update
|
|
104
|
+
- Major drift (<60%): Recommend alignment review session
|
|
105
|
+
</process>
|
|
106
|
+
|
|
107
|
+
<detection_patterns>
|
|
108
|
+
**Requirement extraction from PROJECT.md:**
|
|
109
|
+
- Lines starting with `- [ ]` or `- [x]`
|
|
110
|
+
- Lines containing "must", "should", "shall", "will"
|
|
111
|
+
- Sections titled "Requirements", "Features", "Goals"
|
|
112
|
+
- Numbered lists in requirements sections
|
|
113
|
+
|
|
114
|
+
**Implementation detection:**
|
|
115
|
+
- SUMMARY.md "Completed" sections
|
|
116
|
+
- File existence checks for mentioned modules
|
|
117
|
+
- Package.json dependencies
|
|
118
|
+
- Config files indicating features
|
|
119
|
+
</detection_patterns>
|
|
120
|
+
|
|
121
|
+
<output_format>
|
|
122
|
+
Structured report with:
|
|
123
|
+
- Alignment score percentage and visual bar
|
|
124
|
+
- Table of all requirements with status
|
|
125
|
+
- List of potential drift issues
|
|
126
|
+
- Actionable recommendations
|
|
127
|
+
- Quick action commands
|
|
128
|
+
|
|
129
|
+
Status indicators:
|
|
130
|
+
- ✅ Complete - Fully implemented
|
|
131
|
+
- 🟡 Partial - Partially done
|
|
132
|
+
- ❌ Missing - Not started
|
|
133
|
+
- ⚠️ Divergent - Differs from spec
|
|
134
|
+
- ❓ Unknown - Can't determine
|
|
135
|
+
</output_format>
|
|
136
|
+
|
|
137
|
+
<success_criteria>
|
|
138
|
+
- [ ] Extracts requirements from PROJECT.md
|
|
139
|
+
- [ ] Cross-references with implementation
|
|
140
|
+
- [ ] Calculates alignment percentage
|
|
141
|
+
- [ ] Identifies missing requirements
|
|
142
|
+
- [ ] Flags undocumented features
|
|
143
|
+
- [ ] Provides actionable recommendations
|
|
144
|
+
</success_criteria>
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: prompt
|
|
3
|
+
name: GYWD:complete-milestone
|
|
4
|
+
description: Archive completed milestone and prepare for next version
|
|
5
|
+
argument-hint: <version>
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Read
|
|
8
|
+
- Write
|
|
9
|
+
- Bash
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Mark milestone {{version}} complete, archive to milestones/, and update ROADMAP.md.
|
|
14
|
+
|
|
15
|
+
Purpose: Create historical record of shipped version, collapse completed work in roadmap, and prepare for next milestone.
|
|
16
|
+
Output: Milestone archived, roadmap reorganized, git tagged.
|
|
17
|
+
</objective>
|
|
18
|
+
|
|
19
|
+
<execution_context>
|
|
20
|
+
**Load these files NOW (before proceeding):**
|
|
21
|
+
|
|
22
|
+
- @~/.claude/get-your-work-done/workflows/complete-milestone.md (main workflow)
|
|
23
|
+
- @~/.claude/get-your-work-done/templates/milestone-archive.md (archive template)
|
|
24
|
+
</execution_context>
|
|
25
|
+
|
|
26
|
+
<context>
|
|
27
|
+
**Project files:**
|
|
28
|
+
- `.planning/ROADMAP.md`
|
|
29
|
+
- `.planning/STATE.md`
|
|
30
|
+
- `.planning/PROJECT.md`
|
|
31
|
+
|
|
32
|
+
**User input:**
|
|
33
|
+
|
|
34
|
+
- Version: {{version}} (e.g., "1.0", "1.1", "2.0")
|
|
35
|
+
</context>
|
|
36
|
+
|
|
37
|
+
<process>
|
|
38
|
+
|
|
39
|
+
**Follow complete-milestone.md workflow:**
|
|
40
|
+
|
|
41
|
+
1. **Verify readiness:**
|
|
42
|
+
|
|
43
|
+
- Check all phases in milestone have completed plans (SUMMARY.md exists)
|
|
44
|
+
- Present milestone scope and stats
|
|
45
|
+
- Wait for confirmation
|
|
46
|
+
|
|
47
|
+
2. **Gather stats:**
|
|
48
|
+
|
|
49
|
+
- Count phases, plans, tasks
|
|
50
|
+
- Calculate git range, file changes, LOC
|
|
51
|
+
- Extract timeline from git log
|
|
52
|
+
- Present summary, confirm
|
|
53
|
+
|
|
54
|
+
3. **Extract accomplishments:**
|
|
55
|
+
|
|
56
|
+
- Read all phase SUMMARY.md files in milestone range
|
|
57
|
+
- Extract 4-6 key accomplishments
|
|
58
|
+
- Present for approval
|
|
59
|
+
|
|
60
|
+
4. **Archive milestone:**
|
|
61
|
+
|
|
62
|
+
- Create `.planning/milestones/v{{version}}-ROADMAP.md`
|
|
63
|
+
- Extract full phase details from ROADMAP.md
|
|
64
|
+
- Fill milestone-archive.md template
|
|
65
|
+
- Update ROADMAP.md to one-line summary with link
|
|
66
|
+
- Offer to create next milestone
|
|
67
|
+
|
|
68
|
+
5. **Update PROJECT.md:**
|
|
69
|
+
|
|
70
|
+
- Add "Current State" section with shipped version
|
|
71
|
+
- Add "Next Milestone Goals" section
|
|
72
|
+
- Archive previous content in `<details>` (if v1.1+)
|
|
73
|
+
|
|
74
|
+
6. **Commit and tag:**
|
|
75
|
+
|
|
76
|
+
- Stage: MILESTONES.md, PROJECT.md, ROADMAP.md, STATE.md, archive file
|
|
77
|
+
- Commit: `chore: archive v{{version}} milestone`
|
|
78
|
+
- Tag: `git tag -a v{{version}} -m "[milestone summary]"`
|
|
79
|
+
- Ask about pushing tag
|
|
80
|
+
|
|
81
|
+
7. **Offer next steps:**
|
|
82
|
+
- Plan next milestone
|
|
83
|
+
- Archive planning
|
|
84
|
+
- Done for now
|
|
85
|
+
|
|
86
|
+
</process>
|
|
87
|
+
|
|
88
|
+
<success_criteria>
|
|
89
|
+
|
|
90
|
+
- Milestone archived to `.planning/milestones/v{{version}}-ROADMAP.md`
|
|
91
|
+
- ROADMAP.md collapsed to one-line entry
|
|
92
|
+
- PROJECT.md updated with current state
|
|
93
|
+
- Git tag v{{version}} created
|
|
94
|
+
- Commit successful
|
|
95
|
+
- User knows next steps
|
|
96
|
+
</success_criteria>
|
|
97
|
+
|
|
98
|
+
<critical_rules>
|
|
99
|
+
|
|
100
|
+
- **Load workflow first:** Read complete-milestone.md before executing
|
|
101
|
+
- **Verify completion:** All phases must have SUMMARY.md files
|
|
102
|
+
- **User confirmation:** Wait for approval at verification gates
|
|
103
|
+
- **Archive before collapsing:** Always create archive file before updating ROADMAP.md
|
|
104
|
+
- **One-line summary:** Collapsed milestone in ROADMAP.md should be single line with link
|
|
105
|
+
- **Context efficiency:** Archive keeps ROADMAP.md constant size
|
|
106
|
+
</critical_rules>
|