clavix 2.3.1 → 2.4.1

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 (187) hide show
  1. package/README.md +0 -116
  2. package/bin/clavix.js +7 -0
  3. package/dist/cli/commands/implement.js +25 -33
  4. package/dist/cli/commands/plan.js +22 -27
  5. package/dist/cli/commands/prd.js +7 -12
  6. package/dist/cli/commands/start.js +4 -9
  7. package/dist/cli/commands/summarize.js +15 -22
  8. package/dist/core 2/adapters/agents-md-generator.d.ts +26 -0
  9. package/dist/core 2/adapters/agents-md-generator.js +102 -0
  10. package/dist/core 2/adapters/amp-adapter.d.ts +27 -0
  11. package/dist/core 2/adapters/amp-adapter.js +42 -0
  12. package/dist/core 2/adapters/augment-adapter.d.ts +22 -0
  13. package/dist/core 2/adapters/augment-adapter.js +77 -0
  14. package/dist/core 2/adapters/base-adapter.d.ts +45 -0
  15. package/dist/core 2/adapters/base-adapter.js +142 -0
  16. package/dist/core 2/adapters/claude-code-adapter.d.ts +32 -0
  17. package/dist/core 2/adapters/claude-code-adapter.js +116 -0
  18. package/dist/core 2/adapters/cline-adapter.d.ts +34 -0
  19. package/dist/core 2/adapters/cline-adapter.js +52 -0
  20. package/dist/core 2/adapters/codebuddy-adapter.d.ts +24 -0
  21. package/dist/core 2/adapters/codebuddy-adapter.js +82 -0
  22. package/dist/core 2/adapters/codex-adapter.d.ts +24 -0
  23. package/dist/core 2/adapters/codex-adapter.js +79 -0
  24. package/dist/core 2/adapters/copilot-instructions-generator.d.ts +26 -0
  25. package/dist/core 2/adapters/copilot-instructions-generator.js +104 -0
  26. package/dist/core 2/adapters/crush-adapter.d.ts +35 -0
  27. package/dist/core 2/adapters/crush-adapter.js +49 -0
  28. package/dist/core 2/adapters/cursor-adapter.d.ts +25 -0
  29. package/dist/core 2/adapters/cursor-adapter.js +40 -0
  30. package/dist/core 2/adapters/droid-adapter.d.ts +33 -0
  31. package/dist/core 2/adapters/droid-adapter.js +57 -0
  32. package/dist/core 2/adapters/gemini-adapter.d.ts +27 -0
  33. package/dist/core 2/adapters/gemini-adapter.js +90 -0
  34. package/dist/core 2/adapters/kilocode-adapter.d.ts +34 -0
  35. package/dist/core 2/adapters/kilocode-adapter.js +49 -0
  36. package/dist/core 2/adapters/octo-md-generator.d.ts +26 -0
  37. package/dist/core 2/adapters/octo-md-generator.js +102 -0
  38. package/dist/core 2/adapters/opencode-adapter.d.ts +33 -0
  39. package/dist/core 2/adapters/opencode-adapter.js +56 -0
  40. package/dist/core 2/adapters/qwen-adapter.d.ts +27 -0
  41. package/dist/core 2/adapters/qwen-adapter.js +90 -0
  42. package/dist/core 2/adapters/roocode-adapter.d.ts +40 -0
  43. package/dist/core 2/adapters/roocode-adapter.js +68 -0
  44. package/dist/core 2/adapters/warp-md-generator.d.ts +17 -0
  45. package/dist/core 2/adapters/warp-md-generator.js +88 -0
  46. package/dist/core 2/adapters/windsurf-adapter.d.ts +34 -0
  47. package/dist/core 2/adapters/windsurf-adapter.js +49 -0
  48. package/dist/core 2/agent-manager.d.ts +51 -0
  49. package/dist/core 2/agent-manager.js +126 -0
  50. package/dist/core 2/archive-manager.d.ts +100 -0
  51. package/dist/core 2/archive-manager.js +338 -0
  52. package/dist/core 2/conversation-analyzer.d.ts +86 -0
  53. package/dist/core 2/doc-injector.d.ts +51 -0
  54. package/dist/core 2/doc-injector.js +236 -0
  55. package/dist/core 2/git-manager.d.ts +100 -0
  56. package/dist/core 2/git-manager.js +214 -0
  57. package/dist/core 2/prompt-optimizer.d.ts +268 -0
  58. package/dist/core 2/prompt-optimizer.js +963 -0
  59. package/dist/core 2/question-engine.d.ts +167 -0
  60. package/dist/core 2/question-engine.js +395 -0
  61. package/dist/core 2/session-manager.d.ts +139 -0
  62. package/dist/core 2/session-manager.js +403 -0
  63. package/dist/core 2/task-manager.d.ts +155 -0
  64. package/dist/core 2/task-manager.js +689 -0
  65. package/dist/index.js +6 -0
  66. package/dist/utils/template-loader.js +24 -22
  67. package/package.json +1 -1
  68. package/dist/templates/slash-commands/augment/archive.md +0 -291
  69. package/dist/templates/slash-commands/augment/deep.md +0 -207
  70. package/dist/templates/slash-commands/augment/fast.md +0 -183
  71. package/dist/templates/slash-commands/augment/implement.md +0 -267
  72. package/dist/templates/slash-commands/augment/plan.md +0 -173
  73. package/dist/templates/slash-commands/augment/prd.md +0 -178
  74. package/dist/templates/slash-commands/augment/start.md +0 -142
  75. package/dist/templates/slash-commands/augment/summarize.md +0 -179
  76. package/dist/templates/slash-commands/claude-code/archive.md +0 -291
  77. package/dist/templates/slash-commands/claude-code/deep.md +0 -207
  78. package/dist/templates/slash-commands/claude-code/fast.md +0 -183
  79. package/dist/templates/slash-commands/claude-code/implement.md +0 -267
  80. package/dist/templates/slash-commands/claude-code/plan.md +0 -173
  81. package/dist/templates/slash-commands/claude-code/prd.md +0 -178
  82. package/dist/templates/slash-commands/claude-code/start.md +0 -142
  83. package/dist/templates/slash-commands/claude-code/summarize.md +0 -179
  84. package/dist/templates/slash-commands/cline/archive.md +0 -291
  85. package/dist/templates/slash-commands/cline/deep.md +0 -207
  86. package/dist/templates/slash-commands/cline/fast.md +0 -183
  87. package/dist/templates/slash-commands/cline/implement.md +0 -267
  88. package/dist/templates/slash-commands/cline/plan.md +0 -173
  89. package/dist/templates/slash-commands/cline/prd.md +0 -178
  90. package/dist/templates/slash-commands/cline/start.md +0 -142
  91. package/dist/templates/slash-commands/cline/summarize.md +0 -179
  92. package/dist/templates/slash-commands/codebuddy/archive.md +0 -291
  93. package/dist/templates/slash-commands/codebuddy/deep.md +0 -207
  94. package/dist/templates/slash-commands/codebuddy/fast.md +0 -183
  95. package/dist/templates/slash-commands/codebuddy/implement.md +0 -267
  96. package/dist/templates/slash-commands/codebuddy/plan.md +0 -173
  97. package/dist/templates/slash-commands/codebuddy/prd.md +0 -178
  98. package/dist/templates/slash-commands/codebuddy/start.md +0 -142
  99. package/dist/templates/slash-commands/codebuddy/summarize.md +0 -179
  100. package/dist/templates/slash-commands/codex/archive.md +0 -291
  101. package/dist/templates/slash-commands/codex/deep.md +0 -207
  102. package/dist/templates/slash-commands/codex/fast.md +0 -183
  103. package/dist/templates/slash-commands/codex/implement.md +0 -267
  104. package/dist/templates/slash-commands/codex/plan.md +0 -173
  105. package/dist/templates/slash-commands/codex/prd.md +0 -178
  106. package/dist/templates/slash-commands/codex/start.md +0 -142
  107. package/dist/templates/slash-commands/codex/summarize.md +0 -179
  108. package/dist/templates/slash-commands/crush/archive.md +0 -291
  109. package/dist/templates/slash-commands/crush/deep.md +0 -207
  110. package/dist/templates/slash-commands/crush/fast.md +0 -183
  111. package/dist/templates/slash-commands/crush/implement.md +0 -267
  112. package/dist/templates/slash-commands/crush/plan.md +0 -173
  113. package/dist/templates/slash-commands/crush/prd.md +0 -178
  114. package/dist/templates/slash-commands/crush/start.md +0 -142
  115. package/dist/templates/slash-commands/crush/summarize.md +0 -179
  116. package/dist/templates/slash-commands/cursor/archive.md +0 -291
  117. package/dist/templates/slash-commands/cursor/deep.md +0 -207
  118. package/dist/templates/slash-commands/cursor/fast.md +0 -183
  119. package/dist/templates/slash-commands/cursor/implement.md +0 -267
  120. package/dist/templates/slash-commands/cursor/plan.md +0 -173
  121. package/dist/templates/slash-commands/cursor/prd.md +0 -178
  122. package/dist/templates/slash-commands/cursor/start.md +0 -142
  123. package/dist/templates/slash-commands/cursor/summarize.md +0 -179
  124. package/dist/templates/slash-commands/droid/archive.md +0 -291
  125. package/dist/templates/slash-commands/droid/deep.md +0 -207
  126. package/dist/templates/slash-commands/droid/fast.md +0 -183
  127. package/dist/templates/slash-commands/droid/implement.md +0 -267
  128. package/dist/templates/slash-commands/droid/plan.md +0 -173
  129. package/dist/templates/slash-commands/droid/prd.md +0 -178
  130. package/dist/templates/slash-commands/droid/start.md +0 -142
  131. package/dist/templates/slash-commands/droid/summarize.md +0 -179
  132. package/dist/templates/slash-commands/gemini/archive.toml +0 -290
  133. package/dist/templates/slash-commands/gemini/deep.toml +0 -206
  134. package/dist/templates/slash-commands/gemini/fast.toml +0 -182
  135. package/dist/templates/slash-commands/gemini/implement.toml +0 -266
  136. package/dist/templates/slash-commands/gemini/plan.toml +0 -170
  137. package/dist/templates/slash-commands/gemini/prd.toml +0 -177
  138. package/dist/templates/slash-commands/gemini/start.toml +0 -141
  139. package/dist/templates/slash-commands/gemini/summarize.toml +0 -178
  140. package/dist/templates/slash-commands/kilocode/archive.md +0 -291
  141. package/dist/templates/slash-commands/kilocode/deep.md +0 -207
  142. package/dist/templates/slash-commands/kilocode/fast.md +0 -183
  143. package/dist/templates/slash-commands/kilocode/implement.md +0 -267
  144. package/dist/templates/slash-commands/kilocode/plan.md +0 -173
  145. package/dist/templates/slash-commands/kilocode/prd.md +0 -178
  146. package/dist/templates/slash-commands/kilocode/start.md +0 -142
  147. package/dist/templates/slash-commands/kilocode/summarize.md +0 -179
  148. package/dist/templates/slash-commands/opencode/archive.md +0 -291
  149. package/dist/templates/slash-commands/opencode/deep.md +0 -207
  150. package/dist/templates/slash-commands/opencode/fast.md +0 -183
  151. package/dist/templates/slash-commands/opencode/implement.md +0 -267
  152. package/dist/templates/slash-commands/opencode/plan.md +0 -173
  153. package/dist/templates/slash-commands/opencode/prd.md +0 -178
  154. package/dist/templates/slash-commands/opencode/start.md +0 -142
  155. package/dist/templates/slash-commands/opencode/summarize.md +0 -179
  156. package/dist/templates/slash-commands/qwen/archive.toml +0 -290
  157. package/dist/templates/slash-commands/qwen/deep.toml +0 -206
  158. package/dist/templates/slash-commands/qwen/fast.toml +0 -182
  159. package/dist/templates/slash-commands/qwen/implement.toml +0 -266
  160. package/dist/templates/slash-commands/qwen/plan.toml +0 -170
  161. package/dist/templates/slash-commands/qwen/prd.toml +0 -177
  162. package/dist/templates/slash-commands/qwen/start.toml +0 -141
  163. package/dist/templates/slash-commands/qwen/summarize.toml +0 -178
  164. package/dist/templates/slash-commands/roocode/archive.md +0 -291
  165. package/dist/templates/slash-commands/roocode/deep.md +0 -207
  166. package/dist/templates/slash-commands/roocode/fast.md +0 -183
  167. package/dist/templates/slash-commands/roocode/implement.md +0 -267
  168. package/dist/templates/slash-commands/roocode/plan.md +0 -173
  169. package/dist/templates/slash-commands/roocode/prd.md +0 -178
  170. package/dist/templates/slash-commands/roocode/start.md +0 -142
  171. package/dist/templates/slash-commands/roocode/summarize.md +0 -179
  172. package/dist/templates/slash-commands/windsurf/archive.md +0 -291
  173. package/dist/templates/slash-commands/windsurf/deep.md +0 -207
  174. package/dist/templates/slash-commands/windsurf/fast.md +0 -183
  175. package/dist/templates/slash-commands/windsurf/implement.md +0 -267
  176. package/dist/templates/slash-commands/windsurf/plan.md +0 -173
  177. package/dist/templates/slash-commands/windsurf/prd.md +0 -178
  178. package/dist/templates/slash-commands/windsurf/start.md +0 -142
  179. package/dist/templates/slash-commands/windsurf/summarize.md +0 -179
  180. /package/dist/templates/slash-commands/{amp → _canonical}/archive.md +0 -0
  181. /package/dist/templates/slash-commands/{amp → _canonical}/deep.md +0 -0
  182. /package/dist/templates/slash-commands/{amp → _canonical}/fast.md +0 -0
  183. /package/dist/templates/slash-commands/{amp → _canonical}/implement.md +0 -0
  184. /package/dist/templates/slash-commands/{amp → _canonical}/plan.md +0 -0
  185. /package/dist/templates/slash-commands/{amp → _canonical}/prd.md +0 -0
  186. /package/dist/templates/slash-commands/{amp → _canonical}/start.md +0 -0
  187. /package/dist/templates/slash-commands/{amp → _canonical}/summarize.md +0 -0
