@dzhechkov/p-replicator 1.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/README.md +314 -0
- package/bin/cli.js +4 -0
- package/package.json +62 -0
- package/src/cli.js +160 -0
- package/src/commands/doctor.js +151 -0
- package/src/commands/init.js +155 -0
- package/src/commands/list.js +133 -0
- package/src/commands/remove.js +111 -0
- package/src/commands/update.js +102 -0
- package/src/utils.js +280 -0
- package/templates/.claude/agents/doc-validator.md +92 -0
- package/templates/.claude/agents/harvest-coordinator.md +91 -0
- package/templates/.claude/agents/product-discoverer.md +57 -0
- package/templates/.claude/agents/replicate-coordinator.md +98 -0
- package/templates/.claude/commands/harvest.md +106 -0
- package/templates/.claude/commands/replicate.md +389 -0
- package/templates/.claude/rules/replicate-pipeline.md +92 -0
- package/templates/.claude/skills/brutal-honesty-review/README.md +218 -0
- package/templates/.claude/skills/brutal-honesty-review/SKILL.md +225 -0
- package/templates/.claude/skills/brutal-honesty-review/resources/assessment-rubrics.md +295 -0
- package/templates/.claude/skills/brutal-honesty-review/resources/review-template.md +102 -0
- package/templates/.claude/skills/brutal-honesty-review/scripts/assess-code.sh +179 -0
- package/templates/.claude/skills/brutal-honesty-review/scripts/assess-tests.sh +223 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/SKILL.md +374 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/claude-md-strategy.md +178 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/enhanced-recommendations.md +416 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/extended-mapping.md +370 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/automation-commands.md +733 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/ddd-agents.md +416 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/ddd-hooks-commands.md +524 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/ddd-skills.md +350 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/enhanced-claude-md.md +235 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/feature-lifecycle-ent.md +400 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/feature-lifecycle.md +325 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/feature-suggestions.md +423 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/insights-system.md +349 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/mcp.md +274 -0
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/start-command.md +283 -0
- package/templates/.claude/skills/explore/SKILL.md +215 -0
- package/templates/.claude/skills/explore/references/questioning-techniques.md +151 -0
- package/templates/.claude/skills/explore/references/task-brief-templates.md +355 -0
- package/templates/.claude/skills/goap-research-ed25519/SKILL.md +415 -0
- package/templates/.claude/skills/goap-research-ed25519/references/ed25519-verification.md +658 -0
- package/templates/.claude/skills/goap-research-ed25519/references/research-actions.md +544 -0
- package/templates/.claude/skills/goap-research-ed25519/references/source-evaluation.md +560 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/ed25519_verifier.py +662 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py +720 -0
- package/templates/.claude/skills/knowledge-extractor/SKILL.md +412 -0
- package/templates/.claude/skills/knowledge-extractor/examples/rate-limiting-extraction.md +259 -0
- package/templates/.claude/skills/knowledge-extractor/modules/01-agent-review.md +192 -0
- package/templates/.claude/skills/knowledge-extractor/modules/02-classify.md +122 -0
- package/templates/.claude/skills/knowledge-extractor/modules/03-decontextualize.md +156 -0
- package/templates/.claude/skills/knowledge-extractor/modules/04-integrate.md +178 -0
- package/templates/.claude/skills/knowledge-extractor/references/artifact-categories.md +342 -0
- package/templates/.claude/skills/knowledge-extractor/references/decontextualization-guide.md +247 -0
- package/templates/.claude/skills/knowledge-extractor/references/maturity-model.md +153 -0
- package/templates/.claude/skills/knowledge-extractor/templates/artifact-card.md +60 -0
- package/templates/.claude/skills/knowledge-extractor/templates/harvest-report.md +70 -0
- package/templates/.claude/skills/knowledge-extractor/templates/toolkit-harvest.md +38 -0
- package/templates/.claude/skills/pipeline-forge/SKILL.md +523 -0
- package/templates/.claude/skills/pipeline-forge/examples/replicate-analysis.md +291 -0
- package/templates/.claude/skills/pipeline-forge/references/patterns-catalog.md +408 -0
- package/templates/.claude/skills/pipeline-forge/references/quality-gates.md +268 -0
- package/templates/.claude/skills/pipeline-forge/references/skill-anatomy.md +292 -0
- package/templates/.claude/skills/pipeline-forge/templates/agent-template.md +60 -0
- package/templates/.claude/skills/pipeline-forge/templates/command-template.md +80 -0
- package/templates/.claude/skills/pipeline-forge/templates/pipeline-template.md +137 -0
- package/templates/.claude/skills/pipeline-forge/templates/skill-template.md +132 -0
- package/templates/.claude/skills/problem-solver-enhanced/SKILL.md +562 -0
- package/templates/.claude/skills/requirements-validator/SKILL.md +121 -0
- package/templates/.claude/skills/requirements-validator/assets/templates/bdd-feature-template.feature +69 -0
- package/templates/.claude/skills/requirements-validator/references/bdd-patterns.md +184 -0
- package/templates/.claude/skills/requirements-validator/references/invest-criteria.md +121 -0
- package/templates/.claude/skills/requirements-validator/references/scoring-system.md +134 -0
- package/templates/.claude/skills/requirements-validator/references/smart-criteria.md +130 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/SKILL.md +194 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-cjm-example.md +100 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-module1-example.md +88 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/01-intelligence.md +328 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/02-product-customers.md +221 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/025-cjm-prototype.md +206 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/03-market-competition.md +402 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/04-business-finance.md +287 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/05-growth-engine.md +290 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/06-playbook-synthesis.md +286 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/references/blue-ocean-canvas.md +39 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/references/industry-benchmarks.md +67 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/references/jtbd-canvas.md +48 -0
- package/templates/.claude/skills/sparc-prd-mini/SKILL.md +955 -0
- package/templates/.claude/skills/sparc-prd-mini/references/sparc-methodology.md +360 -0
- package/templates/.claude/skills/sparc-prd-mini/templates/CLAUDE.md +91 -0
- package/templates/.claude/skills/sparc-prd-mini/templates/prd.md +336 -0
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
# Feature Suggestions System Templates
|
|
2
|
+
|
|
3
|
+
Templates for generating a feature navigation and contextual suggestion system.
|
|
4
|
+
Combines CLAUDE.md roadmap, SessionStart hook for dynamic context, `/next` command,
|
|
5
|
+
and `feature-navigator` skill for on-demand roadmap navigation.
|
|
6
|
+
|
|
7
|
+
Architecture: **feature-roadmap.json** as single source of truth → consumed by hook, skill, and command.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Data File Template: `feature-roadmap.json`
|
|
12
|
+
|
|
13
|
+
Generate as `.claude/feature-roadmap.json` — pre-populate from project's PRD/Specification:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"project": "{{PROJECT_NAME}}",
|
|
18
|
+
"current_sprint": "{{SPRINT_NAME}}",
|
|
19
|
+
"features": [
|
|
20
|
+
{
|
|
21
|
+
"id": "{{feature-id}}",
|
|
22
|
+
"name": "{{Feature Name}}",
|
|
23
|
+
"description": "{{Brief description of the feature}}",
|
|
24
|
+
"status": "done|in_progress|next|planned|blocked",
|
|
25
|
+
"files": ["src/path/to/main-file.ts"],
|
|
26
|
+
"depends_on": ["{{other-feature-id}}"],
|
|
27
|
+
"sprint": "{{SPRINT_NAME}}"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Status values:**
|
|
34
|
+
- `done` — completed and verified
|
|
35
|
+
- `in_progress` — currently being worked on
|
|
36
|
+
- `next` — highest priority, ready to start
|
|
37
|
+
- `planned` — in backlog, not yet prioritized
|
|
38
|
+
- `blocked` — waiting on dependency or external factor
|
|
39
|
+
|
|
40
|
+
**Population rules:**
|
|
41
|
+
- Extract features from PRD.md Functional Requirements
|
|
42
|
+
- Extract dependencies from Architecture.md
|
|
43
|
+
- Set initial statuses based on Specification.md priorities (MoSCoW)
|
|
44
|
+
- Must-have features → `next`, Should-have → `planned`
|
|
45
|
+
- Pre-populate `files` from Pseudocode.md or Architecture.md when possible
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 2. Hook Template: SessionStart Event
|
|
50
|
+
|
|
51
|
+
Add to `.claude/settings.json` hooks section alongside existing hooks:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"hooks": {
|
|
56
|
+
"SessionStart": [
|
|
57
|
+
{
|
|
58
|
+
"hooks": [
|
|
59
|
+
{
|
|
60
|
+
"type": "command",
|
|
61
|
+
"command": "python3 .claude/hooks/feature-context.py",
|
|
62
|
+
"timeout": 10
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Generate as `.claude/hooks/feature-context.py`:
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
#!/usr/bin/env python3
|
|
75
|
+
"""
|
|
76
|
+
Injects dynamic feature context at the start of each Claude Code session.
|
|
77
|
+
stdout on SessionStart is added as context that Claude sees.
|
|
78
|
+
|
|
79
|
+
Reads feature-roadmap.json + git log + TODO scan to build a context snapshot.
|
|
80
|
+
"""
|
|
81
|
+
import json
|
|
82
|
+
import subprocess
|
|
83
|
+
import sys
|
|
84
|
+
from pathlib import Path
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def get_recent_changes():
|
|
88
|
+
"""Analyze git log to understand recent progress."""
|
|
89
|
+
try:
|
|
90
|
+
result = subprocess.run(
|
|
91
|
+
["git", "log", "--oneline", "-5", "--no-decorate"],
|
|
92
|
+
capture_output=True, text=True, timeout=5
|
|
93
|
+
)
|
|
94
|
+
return result.stdout.strip()
|
|
95
|
+
except Exception:
|
|
96
|
+
return ""
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def get_open_todos():
|
|
100
|
+
"""Find TODO/FIXME/HACK in source code."""
|
|
101
|
+
try:
|
|
102
|
+
result = subprocess.run(
|
|
103
|
+
["grep", "-rn", r"TODO\|FIXME\|HACK", "src/",
|
|
104
|
+
"--include=*.py", "--include=*.ts", "--include=*.js",
|
|
105
|
+
"--include=*.tsx", "--include=*.jsx", "--include=*.go",
|
|
106
|
+
"--include=*.rs", "-l"],
|
|
107
|
+
capture_output=True, text=True, timeout=5
|
|
108
|
+
)
|
|
109
|
+
files = [f for f in result.stdout.strip().split('\n') if f]
|
|
110
|
+
return files[:5]
|
|
111
|
+
except Exception:
|
|
112
|
+
return []
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def load_roadmap():
|
|
116
|
+
"""Load feature roadmap from project config."""
|
|
117
|
+
roadmap_path = Path(".claude/feature-roadmap.json")
|
|
118
|
+
if roadmap_path.exists():
|
|
119
|
+
with open(roadmap_path) as f:
|
|
120
|
+
return json.load(f)
|
|
121
|
+
return None
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
def format_sprint_progress(features, sprint_name):
|
|
125
|
+
"""Calculate sprint completion percentage."""
|
|
126
|
+
sprint_features = [f for f in features if f.get("sprint") == sprint_name]
|
|
127
|
+
if not sprint_features:
|
|
128
|
+
return ""
|
|
129
|
+
done = sum(1 for f in sprint_features if f.get("status") == "done")
|
|
130
|
+
total = len(sprint_features)
|
|
131
|
+
pct = int(done / total * 100)
|
|
132
|
+
return f"SPRINT PROGRESS: {sprint_name} — {done}/{total} ({pct}%)"
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
def main():
|
|
136
|
+
roadmap = load_roadmap()
|
|
137
|
+
recent = get_recent_changes()
|
|
138
|
+
todos = get_open_todos()
|
|
139
|
+
|
|
140
|
+
parts = []
|
|
141
|
+
parts.append("=== PROJECT FEATURE CONTEXT ===")
|
|
142
|
+
|
|
143
|
+
if roadmap:
|
|
144
|
+
features = roadmap.get("features", [])
|
|
145
|
+
sprint = roadmap.get("current_sprint", "")
|
|
146
|
+
|
|
147
|
+
# Sprint progress
|
|
148
|
+
progress = format_sprint_progress(features, sprint)
|
|
149
|
+
if progress:
|
|
150
|
+
parts.append(progress)
|
|
151
|
+
|
|
152
|
+
# Currently building
|
|
153
|
+
in_progress = [f for f in features if f.get("status") == "in_progress"]
|
|
154
|
+
for f in in_progress[:2]:
|
|
155
|
+
files = ", ".join(f.get("files", []))
|
|
156
|
+
parts.append(
|
|
157
|
+
f"CURRENTLY BUILDING: {f['name']} — {f.get('description', '')}"
|
|
158
|
+
+ (f" [files: {files}]" if files else "")
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
# Suggested next
|
|
162
|
+
next_up = [f for f in features if f.get("status") == "next"]
|
|
163
|
+
for f in next_up[:2]:
|
|
164
|
+
parts.append(
|
|
165
|
+
f"SUGGESTED NEXT: {f['name']} — {f.get('description', '')}"
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
# Blocked items
|
|
169
|
+
blocked = [f for f in features if f.get("status") == "blocked"]
|
|
170
|
+
for f in blocked[:2]:
|
|
171
|
+
deps = ", ".join(f.get("depends_on", []))
|
|
172
|
+
parts.append(f"BLOCKED: {f['name']} — waiting on: {deps}")
|
|
173
|
+
|
|
174
|
+
if recent:
|
|
175
|
+
parts.append(f"RECENT COMMITS:\n{recent}")
|
|
176
|
+
|
|
177
|
+
if todos:
|
|
178
|
+
parts.append(f"FILES WITH TODOs: {', '.join(todos)}")
|
|
179
|
+
|
|
180
|
+
parts.append("=== END CONTEXT ===")
|
|
181
|
+
|
|
182
|
+
# stdout on SessionStart → Claude sees as context
|
|
183
|
+
print('\n'.join(parts))
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
if __name__ == "__main__":
|
|
187
|
+
main()
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**How it works:**
|
|
191
|
+
- On every session start, Claude receives a context snapshot: current progress, what to work on next, blockers, recent git history, TODOs
|
|
192
|
+
- The built-in Prompt Suggestion Generator v2 (Tab-completion) sees this context and generates more relevant suggestions
|
|
193
|
+
- Zero token cost during work — only runs once at session start
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 3. Hook Template: Stop Event — Auto-Commit Roadmap
|
|
198
|
+
|
|
199
|
+
Add to `.claude/settings.json` hooks section (alongside existing Stop hooks):
|
|
200
|
+
|
|
201
|
+
```json
|
|
202
|
+
{
|
|
203
|
+
"hooks": {
|
|
204
|
+
"Stop": [
|
|
205
|
+
{
|
|
206
|
+
"hooks": [
|
|
207
|
+
{
|
|
208
|
+
"type": "command",
|
|
209
|
+
"command": "bash -c 'if [ -f \".claude/feature-roadmap.json\" ] && git diff --name-only -- \".claude/feature-roadmap.json\" 2>/dev/null | grep -q .; then git add .claude/feature-roadmap.json && git commit -m \"docs(roadmap): update feature status\" && echo \"✅ feature-roadmap.json auto-committed\"; fi'"
|
|
210
|
+
}
|
|
211
|
+
]
|
|
212
|
+
}
|
|
213
|
+
]
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**What it does:** If Claude updated feature-roadmap.json during the session (marking features as done, changing statuses), it auto-commits the change.
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 4. Skill Template: `feature-navigator`
|
|
223
|
+
|
|
224
|
+
Generate as `.claude/skills/feature-navigator/SKILL.md`:
|
|
225
|
+
|
|
226
|
+
````markdown
|
|
227
|
+
---
|
|
228
|
+
name: feature-navigator
|
|
229
|
+
description: >
|
|
230
|
+
Navigate project features and suggest next steps. Use when the user
|
|
231
|
+
asks "what's next", "what should I work on", "show roadmap", starts a new task,
|
|
232
|
+
or when a feature is completed. Also trigger on "roadmap", "backlog",
|
|
233
|
+
"sprint", "feature status", or "что делать дальше".
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
# Feature Navigator
|
|
237
|
+
|
|
238
|
+
Read `.claude/feature-roadmap.json` for current feature status, then present:
|
|
239
|
+
|
|
240
|
+
## Step 1: Gather Context
|
|
241
|
+
|
|
242
|
+
1. Read `.claude/feature-roadmap.json`
|
|
243
|
+
2. Run `git log --oneline -10` for recent progress
|
|
244
|
+
3. Scan for TODO/FIXME: `grep -rn "TODO\|FIXME" src/ --include="*.ts" --include="*.py" -l | head -5`
|
|
245
|
+
|
|
246
|
+
## Step 2: Present Current State
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
═══════════════════════════════════════════════════════════
|
|
250
|
+
📋 Feature Roadmap: [Project Name]
|
|
251
|
+
Sprint: [Sprint Name] — [N/M] complete ([X]%)
|
|
252
|
+
═══════════════════════════════════════════════════════════
|
|
253
|
+
|
|
254
|
+
🔨 In Progress:
|
|
255
|
+
• [Feature Name] — [description]
|
|
256
|
+
Files: [file paths]
|
|
257
|
+
|
|
258
|
+
⏭️ Next Up:
|
|
259
|
+
• [Feature Name] — [description]
|
|
260
|
+
Depends on: [none | feature-id]
|
|
261
|
+
|
|
262
|
+
🚫 Blocked:
|
|
263
|
+
• [Feature Name] — waiting on: [dependency]
|
|
264
|
+
|
|
265
|
+
📝 TODOs Found:
|
|
266
|
+
• [file:line] — [TODO text]
|
|
267
|
+
|
|
268
|
+
🕐 Recent Work:
|
|
269
|
+
[git log last 5 commits]
|
|
270
|
+
═══════════════════════════════════════════════════════════
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## Step 3: Suggest Top 3 Actions
|
|
274
|
+
|
|
275
|
+
Format as numbered list, each 3-8 words:
|
|
276
|
+
1. **[Feature/Task Name]** — Brief actionable description. Files: `path/to/files`
|
|
277
|
+
2. **[Bug/TODO]** — From code scan. Location: `file:line`
|
|
278
|
+
3. **[Follow-up]** — Based on recent progress
|
|
279
|
+
|
|
280
|
+
## Step 4: Ask
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
Which one shall we tackle? (1/2/3 or describe your own)
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## Updating Roadmap
|
|
287
|
+
|
|
288
|
+
When a feature is completed during the session:
|
|
289
|
+
1. Update its status to `"done"` in `.claude/feature-roadmap.json`
|
|
290
|
+
2. If there are features with `"depends_on"` pointing to the completed feature,
|
|
291
|
+
check if all their dependencies are now done → update to `"next"`
|
|
292
|
+
3. Inform the user: `✅ [Feature] marked as done. [Next Feature] is now unblocked.`
|
|
293
|
+
|
|
294
|
+
## Priority Rules
|
|
295
|
+
|
|
296
|
+
- `blocked` items → show but don't suggest (explain what's blocking)
|
|
297
|
+
- `in_progress` → suggest continuing (highest priority)
|
|
298
|
+
- `next` → suggest starting (second priority)
|
|
299
|
+
- `planned` → only suggest if no `next` items remain
|
|
300
|
+
- Respect `depends_on` — never suggest a feature whose dependencies aren't `done`
|
|
301
|
+
|
|
302
|
+
## Important
|
|
303
|
+
|
|
304
|
+
- Keep suggestions actionable and specific (3-8 words each)
|
|
305
|
+
- After presenting, always ask which task to start
|
|
306
|
+
- If all features are `done`, congratulate and suggest: refactoring, test coverage, documentation, or performance optimization
|
|
307
|
+
````
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## 5. Command Template: `/next`
|
|
312
|
+
|
|
313
|
+
Generate as `.claude/commands/next.md`:
|
|
314
|
+
|
|
315
|
+
````markdown
|
|
316
|
+
---
|
|
317
|
+
description: Show next features to work on from the project roadmap.
|
|
318
|
+
Quick overview of sprint progress and top suggested tasks.
|
|
319
|
+
$ARGUMENTS: optional — "update" to refresh statuses, or feature-id to mark as done
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
# /next $ARGUMENTS
|
|
323
|
+
|
|
324
|
+
## Default: Show Next Steps
|
|
325
|
+
|
|
326
|
+
1. Read `.claude/feature-roadmap.json`
|
|
327
|
+
2. Show current sprint progress (% complete)
|
|
328
|
+
3. List top 3 suggested next tasks based on priority and dependencies
|
|
329
|
+
4. Show any blocking issues
|
|
330
|
+
5. Ask which task to start
|
|
331
|
+
|
|
332
|
+
Format as a brief, actionable list.
|
|
333
|
+
|
|
334
|
+
## /next update
|
|
335
|
+
|
|
336
|
+
Review the current codebase state and conversation history:
|
|
337
|
+
1. Check which features appear to be implemented (scan for key files)
|
|
338
|
+
2. Suggest status updates for features that may be done
|
|
339
|
+
3. Apply updates after user confirmation
|
|
340
|
+
|
|
341
|
+
## /next [feature-id]
|
|
342
|
+
|
|
343
|
+
Mark a specific feature as done:
|
|
344
|
+
1. Update status to `"done"` in `.claude/feature-roadmap.json`
|
|
345
|
+
2. Check if this unblocks any dependent features → update to `"next"`
|
|
346
|
+
3. Show updated sprint progress
|
|
347
|
+
4. Suggest the next feature to work on
|
|
348
|
+
````
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## 6. CLAUDE.md Integration
|
|
353
|
+
|
|
354
|
+
When generating CLAUDE.md, include this section:
|
|
355
|
+
|
|
356
|
+
```markdown
|
|
357
|
+
## 📋 Feature Roadmap
|
|
358
|
+
Roadmap: [.claude/feature-roadmap.json](.claude/feature-roadmap.json) — single source of truth for feature status.
|
|
359
|
+
Sprint progress and next steps are injected automatically at session start.
|
|
360
|
+
Quick check: `/next` | Full overview: ask "what should I work on?"
|
|
361
|
+
Mark done: `/next [feature-id]` | Update all: `/next update`
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
The SessionStart hook injects dynamic context automatically, improving Tab-completion suggestions.
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## 7. DEVELOPMENT_GUIDE.md Integration
|
|
369
|
+
|
|
370
|
+
Add to the development workflow section:
|
|
371
|
+
|
|
372
|
+
```markdown
|
|
373
|
+
## Feature Workflow
|
|
374
|
+
|
|
375
|
+
1. Run `/next` to see current sprint status and suggested tasks
|
|
376
|
+
2. Pick a feature to work on → it appears as "in_progress" in roadmap
|
|
377
|
+
3. Implement using `/feature [name]` or `/feature-ent [name]` lifecycle
|
|
378
|
+
4. When done → `/next [feature-id]` to mark complete and see what's next
|
|
379
|
+
5. Feature roadmap auto-commits on session end (Stop hook)
|
|
380
|
+
|
|
381
|
+
The SessionStart hook gives Claude context about your current progress,
|
|
382
|
+
so Tab-completion suggestions are aligned with your roadmap.
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## Generation Rules
|
|
388
|
+
|
|
389
|
+
**When populating feature-roadmap.json from project docs:**
|
|
390
|
+
|
|
391
|
+
| Source Document | What to Extract |
|
|
392
|
+
|----------------|----------------|
|
|
393
|
+
| PRD.md | Feature names, descriptions, MoSCoW priorities |
|
|
394
|
+
| Specification.md | User stories → features, acceptance criteria |
|
|
395
|
+
| Architecture.md | File paths, dependencies between components |
|
|
396
|
+
| Pseudocode.md | Key files per feature |
|
|
397
|
+
| Completion.md | Sprint/phase structure |
|
|
398
|
+
|
|
399
|
+
**Status assignment:**
|
|
400
|
+
- Features already implemented (from git/codebase scan) → `done`
|
|
401
|
+
- Feature from current sprint, highest priority → `in_progress` (max 1-2)
|
|
402
|
+
- Next Must-have features → `next`
|
|
403
|
+
- Should-have features → `planned`
|
|
404
|
+
- Features with unmet `depends_on` → `blocked`
|
|
405
|
+
|
|
406
|
+
**Minimum viable roadmap:** At least 5 features with correct statuses and dependencies.
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## Integration with /feature and /feature-ent
|
|
411
|
+
|
|
412
|
+
The feature-suggestions system complements the feature lifecycle:
|
|
413
|
+
|
|
414
|
+
```
|
|
415
|
+
/next → "What should I work on?"
|
|
416
|
+
↓
|
|
417
|
+
/feature [name] → Plan + Validate + Implement + Review (simple features)
|
|
418
|
+
/feature-ent [name] → Same but with DDD/ADR/C4 (complex features)
|
|
419
|
+
↓
|
|
420
|
+
/next [feature-id] → Mark done, see what's next
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
The `/next` command is the **discovery** layer, while `/feature` and `/feature-ent` are the **execution** layer.
|