clavix 2.3.0 → 2.4.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.
Files changed (180) hide show
  1. package/dist/cli/commands/init.js +1 -1
  2. package/dist/core 2/adapters/agents-md-generator.d.ts +26 -0
  3. package/dist/core 2/adapters/agents-md-generator.js +102 -0
  4. package/dist/core 2/adapters/amp-adapter.d.ts +27 -0
  5. package/dist/core 2/adapters/amp-adapter.js +42 -0
  6. package/dist/core 2/adapters/augment-adapter.d.ts +22 -0
  7. package/dist/core 2/adapters/augment-adapter.js +77 -0
  8. package/dist/core 2/adapters/base-adapter.d.ts +45 -0
  9. package/dist/core 2/adapters/base-adapter.js +142 -0
  10. package/dist/core 2/adapters/claude-code-adapter.d.ts +32 -0
  11. package/dist/core 2/adapters/claude-code-adapter.js +116 -0
  12. package/dist/core 2/adapters/cline-adapter.d.ts +34 -0
  13. package/dist/core 2/adapters/cline-adapter.js +52 -0
  14. package/dist/core 2/adapters/codebuddy-adapter.d.ts +24 -0
  15. package/dist/core 2/adapters/codebuddy-adapter.js +82 -0
  16. package/dist/core 2/adapters/codex-adapter.d.ts +24 -0
  17. package/dist/core 2/adapters/codex-adapter.js +79 -0
  18. package/dist/core 2/adapters/copilot-instructions-generator.d.ts +26 -0
  19. package/dist/core 2/adapters/copilot-instructions-generator.js +104 -0
  20. package/dist/core 2/adapters/crush-adapter.d.ts +35 -0
  21. package/dist/core 2/adapters/crush-adapter.js +49 -0
  22. package/dist/core 2/adapters/cursor-adapter.d.ts +25 -0
  23. package/dist/core 2/adapters/cursor-adapter.js +40 -0
  24. package/dist/core 2/adapters/droid-adapter.d.ts +33 -0
  25. package/dist/core 2/adapters/droid-adapter.js +57 -0
  26. package/dist/core 2/adapters/gemini-adapter.d.ts +27 -0
  27. package/dist/core 2/adapters/gemini-adapter.js +90 -0
  28. package/dist/core 2/adapters/kilocode-adapter.d.ts +34 -0
  29. package/dist/core 2/adapters/kilocode-adapter.js +49 -0
  30. package/dist/core 2/adapters/octo-md-generator.d.ts +26 -0
  31. package/dist/core 2/adapters/octo-md-generator.js +102 -0
  32. package/dist/core 2/adapters/opencode-adapter.d.ts +33 -0
  33. package/dist/core 2/adapters/opencode-adapter.js +56 -0
  34. package/dist/core 2/adapters/qwen-adapter.d.ts +27 -0
  35. package/dist/core 2/adapters/qwen-adapter.js +90 -0
  36. package/dist/core 2/adapters/roocode-adapter.d.ts +40 -0
  37. package/dist/core 2/adapters/roocode-adapter.js +68 -0
  38. package/dist/core 2/adapters/warp-md-generator.d.ts +17 -0
  39. package/dist/core 2/adapters/warp-md-generator.js +88 -0
  40. package/dist/core 2/adapters/windsurf-adapter.d.ts +34 -0
  41. package/dist/core 2/adapters/windsurf-adapter.js +49 -0
  42. package/dist/core 2/agent-manager.d.ts +51 -0
  43. package/dist/core 2/agent-manager.js +126 -0
  44. package/dist/core 2/archive-manager.d.ts +100 -0
  45. package/dist/core 2/archive-manager.js +338 -0
  46. package/dist/core 2/conversation-analyzer.d.ts +86 -0
  47. package/dist/core 2/doc-injector.d.ts +51 -0
  48. package/dist/core 2/doc-injector.js +236 -0
  49. package/dist/core 2/git-manager.d.ts +100 -0
  50. package/dist/core 2/git-manager.js +214 -0
  51. package/dist/core 2/prompt-optimizer.d.ts +268 -0
  52. package/dist/core 2/prompt-optimizer.js +963 -0
  53. package/dist/core 2/question-engine.d.ts +167 -0
  54. package/dist/core 2/question-engine.js +395 -0
  55. package/dist/core 2/session-manager.d.ts +139 -0
  56. package/dist/core 2/session-manager.js +403 -0
  57. package/dist/core 2/task-manager.d.ts +155 -0
  58. package/dist/core 2/task-manager.js +689 -0
  59. package/dist/utils/template-loader.js +24 -22
  60. package/package.json +1 -1
  61. package/dist/templates/slash-commands/augment/archive.md +0 -291
  62. package/dist/templates/slash-commands/augment/deep.md +0 -207
  63. package/dist/templates/slash-commands/augment/fast.md +0 -183
  64. package/dist/templates/slash-commands/augment/implement.md +0 -267
  65. package/dist/templates/slash-commands/augment/plan.md +0 -173
  66. package/dist/templates/slash-commands/augment/prd.md +0 -178
  67. package/dist/templates/slash-commands/augment/start.md +0 -142
  68. package/dist/templates/slash-commands/augment/summarize.md +0 -179
  69. package/dist/templates/slash-commands/claude-code/archive.md +0 -291
  70. package/dist/templates/slash-commands/claude-code/deep.md +0 -207
  71. package/dist/templates/slash-commands/claude-code/fast.md +0 -183
  72. package/dist/templates/slash-commands/claude-code/implement.md +0 -267
  73. package/dist/templates/slash-commands/claude-code/plan.md +0 -173
  74. package/dist/templates/slash-commands/claude-code/prd.md +0 -178
  75. package/dist/templates/slash-commands/claude-code/start.md +0 -142
  76. package/dist/templates/slash-commands/claude-code/summarize.md +0 -179
  77. package/dist/templates/slash-commands/cline/archive.md +0 -291
  78. package/dist/templates/slash-commands/cline/deep.md +0 -207
  79. package/dist/templates/slash-commands/cline/fast.md +0 -183
  80. package/dist/templates/slash-commands/cline/implement.md +0 -267
  81. package/dist/templates/slash-commands/cline/plan.md +0 -173
  82. package/dist/templates/slash-commands/cline/prd.md +0 -178
  83. package/dist/templates/slash-commands/cline/start.md +0 -142
  84. package/dist/templates/slash-commands/cline/summarize.md +0 -179
  85. package/dist/templates/slash-commands/codebuddy/archive.md +0 -291
  86. package/dist/templates/slash-commands/codebuddy/deep.md +0 -207
  87. package/dist/templates/slash-commands/codebuddy/fast.md +0 -183
  88. package/dist/templates/slash-commands/codebuddy/implement.md +0 -267
  89. package/dist/templates/slash-commands/codebuddy/plan.md +0 -173
  90. package/dist/templates/slash-commands/codebuddy/prd.md +0 -178
  91. package/dist/templates/slash-commands/codebuddy/start.md +0 -142
  92. package/dist/templates/slash-commands/codebuddy/summarize.md +0 -179
  93. package/dist/templates/slash-commands/codex/archive.md +0 -291
  94. package/dist/templates/slash-commands/codex/deep.md +0 -207
  95. package/dist/templates/slash-commands/codex/fast.md +0 -183
  96. package/dist/templates/slash-commands/codex/implement.md +0 -267
  97. package/dist/templates/slash-commands/codex/plan.md +0 -173
  98. package/dist/templates/slash-commands/codex/prd.md +0 -178
  99. package/dist/templates/slash-commands/codex/start.md +0 -142
  100. package/dist/templates/slash-commands/codex/summarize.md +0 -179
  101. package/dist/templates/slash-commands/crush/archive.md +0 -291
  102. package/dist/templates/slash-commands/crush/deep.md +0 -207
  103. package/dist/templates/slash-commands/crush/fast.md +0 -183
  104. package/dist/templates/slash-commands/crush/implement.md +0 -267
  105. package/dist/templates/slash-commands/crush/plan.md +0 -173
  106. package/dist/templates/slash-commands/crush/prd.md +0 -178
  107. package/dist/templates/slash-commands/crush/start.md +0 -142
  108. package/dist/templates/slash-commands/crush/summarize.md +0 -179
  109. package/dist/templates/slash-commands/cursor/archive.md +0 -291
  110. package/dist/templates/slash-commands/cursor/deep.md +0 -207
  111. package/dist/templates/slash-commands/cursor/fast.md +0 -183
  112. package/dist/templates/slash-commands/cursor/implement.md +0 -267
  113. package/dist/templates/slash-commands/cursor/plan.md +0 -173
  114. package/dist/templates/slash-commands/cursor/prd.md +0 -178
  115. package/dist/templates/slash-commands/cursor/start.md +0 -142
  116. package/dist/templates/slash-commands/cursor/summarize.md +0 -179
  117. package/dist/templates/slash-commands/droid/archive.md +0 -291
  118. package/dist/templates/slash-commands/droid/deep.md +0 -207
  119. package/dist/templates/slash-commands/droid/fast.md +0 -183
  120. package/dist/templates/slash-commands/droid/implement.md +0 -267
  121. package/dist/templates/slash-commands/droid/plan.md +0 -173
  122. package/dist/templates/slash-commands/droid/prd.md +0 -178
  123. package/dist/templates/slash-commands/droid/start.md +0 -142
  124. package/dist/templates/slash-commands/droid/summarize.md +0 -179
  125. package/dist/templates/slash-commands/gemini/archive.toml +0 -290
  126. package/dist/templates/slash-commands/gemini/deep.toml +0 -206
  127. package/dist/templates/slash-commands/gemini/fast.toml +0 -182
  128. package/dist/templates/slash-commands/gemini/implement.toml +0 -266
  129. package/dist/templates/slash-commands/gemini/plan.toml +0 -170
  130. package/dist/templates/slash-commands/gemini/prd.toml +0 -177
  131. package/dist/templates/slash-commands/gemini/start.toml +0 -141
  132. package/dist/templates/slash-commands/gemini/summarize.toml +0 -178
  133. package/dist/templates/slash-commands/kilocode/archive.md +0 -291
  134. package/dist/templates/slash-commands/kilocode/deep.md +0 -207
  135. package/dist/templates/slash-commands/kilocode/fast.md +0 -183
  136. package/dist/templates/slash-commands/kilocode/implement.md +0 -267
  137. package/dist/templates/slash-commands/kilocode/plan.md +0 -173
  138. package/dist/templates/slash-commands/kilocode/prd.md +0 -178
  139. package/dist/templates/slash-commands/kilocode/start.md +0 -142
  140. package/dist/templates/slash-commands/kilocode/summarize.md +0 -179
  141. package/dist/templates/slash-commands/opencode/archive.md +0 -291
  142. package/dist/templates/slash-commands/opencode/deep.md +0 -207
  143. package/dist/templates/slash-commands/opencode/fast.md +0 -183
  144. package/dist/templates/slash-commands/opencode/implement.md +0 -267
  145. package/dist/templates/slash-commands/opencode/plan.md +0 -173
  146. package/dist/templates/slash-commands/opencode/prd.md +0 -178
  147. package/dist/templates/slash-commands/opencode/start.md +0 -142
  148. package/dist/templates/slash-commands/opencode/summarize.md +0 -179
  149. package/dist/templates/slash-commands/qwen/archive.toml +0 -290
  150. package/dist/templates/slash-commands/qwen/deep.toml +0 -206
  151. package/dist/templates/slash-commands/qwen/fast.toml +0 -182
  152. package/dist/templates/slash-commands/qwen/implement.toml +0 -266
  153. package/dist/templates/slash-commands/qwen/plan.toml +0 -170
  154. package/dist/templates/slash-commands/qwen/prd.toml +0 -177
  155. package/dist/templates/slash-commands/qwen/start.toml +0 -141
  156. package/dist/templates/slash-commands/qwen/summarize.toml +0 -178
  157. package/dist/templates/slash-commands/roocode/archive.md +0 -291
  158. package/dist/templates/slash-commands/roocode/deep.md +0 -207
  159. package/dist/templates/slash-commands/roocode/fast.md +0 -183
  160. package/dist/templates/slash-commands/roocode/implement.md +0 -267
  161. package/dist/templates/slash-commands/roocode/plan.md +0 -173
  162. package/dist/templates/slash-commands/roocode/prd.md +0 -178
  163. package/dist/templates/slash-commands/roocode/start.md +0 -142
  164. package/dist/templates/slash-commands/roocode/summarize.md +0 -179
  165. package/dist/templates/slash-commands/windsurf/archive.md +0 -291
  166. package/dist/templates/slash-commands/windsurf/deep.md +0 -207
  167. package/dist/templates/slash-commands/windsurf/fast.md +0 -183
  168. package/dist/templates/slash-commands/windsurf/implement.md +0 -267
  169. package/dist/templates/slash-commands/windsurf/plan.md +0 -173
  170. package/dist/templates/slash-commands/windsurf/prd.md +0 -178
  171. package/dist/templates/slash-commands/windsurf/start.md +0 -142
  172. package/dist/templates/slash-commands/windsurf/summarize.md +0 -179
  173. /package/dist/templates/slash-commands/{amp → _canonical}/archive.md +0 -0
  174. /package/dist/templates/slash-commands/{amp → _canonical}/deep.md +0 -0
  175. /package/dist/templates/slash-commands/{amp → _canonical}/fast.md +0 -0
  176. /package/dist/templates/slash-commands/{amp → _canonical}/implement.md +0 -0
  177. /package/dist/templates/slash-commands/{amp → _canonical}/plan.md +0 -0
  178. /package/dist/templates/slash-commands/{amp → _canonical}/prd.md +0 -0
  179. /package/dist/templates/slash-commands/{amp → _canonical}/start.md +0 -0
  180. /package/dist/templates/slash-commands/{amp → _canonical}/summarize.md +0 -0