@@ -1,183 +0,0 @@
1
- ---
2
- name: "Clavix: Fast"
3
- description: CLEAR-guided quick improvements (C, L, E components)
4
- ---
5
-
6
- # Clavix Fast Mode - CLEAR Framework Quick Improvement
7
-
8
- You are helping the user improve their prompt using Clavix's fast mode, which applies the CLEAR Framework (Concise, Logical, Explicit components) with smart triage.
9
-
10
- ## CLEAR Framework (Fast Mode)
11
-
12
- **What is CLEAR?**
13
- An academically-validated prompt engineering framework by Dr. Leo Lo (University of New Mexico).
14
-
15
- **Fast Mode Uses:**
16
- - **[C] Concise**: Remove verbosity, pleasantries, unnecessary words
17
- - **[L] Logical**: Ensure coherent sequencing (context → requirements → constraints → output)
18
- - **[E] Explicit**: Add persona, format, tone, success criteria
19
-
20
- **Deep Mode Adds:** [A] Adaptive variations, [R] Reflective validation (use `/clavix:deep` for these)
21
-
22
- ## Instructions
23
-
24
- 1. Take the user's prompt: `{{ARGS}}`
25
-
26
- 2. **CLEAR Analysis** - Assess the prompt using three components:
27
-
28
- - **Conciseness [C]**: Identify verbose language, pleasantries ("please", "could you"), unnecessary qualifiers
29
- - **Logic [L]**: Check sequencing and flow - is information presented coherently?
30
- - **Explicitness [E]**: Verify specifications - persona, output format, tone, success criteria
31
-
32
- 3. **CLEAR-Aware Smart Triage**: Use multi-factor content-quality assessment to determine if deep analysis is needed:
33
-
34
- **Primary Indicators** (CLEAR scores - most important):
35
- - **Low CLEAR scores**: Conciseness < 60%, Logic < 60%, or Explicitness < 50%
36
-
37
- **Secondary Indicators** (content quality):
38
- - **Missing critical elements**: 3+ missing from (context, tech stack, success criteria, user needs, expected output)
39
- - **Scope clarity**: Contains vague words ("app", "system", "project", "feature") without defining what/who/why
40
- - **Requirement completeness**: Lacks actionable requirements or measurable outcomes
41
- - **Context depth**: Extremely brief (<15 words) OR overly verbose (>100 words without structure)
42
-
43
- **Escalation Decision**:
44
- - If **Low CLEAR scores** + **2+ Secondary Indicators**: **Strongly recommend `/clavix:deep`**
45
- - If **Low CLEAR scores** only: **Suggest `/clavix:deep`** but can proceed with fast mode
46
- - Explain which CLEAR component needs deeper analysis and why
47
-
48
- Ask the user:
49
- - Switch to deep mode (recommended when strongly recommended)
50
- - Continue with fast mode (acceptable for suggestion-level, but at their own risk for strong recommendation)
51
-
52
- 4. Generate a **CLEAR-optimized** structured prompt with these sections:
53
- **Objective**: Clear, specific goal
54
- **Requirements**: Detailed, actionable requirements
55
- **Technical Constraints**: Technologies, performance needs, integrations
56
- **Expected Output**: What the result should look like
57
- **Success Criteria**: How to measure completion
58
-
59
- 5. **CLEAR Changes Made**: List improvements with CLEAR component labels:
60
- - **[C]** "Removed 15 unnecessary words and pleasantries"
61
- - **[L]** "Restructured: context → requirements → constraints → output"
62
- - **[E]** "Added explicit persona (senior developer), output format (React component), tone (production-ready)"
63
-
64
- 6. Present the CLEAR-optimized prompt in a code block for easy copying.
65
-
66
- ## Fast Mode Features
67
-
68
- **Include (CLEAR C, L, E):**
69
- - **CLEAR Assessment** (Conciseness, Logic, Explicitness scores with issues)
70
- - Single CLEAR-optimized improved prompt
71
- - **CLEAR Changes Made** (labeled with [C], [L], [E] components)
72
- - Recommendation to use deep mode for Adaptive & Reflective components
73
-
74
- **Skip (use `/clavix:deep` instead):**
75
- - **[A] Adaptive**: Alternative phrasings, structures, flexibility
76
- - **[R] Reflective**: Validation checklists, edge cases, quality criteria
77
- - Strategic analysis (architecture, security - that's for `/clavix:prd`)
78
-
79
- ## Example
80
-
81
- If user provides: "Please could you maybe help me create a login page?"
82
-
83
- Output:
84
- ```
85
- ## CLEAR Analysis (Fast Mode)
86
-
87
- ### CLEAR Framework Assessment:
88
-
89
- [C] Conciseness: 45%
90
- • 4 unnecessary pleasantries detected ("Please", "could you", "maybe", "help me")
91
- • Low signal-to-noise ratio (core request is only 4 words)
92
-
93
- [L] Logic: 85%
94
- • Single request, coherent but minimal
95
- • Suggested flow: Context → Requirements → Constraints → Output
96
-
97
- [E] Explicitness: 25%
98
- • Missing: persona, output format, tone, success criteria, technical constraints
99
- • No authentication context specified
100
-
101
- Overall CLEAR Score: 51% (needs-improvement)
102
-
103
- Recommendation:
104
- For Adaptive variations (A) and Reflective validation (R), use:
105
- clavix deep "<your prompt>"
106
-
107
- ### CLEAR-Optimized Prompt:
108
-
109
- Objective: Build a secure user authentication login page
110
-
111
- Requirements:
112
- - Email and password input fields with validation
113
- - "Remember me" checkbox
114
- - "Forgot password" link
115
- - Clear error messages for invalid credentials
116
- - Responsive design for mobile and desktop
117
-
118
- Technical Constraints:
119
- - Use React with TypeScript
120
- - Integrate with existing JWT authentication API
121
- - Follow WCAG 2.1 AA accessibility standards
122
-
123
- Expected Output:
124
- - Fully functional login component
125
- - Unit tests with >80% coverage
126
-
127
- Success Criteria:
128
- - Users can log in successfully
129
- - Invalid credentials show appropriate errors
130
- - Page is accessible via keyboard navigation
131
-
132
- ### CLEAR Changes Made:
133
-
134
- [C] Removed 4 pleasantries ("Please", "could you", "maybe", "help me"), reduced from 11 words to core intent
135
- [L] Structured logical flow: Objective → Requirements → Technical Constraints → Expected Output → Success Criteria
136
- [E] Added explicit specifications: React TypeScript persona, component output format, production-ready tone, accessibility criteria
137
- ```
138
-
139
- ## Workflow Navigation
140
-
141
- **You are here:** Fast Mode (Quick CLEAR Improvement)
142
-
143
- **Common workflows:**
144
- - **Quick cleanup**: `/clavix:fast` → Use improved prompt
145
- - **Need more depth**: `/clavix:fast` → (suggests) `/clavix:deep` → Comprehensive analysis
146
- - **Strategic planning**: `/clavix:fast` → (suggests) `/clavix:prd` → Plan → Implement → Archive
147
-
148
- **Related commands:**
149
- - `/clavix:deep` - Full CLEAR analysis (all 5 components: C, L, E, A, R)
150
- - `/clavix:prd` - Generate PRD for strategic planning
151
- - `/clavix:start` - Conversational exploration before prompting
152
-
153
- ## Tips
154
-
155
- - **Apply CLEAR framework** systematically: C, L, E components
156
- - Use **CLEAR-aware triage** to prevent inadequate analysis
157
- - Label all changes with CLEAR components for education
158
- - For comprehensive analysis with [A] and [R], recommend `/clavix:deep`
159
- - For strategic planning, recommend `/clavix:prd`
160
- - Focus on making prompts **CLEAR** quickly
161
-
162
- ## Troubleshooting
163
-
164
- ### Issue: Triage keeps recommending deep mode
165
- **Cause**: Prompt has low CLEAR scores + multiple secondary indicators
166
- **Solution**:
167
- - Accept the recommendation - deep mode will provide better analysis
168
- - OR improve prompt manually before running fast mode again
169
- - Check which CLEAR component is scoring low and address it
170
-
171
- ### Issue: Can't determine if prompt is complex enough for deep mode
172
- **Cause**: Borderline CLEAR scores or unclear content quality
173
- **Solution**:
174
- - Err on side of fast mode first
175
- - If output feels insufficient, escalate to `/clavix:deep`
176
- - Use triage as guidance, not absolute rule
177
-
178
- ### Issue: Improved prompt still feels incomplete
179
- **Cause**: Fast mode only applies C, L, E components
180
- **Solution**:
181
- - Use `/clavix:deep` for Adaptive variations and Reflective validation
182
- - OR use `/clavix:prd` if strategic planning is needed
183
- - Fast mode is for quick cleanup, not comprehensive analysis
@@ -1,267 +0,0 @@
1
- ---
2
- name: "Clavix: Implement"
3
- description: Execute tasks from the implementation plan
4
- ---
5
-
6
- # Clavix Implement - AI-Assisted Task Execution
7
-
8
- You are helping the user implement tasks from their task plan with AI assistance.
9
-
10
- ## Instructions
11
-
12
- 1. **Run the implement command**:
13
- ```bash
14
- clavix implement
15
- ```
16
-
17
- This will:
18
- - Show interactive PRD selection (if multiple projects exist)
19
- - Locate the `tasks.md` file for the selected/specified project
20
- - Show current progress
21
- - Display the next incomplete task
22
- - Prompt for git auto-commit preferences
23
- - Create a config file for the AI agent
24
-
25
- **Note**: You can skip the selection menu by specifying a project:
26
- ```bash
27
- clavix implement --project my-feature
28
- ```
29
-
30
- 2. **As the AI agent, you should**:
31
-
32
- a. **Read the configuration**:
33
- - Load `.clavix-implement-config.json` from the PRD folder
34
- - This contains: commit strategy, current task, and progress stats
35
-
36
- b. **Read the PRD for context**:
37
- - Open the full PRD to understand requirements
38
- - Reference specific sections mentioned in tasks
39
-
40
- c. **Read tasks.md**:
41
- - Find the first incomplete task (marked `- [ ]`)
42
- - This is your current task to implement
43
-
44
- d. **Implement the task**:
45
- - Write/modify code as needed
46
- - Follow CLEAR principles
47
- - Use PRD requirements as your guide
48
- - Ask user for clarification if needed
49
-
50
- e. **Mark task as completed**:
51
- - In `tasks.md`, change `- [ ] Task description` to `- [x] Task description`
52
- - Update only the specific task you just completed
53
-
54
- f. **Create git commit (if enabled)**:
55
- - Check the `commitStrategy` in config
56
- - If `per-task`: commit after each task
57
- - If `per-5-tasks`: commit after every 5 tasks
58
- - If `per-phase`: commit when all tasks in a phase are done
59
- - Use descriptive commit messages with task description
60
-
61
- g. **Move to next task**:
62
- - Find the next `- [ ]` task in tasks.md
63
- - Repeat the process
64
-
65
- 3. **Session Resume**:
66
- - When user runs `clavix implement` again, it automatically picks up from the last incomplete task
67
- - No manual tracking needed - the checkboxes in tasks.md are the source of truth
68
-
69
- ## Git Commit Format
70
-
71
- When creating commits, use this format:
72
-
73
- ```
74
- clavix: [task description]
75
-
76
- Completed tasks:
77
- - Task 1
78
- - Task 2
79
-
80
- Project: [project-name]
81
- Generated by Clavix /clavix:implement
82
- ```
83
-
84
- ## Important Rules
85
-
86
- **DO**:
87
- - Read tasks.md to find the current task
88
- - Implement ONE task at a time
89
- - Mark tasks complete by changing `[ ]` to `[x]`
90
- - Create commits based on the strategy in config
91
- - Reference the PRD for detailed requirements
92
- - Ask for clarification when tasks are ambiguous
93
-
94
- **DON'T**:
95
- - Skip tasks or implement out of order
96
- - Mark tasks complete before actually implementing them
97
- - Modify multiple tasks' checkboxes at once (only current task)
98
- - Create commits if strategy is 'none'
99
- - Assume what code to write - use PRD as source of truth
100
-
101
- ## Task Blocking Protocol
102
-
103
- **When a task is blocked** (cannot be completed), follow this protocol:
104
-
105
- ### Step 1: Detect Blocking Issues
106
-
107
- Common blocking scenarios:
108
- - **Missing dependencies**: API keys, credentials, external services not available
109
- - **Unclear requirements**: Task description too vague or conflicts with PRD
110
- - **External blockers**: Need design assets, content, or third-party integration not ready
111
- - **Technical blockers**: Required library incompatible, environment issue, access problem
112
- - **Resource blockers**: Need database, server, or infrastructure not yet set up
113
-
114
- ### Step 2: Immediate User Communication
115
-
116
- **Stop implementation and ask user immediately:**
117
- ```
118
- "Task blocked: [Task description]
119
-
120
- Blocking issue: [Specific blocker, e.g., 'Missing Stripe API key for payment integration']
121
-
122
- Options to proceed:
123
- 1. **Provide missing resource** - [What user needs to provide]
124
- 2. **Break into sub-tasks** - I can implement [unblocked parts] now and defer [blocked part]
125
- 3. **Skip for now** - Mark as [BLOCKED], continue with next task, return later
126
-
127
- Which option would you like?"
128
- ```
129
-
130
- ### Step 3: Resolution Strategies
131
-
132
- **Option A: User Provides Resource**
133
- - Wait for user to provide (API key, design, clarification)
134
- - Once provided, continue with task implementation
135
-
136
- **Option B: Create Sub-Tasks** (preferred when possible)
137
- - Identify what CAN be done without the blocker
138
- - Break task into unblocked sub-tasks
139
- - Example: "Implement payment integration" →
140
- - [x] Create payment service interface (can do now)
141
- - [ ] [BLOCKED: Need Stripe API key] Integrate Stripe SDK
142
- - [ ] Add payment UI components (can do now)
143
- - Implement unblocked sub-tasks, mark blocked ones with [BLOCKED] tag
144
-
145
- **Option C: Skip and Mark Blocked**
146
- - Add [BLOCKED] tag to task in tasks.md: `- [ ] [BLOCKED: Missing API key] Task description`
147
- - Note the blocker reason
148
- - Move to next task
149
- - Return to blocked tasks when unblocked
150
-
151
- ### Step 4: Track Blocked Tasks
152
-
153
- **In tasks.md, use [BLOCKED] notation:**
154
- ```markdown
155
- ## Phase 2: Integration
156
- - [x] Create API client structure
157
- - [ ] [BLOCKED: Waiting for API endpoint spec] Implement data sync
158
- - [ ] Add error handling for API calls
159
- ```
160
-
161
- **At end of implement session:**
162
- - List all blocked tasks
163
- - Remind user what's needed to unblock each one
164
- - Suggest next steps
165
-
166
- ### Common Blocking Scenarios & Resolutions
167
-
168
- | Blocker Type | Detection | Resolution |
169
- |--------------|-----------|------------|
170
- | Missing API key/credentials | Code requires authentication | Ask user for credentials OR stub with mock for now |
171
- | Vague requirements | Unclear what to implement | Ask specific questions OR propose implementation for approval |
172
- | External dependency | Service/API not available | Create interface/mock OR skip and defer |
173
- | Environment issue | Can't run/test code | Ask user to fix environment OR implement without testing (note risk) |
174
- | Design/content missing | Need specific assets | Create placeholder OR wait for actual assets |
175
-
176
- ## Example Workflow
177
-
178
- ```
179
- 1. User runs: clavix implement
180
- 2. Command shows: "Next task: Implement user authentication"
181
- 3. You (AI agent):
182
- - Read PRD authentication requirements
183
- - Implement auth logic
184
- - Write tests
185
- - Update tasks.md: - [x] Implement user authentication
186
- - Create git commit (if enabled)
187
- - Find next task in tasks.md
188
- - Continue or wait for user
189
- ```
190
-
191
- ## Workflow Navigation
192
-
193
- **You are here:** Implement (Task Execution)
194
-
195
- **Common workflows:**
196
- - **Full workflow**: `/clavix:plan` → `/clavix:implement` → [execute all tasks] → `/clavix:archive`
197
- - **Resume work**: `/clavix:implement` → Continue from last incomplete task
198
- - **Iterative**: `/clavix:implement` → [complete task] → [pause] → `/clavix:implement` → [continue]
199
-
200
- **Related commands:**
201
- - `/clavix:plan` - Generate/regenerate task breakdown (previous step)
202
- - `/clavix:archive` - Archive completed project (final step)
203
- - `/clavix:prd` - Review PRD for context during implementation
204
-
205
- ## Tips
206
-
207
- - The implementation is meant to be iterative and collaborative
208
- - User can pause/resume at any time
209
- - Tasks are designed to be atomic and independently implementable
210
- - Use the PRD as the authoritative source for "what to build"
211
- - Use tasks.md as the guide for "in what order"
212
-
213
- ## Troubleshooting
214
-
215
- ### Issue: `.clavix-implement-config.json` not found
216
- **Cause**: User hasn't run `clavix implement` CLI command first
217
- **Solution** (inline):
218
- - Error: "Config file not found. Run `clavix implement` first to initialize"
219
- - CLI creates config and shows first task
220
- - AI agent should wait for config before proceeding
221
-
222
- ### Issue: Cannot find next incomplete task in tasks.md
223
- **Cause**: All tasks completed OR tasks.md corrupted
224
- **Solution**:
225
- - Check if all tasks are `[x]` - if yes, congratulate completion!
226
- - Suggest `/clavix:archive` for completed project
227
- - If tasks.md corrupted, ask user to review/regenerate
228
-
229
- ### Issue: Task description unclear or conflicts with PRD
230
- **Cause**: Task breakdown was too vague or PRD changed
231
- **Solution** (inline - covered by Task Blocking Protocol):
232
- - Stop and ask user for clarification
233
- - Reference PRD section if mentioned
234
- - Propose interpretation for user approval
235
- - Update task description in tasks.md after clarification
236
-
237
- ### Issue: Git commit fails (wrong strategy, hook error, etc.)
238
- **Cause**: Git configuration issue or commit hook failure
239
- **Solution**:
240
- - Show error to user
241
- - Suggest checking git status manually
242
- - Ask if should continue without commit or fix issue first
243
- - Note: Commits are convenience, not blocker - can proceed without
244
-
245
- ### Issue: Multiple [BLOCKED] tasks accumulating
246
- **Cause**: Dependencies or blockers not being resolved
247
- **Solution**:
248
- - After 3+ blocked tasks, pause and report to user
249
- - List all blockers and what's needed to resolve
250
- - Ask user to prioritize: unblock tasks OR continue with unblocked ones
251
- - Consider if project should be paused until blockers cleared
252
-
253
- ### Issue: Task completed but tests failing
254
- **Cause**: Implementation doesn't meet requirements
255
- **Solution**:
256
- - Do NOT mark task as complete if tests fail
257
- - Fix failing tests before marking [x]
258
- - If tests are incorrectly written, fix tests first
259
- - Task isn't done until tests pass
260
-
261
- ### Issue: Implementing in wrong order (skipped dependencies)
262
- **Cause**: AI agent or user jumped ahead
263
- **Solution**:
264
- - Stop and review tasks.md order
265
- - Check if skipped task was a dependency
266
- - Implement missed dependency first
267
- - Follow sequential order unless explicitly instructed otherwise
@@ -1,173 +0,0 @@
1
- ---
2
- name: "Clavix: Plan"
3
- description: Generate implementation task breakdown from PRD
4
- ---
5
-
6
- # Clavix Plan - Task Breakdown Generator
7
-
8
- You are helping the user generate a CLEAR-optimized implementation task breakdown from their PRD.
9
-
10
- ## Instructions
11
-
12
- ### Part A: Procedural Steps (CLI Commands)
13
-
14
- 1. **Locate the PRD outputs**:
15
- - Look for the most recent artifacts in `.clavix/outputs/[project-name]/`
16
- - Accepted sources: `full-prd.md`, `quick-prd.md`, `mini-prd.md`, or `optimized-prompt.md`
17
- - **If not found**: Error inline - "No PRD found in `.clavix/outputs/`. Use `/clavix:prd` or `/clavix:summarize` first."
18
-
19
- 2. **Run the plan command**:
20
- ```bash
21
- clavix plan
22
- ```
23
-
24
- Or specify a project:
25
- ```bash
26
- clavix plan --project project-name
27
- ```
28
-
29
- Or generate tasks directly from a saved session (auto-creates mini-prd.md):
30
- ```bash
31
- clavix plan --session SESSION_ID
32
- ```
33
-
34
- The CLI will prompt you to pick a project when multiple outputs are available.
35
-
36
- ### Part B: Behavioral Guidance (Task Breakdown Strategy)
37
-
38
- 3. **How to structure tasks** (CLEAR-optimized task breakdown):
39
-
40
- **Task Granularity Principles:**
41
- - **[C] Concise**: Each task = 1 clear action (not "Build authentication system", but "Create user registration endpoint")
42
- - **[L] Logical**: Tasks flow in implementation order (database schema → backend logic → frontend UI)
43
- - **[E] Explicit**: Tasks specify deliverable (not "Add tests", but "Write unit tests for user service with >80% coverage")
44
-
45
- **Atomic Task Guidelines:**
46
- - **Ideal size**: Completable in 15-60 minutes
47
- - **Too large**: "Implement user authentication" → Break into registration, login, logout, password reset
48
- - **Too small**: "Import React" → Combine with "Setup component structure"
49
- - **Dependencies**: If Task B needs Task A, ensure A comes first
50
-
51
- **Phase Organization:**
52
- - Group related tasks into phases (Setup, Core Features, Testing, Polish)
53
- - Each phase should be independently deployable when possible
54
- - Critical path first (must-haves before nice-to-haves)
55
-
56
- 4. **Review and customize generated tasks**:
57
- - The command will generate `tasks.md` in the PRD folder
58
- - Tasks are organized into logical phases with CLEAR principles
59
- - Each task includes:
60
- - Checkbox `- [ ]` for tracking
61
- - Clear deliverable description
62
- - Optional reference to PRD section `(ref: PRD Section)`
63
- - **You can edit tasks.md** before implementing:
64
- - Add/remove tasks
65
- - Adjust granularity
66
- - Reorder for better flow
67
- - Add notes or sub-tasks
68
-
69
- 5. **CLEAR Task Labeling** (optional, for education):
70
- When reviewing tasks, you can annotate improvements:
71
- - **[C]**: "Split vague 'Add UI' into 3 concrete tasks"
72
- - **[L]**: "Reordered tasks: database schema before API endpoints"
73
- - **[E]**: "Added specific acceptance criteria (>80% test coverage)"
74
-
75
- 6. **Next steps**:
76
- - Review and edit `tasks.md` if needed
77
- - Then run `/clavix:implement` to start implementation
78
-
79
- ## Task Format
80
-
81
- The generated `tasks.md` will look like:
82
-
83
- ```markdown
84
- # Implementation Tasks
85
-
86
- **Project**: [Project Name]
87
- **Generated**: [Timestamp]
88
-
89
- ---
90
-
91
- ## Phase 1: Feature Name
92
- - [ ] Task 1 description (ref: PRD Section)
93
- - [ ] Task 2 description
94
- - [ ] Task 3 description
95
-
96
- ## Phase 2: Another Feature
97
- - [ ] Task 4 description
98
- - [ ] Task 5 description
99
-
100
- ---
101
-
102
- *Generated by Clavix /clavix:plan*
103
- ```
104
-
105
- ## Workflow Navigation
106
-
107
- **You are here:** Plan (Task Breakdown)
108
-
109
- **Common workflows:**
110
- - **PRD workflow**: `/clavix:prd` → `/clavix:plan` → `/clavix:implement` → `/clavix:archive`
111
- - **Conversation workflow**: `/clavix:summarize` → `/clavix:plan` → `/clavix:implement` → `/clavix:archive`
112
- - **Standalone**: [Existing PRD] → `/clavix:plan` → Review tasks.md → `/clavix:implement`
113
-
114
- **Related commands:**
115
- - `/clavix:prd` - Generate PRD (typical previous step)
116
- - `/clavix:summarize` - Extract mini-PRD from conversation (alternative previous step)
117
- - `/clavix:implement` - Execute generated tasks (next step)
118
-
119
- ## Tips
120
-
121
- - Tasks are automatically optimized using CLEAR framework
122
- - Each task is concise and actionable
123
- - Tasks can reference specific PRD sections
124
- - Supports mini-PRD outputs from `/clavix:summarize` and session workflows via `--session` or `--active-session`
125
- - You can manually edit tasks.md before implementing
126
- - Use `--overwrite` flag to regenerate if needed
127
-
128
- ## Troubleshooting
129
-
130
- ### Issue: No PRD found in `.clavix/outputs/`
131
- **Cause**: User hasn't generated a PRD yet
132
- **Solution** (inline - already in template):
133
- - Show error: "No PRD found in `.clavix/outputs/`"
134
- - Suggest: "Use `/clavix:prd` or `/clavix:summarize` to generate one first"
135
- - Do not proceed with plan generation
136
-
137
- ### Issue: Generated tasks are too granular (100+ tasks)
138
- **Cause**: Over-decomposition or large project scope
139
- **Solution**:
140
- - Group related micro-tasks into larger atomic tasks
141
- - Each task should be 15-60 minutes, not 5 minutes
142
- - Combine setup/configuration tasks
143
- - Suggest breaking project into multiple PRDs if truly massive
144
-
145
- ### Issue: Generated tasks are too high-level (only 3-4 tasks)
146
- **Cause**: PRD was too vague or task breakdown too coarse
147
- **Solution**:
148
- - Review PRD - if vague, regenerate with more detail
149
- - Break each high-level task into 3-5 concrete sub-tasks
150
- - Each task should have a clear, testable deliverable
151
-
152
- ### Issue: Tasks don't follow logical dependency order
153
- **Cause**: Generator didn't detect dependencies correctly
154
- **Solution**:
155
- - Manually reorder in tasks.md (database before API, API before UI)
156
- - Follow CLEAR [L] Logic principle: ensure sequential coherence
157
- - Group by technical layers or feature completion
158
-
159
- ### Issue: Tasks conflict with PRD or duplicate work
160
- **Cause**: Misinterpretation of PRD or redundant task generation
161
- **Solution**:
162
- - Review PRD and tasks side-by-side
163
- - Remove duplicate tasks
164
- - Align tasks with PRD requirements
165
- - Use `--overwrite` to regenerate after PRD clarification
166
-
167
- ### Issue: `tasks.md` already exists, unsure if should regenerate
168
- **Cause**: Previous plan exists for this PRD
169
- **Solution**:
170
- - Check if tasks.md has progress (any [x] checkboxes)
171
- - If no progress: Safe to use `--overwrite`
172
- - If progress exists: Review carefully before overwriting
173
- - Consider manual edits instead of full regeneration