@@ -1,266 +0,0 @@
1
- description = "Execute tasks from the implementation plan"
2
- prompt = """
3
-
4
- # Clavix Implement - AI-Assisted Task Execution
5
-
6
- You are helping the user implement tasks from their task plan with AI assistance.
7
-
8
- ## Instructions
9
-
10
- 1. **Run the implement command**:
11
- ```bash
12
- clavix implement
13
- ```
14
-
15
- This will:
16
- - Show interactive PRD selection (if multiple projects exist)
17
- - Locate the `tasks.md` file for the selected/specified project
18
- - Show current progress
19
- - Display the next incomplete task
20
- - Prompt for git auto-commit preferences
21
- - Create a config file for the AI agent
22
-
23
- **Note**: You can skip the selection menu by specifying a project:
24
- ```bash
25
- clavix implement --project my-feature
26
- ```
27
-
28
- 2. **As the AI agent, you should**:
29
-
30
- a. **Read the configuration**:
31
- - Load `.clavix-implement-config.json` from the PRD folder
32
- - This contains: commit strategy, current task, and progress stats
33
-
34
- b. **Read the PRD for context**:
35
- - Open the full PRD to understand requirements
36
- - Reference specific sections mentioned in tasks
37
-
38
- c. **Read tasks.md**:
39
- - Find the first incomplete task (marked `- [ ]`)
40
- - This is your current task to implement
41
-
42
- d. **Implement the task**:
43
- - Write/modify code as needed
44
- - Follow CLEAR principles
45
- - Use PRD requirements as your guide
46
- - Ask user for clarification if needed
47
-
48
- e. **Mark task as completed**:
49
- - In `tasks.md`, change `- [ ] Task description` to `- [x] Task description`
50
- - Update only the specific task you just completed
51
-
52
- f. **Create git commit (if enabled)**:
53
- - Check the `commitStrategy` in config
54
- - If `per-task`: commit after each task
55
- - If `per-5-tasks`: commit after every 5 tasks
56
- - If `per-phase`: commit when all tasks in a phase are done
57
- - Use descriptive commit messages with task description
58
-
59
- g. **Move to next task**:
60
- - Find the next `- [ ]` task in tasks.md
61
- - Repeat the process
62
-
63
- 3. **Session Resume**:
64
- - When user runs `clavix implement` again, it automatically picks up from the last incomplete task
65
- - No manual tracking needed - the checkboxes in tasks.md are the source of truth
66
-
67
- ## Git Commit Format
68
-
69
- When creating commits, use this format:
70
-
71
- ```
72
- clavix: [task description]
73
-
74
- Completed tasks:
75
- - Task 1
76
- - Task 2
77
-
78
- Project: [project-name]
79
- Generated by Clavix /clavix:implement
80
- ```
81
-
82
- ## Important Rules
83
-
84
- **DO**:
85
- - Read tasks.md to find the current task
86
- - Implement ONE task at a time
87
- - Mark tasks complete by changing `[ ]` to `[x]`
88
- - Create commits based on the strategy in config
89
- - Reference the PRD for detailed requirements
90
- - Ask for clarification when tasks are ambiguous
91
-
92
- **DON'T**:
93
- - Skip tasks or implement out of order
94
- - Mark tasks complete before actually implementing them
95
- - Modify multiple tasks' checkboxes at once (only current task)
96
- - Create commits if strategy is 'none'
97
- - Assume what code to write - use PRD as source of truth
98
-
99
- ## Task Blocking Protocol
100
-
101
- **When a task is blocked** (cannot be completed), follow this protocol:
102
-
103
- ### Step 1: Detect Blocking Issues
104
-
105
- Common blocking scenarios:
106
- - **Missing dependencies**: API keys, credentials, external services not available
107
- - **Unclear requirements**: Task description too vague or conflicts with PRD
108
- - **External blockers**: Need design assets, content, or third-party integration not ready
109
- - **Technical blockers**: Required library incompatible, environment issue, access problem
110
- - **Resource blockers**: Need database, server, or infrastructure not yet set up
111
-
112
- ### Step 2: Immediate User Communication
113
-
114
- **Stop implementation and ask user immediately:**
115
- ```
116
- "Task blocked: [Task description]
117
-
118
- Blocking issue: [Specific blocker, e.g., 'Missing Stripe API key for payment integration']
119
-
120
- Options to proceed:
121
- 1. **Provide missing resource** - [What user needs to provide]
122
- 2. **Break into sub-tasks** - I can implement [unblocked parts] now and defer [blocked part]
123
- 3. **Skip for now** - Mark as [BLOCKED], continue with next task, return later
124
-
125
- Which option would you like?"
126
- ```
127
-
128
- ### Step 3: Resolution Strategies
129
-
130
- **Option A: User Provides Resource**
131
- - Wait for user to provide (API key, design, clarification)
132
- - Once provided, continue with task implementation
133
-
134
- **Option B: Create Sub-Tasks** (preferred when possible)
135
- - Identify what CAN be done without the blocker
136
- - Break task into unblocked sub-tasks
137
- - Example: "Implement payment integration" →
138
- - [x] Create payment service interface (can do now)
139
- - [ ] [BLOCKED: Need Stripe API key] Integrate Stripe SDK
140
- - [ ] Add payment UI components (can do now)
141
- - Implement unblocked sub-tasks, mark blocked ones with [BLOCKED] tag
142
-
143
- **Option C: Skip and Mark Blocked**
144
- - Add [BLOCKED] tag to task in tasks.md: `- [ ] [BLOCKED: Missing API key] Task description`
145
- - Note the blocker reason
146
- - Move to next task
147
- - Return to blocked tasks when unblocked
148
-
149
- ### Step 4: Track Blocked Tasks
150
-
151
- **In tasks.md, use [BLOCKED] notation:**
152
- ```markdown
153
- ## Phase 2: Integration
154
- - [x] Create API client structure
155
- - [ ] [BLOCKED: Waiting for API endpoint spec] Implement data sync
156
- - [ ] Add error handling for API calls
157
- ```
158
-
159
- **At end of implement session:**
160
- - List all blocked tasks
161
- - Remind user what's needed to unblock each one
162
- - Suggest next steps
163
-
164
- ### Common Blocking Scenarios & Resolutions
165
-
166
- | Blocker Type | Detection | Resolution |
167
- |--------------|-----------|------------|
168
- | Missing API key/credentials | Code requires authentication | Ask user for credentials OR stub with mock for now |
169
- | Vague requirements | Unclear what to implement | Ask specific questions OR propose implementation for approval |
170
- | External dependency | Service/API not available | Create interface/mock OR skip and defer |
171
- | Environment issue | Can't run/test code | Ask user to fix environment OR implement without testing (note risk) |
172
- | Design/content missing | Need specific assets | Create placeholder OR wait for actual assets |
173
-
174
- ## Example Workflow
175
-
176
- ```
177
- 1. User runs: clavix implement
178
- 2. Command shows: "Next task: Implement user authentication"
179
- 3. You (AI agent):
180
- - Read PRD authentication requirements
181
- - Implement auth logic
182
- - Write tests
183
- - Update tasks.md: - [x] Implement user authentication
184
- - Create git commit (if enabled)
185
- - Find next task in tasks.md
186
- - Continue or wait for user
187
- ```
188
-
189
- ## Workflow Navigation
190
-
191
- **You are here:** Implement (Task Execution)
192
-
193
- **Common workflows:**
194
- - **Full workflow**: `/clavix:plan` → `/clavix:implement` → [execute all tasks] → `/clavix:archive`
195
- - **Resume work**: `/clavix:implement` → Continue from last incomplete task
196
- - **Iterative**: `/clavix:implement` → [complete task] → [pause] → `/clavix:implement` → [continue]
197
-
198
- **Related commands:**
199
- - `/clavix:plan` - Generate/regenerate task breakdown (previous step)
200
- - `/clavix:archive` - Archive completed project (final step)
201
- - `/clavix:prd` - Review PRD for context during implementation
202
-
203
- ## Tips
204
-
205
- - The implementation is meant to be iterative and collaborative
206
- - User can pause/resume at any time
207
- - Tasks are designed to be atomic and independently implementable
208
- - Use the PRD as the authoritative source for "what to build"
209
- - Use tasks.md as the guide for "in what order"
210
-
211
- ## Troubleshooting
212
-
213
- ### Issue: `.clavix-implement-config.json` not found
214
- **Cause**: User hasn't run `clavix implement` CLI command first
215
- **Solution** (inline):
216
- - Error: "Config file not found. Run `clavix implement` first to initialize"
217
- - CLI creates config and shows first task
218
- - AI agent should wait for config before proceeding
219
-
220
- ### Issue: Cannot find next incomplete task in tasks.md
221
- **Cause**: All tasks completed OR tasks.md corrupted
222
- **Solution**:
223
- - Check if all tasks are `[x]` - if yes, congratulate completion!
224
- - Suggest `/clavix:archive` for completed project
225
- - If tasks.md corrupted, ask user to review/regenerate
226
-
227
- ### Issue: Task description unclear or conflicts with PRD
228
- **Cause**: Task breakdown was too vague or PRD changed
229
- **Solution** (inline - covered by Task Blocking Protocol):
230
- - Stop and ask user for clarification
231
- - Reference PRD section if mentioned
232
- - Propose interpretation for user approval
233
- - Update task description in tasks.md after clarification
234
-
235
- ### Issue: Git commit fails (wrong strategy, hook error, etc.)
236
- **Cause**: Git configuration issue or commit hook failure
237
- **Solution**:
238
- - Show error to user
239
- - Suggest checking git status manually
240
- - Ask if should continue without commit or fix issue first
241
- - Note: Commits are convenience, not blocker - can proceed without
242
-
243
- ### Issue: Multiple [BLOCKED] tasks accumulating
244
- **Cause**: Dependencies or blockers not being resolved
245
- **Solution**:
246
- - After 3+ blocked tasks, pause and report to user
247
- - List all blockers and what's needed to resolve
248
- - Ask user to prioritize: unblock tasks OR continue with unblocked ones
249
- - Consider if project should be paused until blockers cleared
250
-
251
- ### Issue: Task completed but tests failing
252
- **Cause**: Implementation doesn't meet requirements
253
- **Solution**:
254
- - Do NOT mark task as complete if tests fail
255
- - Fix failing tests before marking [x]
256
- - If tests are incorrectly written, fix tests first
257
- - Task isn't done until tests pass
258
-
259
- ### Issue: Implementing in wrong order (skipped dependencies)
260
- **Cause**: AI agent or user jumped ahead
261
- **Solution**:
262
- - Stop and review tasks.md order
263
- - Check if skipped task was a dependency
264
- - Implement missed dependency first
265
- - Follow sequential order unless explicitly instructed otherwise
266
- """
@@ -1,170 +0,0 @@
1
- description = "Generate implementation task breakdown from PRD"
2
- prompt = """
3
-
4
- # Clavix Plan - Task Breakdown Generator
5
-
6
- You are helping the user generate a CLEAR-optimized implementation task breakdown from their PRD.
7
-
8
- ## Instructions
9
-
10
- ### Part A: Procedural Steps (CLI Commands)
11
-
12
- 1. **Locate the PRD outputs**:
13
- - Look for the most recent artifacts in `.clavix/outputs/[project-name]/`
14
- - Accepted sources: `full-prd.md`, `quick-prd.md`, `mini-prd.md`, or `optimized-prompt.md`
15
- - **If not found**: Error inline - "No PRD found in `.clavix/outputs/`. Use `/clavix:prd` or `/clavix:summarize` first."
16
-
17
- 2. **Run the plan command**:
18
- ```bash
19
- clavix plan
20
- ```
21
-
22
- Or specify a project:
23
- ```bash
24
- clavix plan --project project-name
25
- ```
26
-
27
- Or generate tasks directly from a saved session (auto-creates mini-prd.md):
28
- ```bash
29
- clavix plan --session SESSION_ID
30
- ```
31
-
32
- The CLI will prompt you to pick a project when multiple outputs are available.
33
-
34
- ### Part B: Behavioral Guidance (Task Breakdown Strategy)
35
-
36
- 3. **How to structure tasks** (CLEAR-optimized task breakdown):
37
-
38
- **Task Granularity Principles:**
39
- - **[C] Concise**: Each task = 1 clear action (not "Build authentication system", but "Create user registration endpoint")
40
- - **[L] Logical**: Tasks flow in implementation order (database schema → backend logic → frontend UI)
41
- - **[E] Explicit**: Tasks specify deliverable (not "Add tests", but "Write unit tests for user service with >80% coverage")
42
-
43
- **Atomic Task Guidelines:**
44
- - **Ideal size**: Completable in 15-60 minutes
45
- - **Too large**: "Implement user authentication" → Break into registration, login, logout, password reset
46
- - **Too small**: "Import React" → Combine with "Setup component structure"
47
- - **Dependencies**: If Task B needs Task A, ensure A comes first
48
-
49
- **Phase Organization:**
50
- - Group related tasks into phases (Setup, Core Features, Testing, Polish)
51
- - Each phase should be independently deployable when possible
52
- - Critical path first (must-haves before nice-to-haves)
53
-
54
- 4. **Review and customize generated tasks**:
55
- - The command will generate `tasks.md` in the PRD folder
56
- - Tasks are organized into logical phases with CLEAR principles
57
- - Each task includes:
58
- - Checkbox `- [ ]` for tracking
59
- - Clear deliverable description
60
- - Optional reference to PRD section `(ref: PRD Section)`
61
- - **You can edit tasks.md** before implementing:
62
- - Add/remove tasks
63
- - Adjust granularity
64
- - Reorder for better flow
65
- - Add notes or sub-tasks
66
-
67
- 5. **CLEAR Task Labeling** (optional, for education):
68
- When reviewing tasks, you can annotate improvements:
69
- - **[C]**: "Split vague 'Add UI' into 3 concrete tasks"
70
- - **[L]**: "Reordered tasks: database schema before API endpoints"
71
- - **[E]**: "Added specific acceptance criteria (>80% test coverage)"
72
-
73
- 6. **Next steps**:
74
- - Review and edit `tasks.md` if needed
75
- - Then run `/clavix:implement` to start implementation
76
-
77
- ## Task Format
78
-
79
- The generated `tasks.md` will look like:
80
-
81
- ```markdown
82
- # Implementation Tasks
83
-
84
- **Project**: [Project Name]
85
- **Generated**: [Timestamp]
86
-
87
-
88
- ## Phase 1: Feature Name
89
- - [ ] Task 1 description (ref: PRD Section)
90
- - [ ] Task 2 description
91
- - [ ] Task 3 description
92
-
93
- ## Phase 2: Another Feature
94
- - [ ] Task 4 description
95
- - [ ] Task 5 description
96
-
97
-
98
- *Generated by Clavix /clavix:plan*
99
- ```
100
-
101
- ## Workflow Navigation
102
-
103
- **You are here:** Plan (Task Breakdown)
104
-
105
- **Common workflows:**
106
- - **PRD workflow**: `/clavix:prd` → `/clavix:plan` → `/clavix:implement` → `/clavix:archive`
107
- - **Conversation workflow**: `/clavix:summarize` → `/clavix:plan` → `/clavix:implement` → `/clavix:archive`
108
- - **Standalone**: [Existing PRD] → `/clavix:plan` → Review tasks.md → `/clavix:implement`
109
-
110
- **Related commands:**
111
- - `/clavix:prd` - Generate PRD (typical previous step)
112
- - `/clavix:summarize` - Extract mini-PRD from conversation (alternative previous step)
113
- - `/clavix:implement` - Execute generated tasks (next step)
114
-
115
- ## Tips
116
-
117
- - Tasks are automatically optimized using CLEAR framework
118
- - Each task is concise and actionable
119
- - Tasks can reference specific PRD sections
120
- - Supports mini-PRD outputs from `/clavix:summarize` and session workflows via `--session` or `--active-session`
121
- - You can manually edit tasks.md before implementing
122
- - Use `--overwrite` flag to regenerate if needed
123
-
124
- ## Troubleshooting
125
-
126
- ### Issue: No PRD found in `.clavix/outputs/`
127
- **Cause**: User hasn't generated a PRD yet
128
- **Solution** (inline - already in template):
129
- - Show error: "No PRD found in `.clavix/outputs/`"
130
- - Suggest: "Use `/clavix:prd` or `/clavix:summarize` to generate one first"
131
- - Do not proceed with plan generation
132
-
133
- ### Issue: Generated tasks are too granular (100+ tasks)
134
- **Cause**: Over-decomposition or large project scope
135
- **Solution**:
136
- - Group related micro-tasks into larger atomic tasks
137
- - Each task should be 15-60 minutes, not 5 minutes
138
- - Combine setup/configuration tasks
139
- - Suggest breaking project into multiple PRDs if truly massive
140
-
141
- ### Issue: Generated tasks are too high-level (only 3-4 tasks)
142
- **Cause**: PRD was too vague or task breakdown too coarse
143
- **Solution**:
144
- - Review PRD - if vague, regenerate with more detail
145
- - Break each high-level task into 3-5 concrete sub-tasks
146
- - Each task should have a clear, testable deliverable
147
-
148
- ### Issue: Tasks don't follow logical dependency order
149
- **Cause**: Generator didn't detect dependencies correctly
150
- **Solution**:
151
- - Manually reorder in tasks.md (database before API, API before UI)
152
- - Follow CLEAR [L] Logic principle: ensure sequential coherence
153
- - Group by technical layers or feature completion
154
-
155
- ### Issue: Tasks conflict with PRD or duplicate work
156
- **Cause**: Misinterpretation of PRD or redundant task generation
157
- **Solution**:
158
- - Review PRD and tasks side-by-side
159
- - Remove duplicate tasks
160
- - Align tasks with PRD requirements
161
- - Use `--overwrite` to regenerate after PRD clarification
162
-
163
- ### Issue: `tasks.md` already exists, unsure if should regenerate
164
- **Cause**: Previous plan exists for this PRD
165
- **Solution**:
166
- - Check if tasks.md has progress (any [x] checkboxes)
167
- - If no progress: Safe to use `--overwrite`
168
- - If progress exists: Review carefully before overwriting
169
- - Consider manual edits instead of full regeneration
170
- """
@@ -1,177 +0,0 @@
1
- description = "CLEAR-validated PRD generation through Socratic questioning"
2
- prompt = """
3
-
4
- # Clavix PRD Generation - CLEAR Framework Validated
5
-
6
- You are helping the user create a Product Requirements Document (PRD) using Clavix's Socratic questioning approach. **Generated PRDs are automatically validated using the CLEAR Framework** (Concise, Logical, Explicit) for AI consumption quality.
7
-
8
- ## Instructions
9
-
10
- 1. Guide the user through these strategic questions, **one at a time** with validation:
11
-
12
- **Question 1**: What are we building and why? (Problem + goal in 2-3 sentences)
13
-
14
- - **Validation**: Must have both problem AND goal stated clearly
15
- - **If vague/short** (e.g., "a dashboard"): Ask probing questions:
16
- - "What specific problem does this dashboard solve?"
17
- - "Who will use this and what decisions will they make with it?"
18
- - "What happens if this doesn't exist?"
19
- - **If "I don't know"**: Ask:
20
- - "What triggered the need for this?"
21
- - "Can you describe the current pain point or opportunity?"
22
- - **Good answer example**: "Sales managers can't quickly identify at-risk deals in our 10K+ deal pipeline. Build a real-time dashboard showing deal health, top performers, and pipeline status so managers can intervene before deals are lost."
23
-
24
- **Question 2**: What are the must-have core features? (List 3-5 critical features)
25
-
26
- - **Validation**: At least 2 concrete features provided
27
- - **If vague** (e.g., "user management"): Probe deeper:
28
- - "What specific user management capabilities? (registration, roles, permissions, profile management?)"
29
- - "Which feature would you build first if you could only build one?"
30
- - **If too many** (7+ features): Help prioritize:
31
- - "If you had to launch with only 3 features, which would they be?"
32
- - "Which features are launch-blockers vs nice-to-have?"
33
- - **If "I don't know"**: Ask:
34
- - "Walk me through how someone would use this - what would they do first?"
35
- - "What's the core value this provides?"
36
-
37
- **Question 3**: Tech stack and requirements? (Technologies, integrations, constraints)
38
-
39
- - **Optional**: Can skip if extending existing project
40
- - **If vague** (e.g., "modern stack"): Probe:
41
- - "What technologies are already in use that this must integrate with?"
42
- - "Any specific frameworks or languages your team prefers?"
43
- - "Are there performance requirements (load time, concurrent users)?"
44
- - **If "I don't know"**: Suggest common stacks based on project type or skip
45
-
46
- **Question 4**: What is explicitly OUT of scope? (What are we NOT building?)
47
-
48
- - **Validation**: At least 1 explicit exclusion
49
- - **Why important**: Prevents scope creep and clarifies boundaries
50
- - **If stuck**: Suggest common exclusions:
51
- - "Are we building admin dashboards? Mobile apps? API integrations?"
52
- - "Are we handling payments? User authentication? Email notifications?"
53
- - **If "I don't know"**: Provide project-specific prompts based on previous answers
54
-
55
- **Question 5**: Any additional context or requirements?
56
-
57
- - **Optional**: Press Enter to skip
58
- - **Helpful areas**: Compliance needs, accessibility, localization, deadlines, team constraints
59
-
60
- 2. **Before proceeding to document generation**, verify minimum viable answers:
61
- - Q1: Both problem AND goal stated
62
- - Q2: At least 2 concrete features
63
- - Q4: At least 1 explicit scope exclusion
64
- - If missing critical info, ask targeted follow-ups
65
-
66
- 3. After collecting and validating all answers, generate TWO documents:
67
-
68
- **Full PRD** (comprehensive):
69
- ```markdown
70
- # Product Requirements Document: [Project Name]
71
-
72
- ## Problem & Goal
73
- [User's answer to Q1]
74
-
75
- ## Requirements
76
- ### Must-Have Features
77
- [User's answer to Q2, expanded with details]
78
-
79
- ### Technical Requirements
80
- [User's answer to Q3, detailed]
81
-
82
- ## Out of Scope
83
- [User's answer to Q4]
84
-
85
- ## Additional Context
86
- [User's answer to Q5 if provided]
87
- ```
88
-
89
- **Quick PRD** (2-3 paragraphs, AI-optimized):
90
- ```markdown
91
- [Concise summary combining problem, goal, and must-have features from Q1+Q2]
92
-
93
- [Technical requirements and constraints from Q3]
94
-
95
- [Out of scope and additional context from Q4+Q5]
96
- ```
97
-
98
- 3. Save both documents to `.clavix/outputs/[project-name]/`
99
-
100
- 4. **CLEAR Framework Validation** (automatic):
101
- - After PRD generation, the quick-prd.md is analyzed using CLEAR framework
102
- - Assesses AI consumption quality (Conciseness, Logic, Explicitness)
103
- - Displays CLEAR scores and improvement suggestions
104
- - Only C, L, E components apply (Adaptive & Reflective not applicable to PRDs)
105
-
106
- 5. Display file paths, CLEAR validation results, and suggest next steps.
107
-
108
- ## CLEAR Validation
109
-
110
- **What gets validated:**
111
- - **[C] Concise**: Is the PRD focused and to-the-point for AI agents?
112
- - **[L] Logical**: Does information flow coherently (context → requirements → constraints)?
113
- - **[E] Explicit**: Are specifications, formats, and success criteria clear?
114
-
115
- **Note:** Adaptive (A) and Reflective (R) components are not applicable to PRDs. For prompt-level CLEAR analysis with all 5 components, use `/clavix:deep` instead.
116
-
117
- ## Workflow Navigation
118
-
119
- **You are here:** PRD Generation (Strategic Planning)
120
-
121
- **Common workflows:**
122
- - **Full PRD workflow**: `/clavix:prd` → `/clavix:plan` → `/clavix:implement` → `/clavix:archive`
123
- - **From deep mode**: `/clavix:deep` → (strategic scope detected) → `/clavix:prd`
124
- - **Quick to strategic**: `/clavix:fast` → (realizes complexity) → `/clavix:prd`
125
-
126
- **Related commands:**
127
- - `/clavix:plan` - Generate task breakdown from PRD (next step)
128
- - `/clavix:implement` - Execute tasks (after plan)
129
- - `/clavix:summarize` - Alternative: Extract PRD from conversation instead of Q&A
130
-
131
- ## Tips
132
-
133
- - Ask follow-up questions if answers are too vague
134
- - Help users think through edge cases
135
- - Keep the process conversational and supportive
136
- - Generated PRDs are automatically CLEAR-validated for optimal AI consumption
137
-
138
- ## Troubleshooting
139
-
140
- ### Issue: User's answers to Q1 are too vague ("make an app")
141
- **Cause**: User hasn't thought through the problem/goal deeply enough
142
- **Solution** (inline):
143
- - Stop and ask probing questions before proceeding
144
- - "What specific problem does this app solve?"
145
- - "Who will use this and what pain point does it address?"
146
- - Don't proceed until both problem AND goal are clear
147
-
148
- ### Issue: User lists 10+ features in Q2
149
- **Cause**: Unclear priorities or scope creep
150
- **Solution** (inline):
151
- - Help prioritize: "If you could only launch with 3 features, which would they be?"
152
- - Separate must-have from nice-to-have
153
- - Document extras in "Additional Context" or "Out of scope"
154
-
155
- ### Issue: User says "I don't know" to critical questions
156
- **Cause**: Genuine uncertainty or needs exploration
157
- **Solution**:
158
- - For Q1: Ask about what triggered the need, current pain points
159
- - For Q2: Walk through user journey step-by-step
160
- - For Q4: Suggest common exclusions based on project type
161
- - Consider suggesting `/clavix:start` for conversational exploration first
162
-
163
- ### Issue: CLEAR validation shows low scores after generation
164
- **Cause**: Answers were too vague or incomplete
165
- **Solution**:
166
- - Review the generated PRD
167
- - Identify specific gaps (missing context, vague requirements)
168
- - Ask targeted follow-up questions
169
- - Regenerate PRD with enhanced answers
170
-
171
- ### Issue: Generated PRD doesn't match user's vision
172
- **Cause**: Miscommunication during Q&A or assumptions made
173
- **Solution**:
174
- - Review each section with user
175
- - Ask "What's missing or inaccurate?"
176
- - Update PRD manually or regenerate with corrected answers
177
- """