@onion-ai/cli 1.0.0-beta.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 (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +529 -0
  3. package/bin/onion.js +6 -0
  4. package/framework/CLAUDE.md +45 -0
  5. package/framework/VERSION +1 -0
  6. package/framework/agents/compliance/iso-22301-specialist.md +985 -0
  7. package/framework/agents/compliance/iso-27001-specialist.md +713 -0
  8. package/framework/agents/compliance/pmbok-specialist.md +739 -0
  9. package/framework/agents/compliance/security-information-master.md +907 -0
  10. package/framework/agents/compliance/soc2-specialist.md +889 -0
  11. package/framework/agents/deployment/docker-specialist.md +1192 -0
  12. package/framework/agents/development/c4-architecture-specialist.md +745 -0
  13. package/framework/agents/development/c4-documentation-specialist.md +695 -0
  14. package/framework/agents/development/clickup-specialist.md +396 -0
  15. package/framework/agents/development/cursor-specialist.md +277 -0
  16. package/framework/agents/development/docs-reverse-engineer.md +417 -0
  17. package/framework/agents/development/gamma-api-specialist.md +1168 -0
  18. package/framework/agents/development/gitflow-specialist.md +1206 -0
  19. package/framework/agents/development/linux-security-specialist.md +675 -0
  20. package/framework/agents/development/mermaid-specialist.md +515 -0
  21. package/framework/agents/development/nodejs-specialist.md +672 -0
  22. package/framework/agents/development/nx-migration-specialist.md +866 -0
  23. package/framework/agents/development/nx-monorepo-specialist.md +618 -0
  24. package/framework/agents/development/postgres-specialist.md +1123 -0
  25. package/framework/agents/development/react-developer.md +131 -0
  26. package/framework/agents/development/runflow-specialist.md +277 -0
  27. package/framework/agents/development/system-documentation-orchestrator.md +1387 -0
  28. package/framework/agents/development/task-specialist.md +677 -0
  29. package/framework/agents/git/branch-code-reviewer.md +225 -0
  30. package/framework/agents/git/branch-documentation-writer.md +161 -0
  31. package/framework/agents/git/branch-metaspec-checker.md +67 -0
  32. package/framework/agents/git/branch-test-planner.md +176 -0
  33. package/framework/agents/meta/agent-creator-specialist.md +1266 -0
  34. package/framework/agents/meta/command-creator-specialist.md +1676 -0
  35. package/framework/agents/meta/metaspec-gate-keeper.md +240 -0
  36. package/framework/agents/meta/onion.md +824 -0
  37. package/framework/agents/product/branding-positioning-specialist.md +1029 -0
  38. package/framework/agents/product/extract-meeting-specialist.md +394 -0
  39. package/framework/agents/product/meeting-consolidator.md +482 -0
  40. package/framework/agents/product/pain-price-specialist.md +508 -0
  41. package/framework/agents/product/presentation-orchestrator.md +1190 -0
  42. package/framework/agents/product/product-agent.md +201 -0
  43. package/framework/agents/product/story-points-framework-specialist.md +538 -0
  44. package/framework/agents/product/storytelling-business-specialist.md +890 -0
  45. package/framework/agents/research/research-agent.md +292 -0
  46. package/framework/agents/review/code-reviewer.md +154 -0
  47. package/framework/agents/review/corporate-compliance-specialist.md +370 -0
  48. package/framework/agents/testing/test-agent.md +424 -0
  49. package/framework/agents/testing/test-engineer.md +294 -0
  50. package/framework/agents/testing/test-planner.md +117 -0
  51. package/framework/commands/common/prompts/README.md +208 -0
  52. package/framework/commands/common/prompts/clickup-patterns.md +144 -0
  53. package/framework/commands/common/prompts/code-review-checklist.md +168 -0
  54. package/framework/commands/common/prompts/git-workflow-patterns.md +235 -0
  55. package/framework/commands/common/prompts/output-formats.md +240 -0
  56. package/framework/commands/common/prompts/technical.md +194 -0
  57. package/framework/commands/common/templates/abstraction-template.md +399 -0
  58. package/framework/commands/common/templates/agent-template.md +353 -0
  59. package/framework/commands/common/templates/business_context_template.md +748 -0
  60. package/framework/commands/common/templates/command-template.md +273 -0
  61. package/framework/commands/common/templates/technical_context_template.md +526 -0
  62. package/framework/commands/design/screen-spec.md +505 -0
  63. package/framework/commands/development/runflow-dev.md +465 -0
  64. package/framework/commands/docs/build-business-docs.md +299 -0
  65. package/framework/commands/docs/build-compliance-docs.md +143 -0
  66. package/framework/commands/docs/build-index.md +119 -0
  67. package/framework/commands/docs/build-tech-docs.md +221 -0
  68. package/framework/commands/docs/docs-health.md +141 -0
  69. package/framework/commands/docs/help.md +278 -0
  70. package/framework/commands/docs/refine-vision.md +25 -0
  71. package/framework/commands/docs/reverse-consolidate.md +158 -0
  72. package/framework/commands/docs/sync-sessions.md +354 -0
  73. package/framework/commands/docs/validate-docs.md +157 -0
  74. package/framework/commands/engineer/bump.md +29 -0
  75. package/framework/commands/engineer/docs.md +11 -0
  76. package/framework/commands/engineer/hotfix.md +183 -0
  77. package/framework/commands/engineer/plan.md +85 -0
  78. package/framework/commands/engineer/pr-update.md +219 -0
  79. package/framework/commands/engineer/pr.md +117 -0
  80. package/framework/commands/engineer/pre-pr.md +81 -0
  81. package/framework/commands/engineer/start.md +254 -0
  82. package/framework/commands/engineer/validate-phase-sync.md +134 -0
  83. package/framework/commands/engineer/warm-up.md +20 -0
  84. package/framework/commands/engineer/work.md +155 -0
  85. package/framework/commands/f/company-context-extractor.md +93 -0
  86. package/framework/commands/f/process-meetings.md +103 -0
  87. package/framework/commands/git/README.md +682 -0
  88. package/framework/commands/git/code-review.md +213 -0
  89. package/framework/commands/git/fast-commit.md +43 -0
  90. package/framework/commands/git/feature/finish.md +88 -0
  91. package/framework/commands/git/feature/publish.md +89 -0
  92. package/framework/commands/git/feature/start.md +172 -0
  93. package/framework/commands/git/help.md +100 -0
  94. package/framework/commands/git/hotfix/finish.md +96 -0
  95. package/framework/commands/git/hotfix/start.md +92 -0
  96. package/framework/commands/git/init.md +111 -0
  97. package/framework/commands/git/release/finish.md +96 -0
  98. package/framework/commands/git/release/start.md +93 -0
  99. package/framework/commands/git/sync.md +199 -0
  100. package/framework/commands/meta/all-tools.md +58 -0
  101. package/framework/commands/meta/analyze-complex-problem.md +186 -0
  102. package/framework/commands/meta/create-abstraction.md +882 -0
  103. package/framework/commands/meta/create-agent-express.md +98 -0
  104. package/framework/commands/meta/create-agent.md +210 -0
  105. package/framework/commands/meta/create-command.md +203 -0
  106. package/framework/commands/meta/create-knowledge-base.md +143 -0
  107. package/framework/commands/meta/create-task-structure.md +150 -0
  108. package/framework/commands/meta/setup-integration.md +274 -0
  109. package/framework/commands/onion.md +169 -0
  110. package/framework/commands/product/README.md +249 -0
  111. package/framework/commands/product/analyze-pain-price.md +694 -0
  112. package/framework/commands/product/branding.md +458 -0
  113. package/framework/commands/product/check.md +46 -0
  114. package/framework/commands/product/checklist-sync.md +239 -0
  115. package/framework/commands/product/collect.md +95 -0
  116. package/framework/commands/product/consolidate-meetings.md +291 -0
  117. package/framework/commands/product/estimate.md +511 -0
  118. package/framework/commands/product/extract-meeting.md +226 -0
  119. package/framework/commands/product/feature.md +416 -0
  120. package/framework/commands/product/light-arch.md +82 -0
  121. package/framework/commands/product/presentation.md +174 -0
  122. package/framework/commands/product/refine.md +161 -0
  123. package/framework/commands/product/spec.md +79 -0
  124. package/framework/commands/product/task-check.md +378 -0
  125. package/framework/commands/product/task.md +603 -0
  126. package/framework/commands/product/validate-task.md +325 -0
  127. package/framework/commands/product/warm-up.md +24 -0
  128. package/framework/commands/quick/analisys.md +17 -0
  129. package/framework/commands/test/e2e.md +377 -0
  130. package/framework/commands/test/integration.md +508 -0
  131. package/framework/commands/test/unit.md +381 -0
  132. package/framework/commands/validate/collab/pair-testing.md +657 -0
  133. package/framework/commands/validate/collab/three-amigos.md +534 -0
  134. package/framework/commands/validate/qa-points/estimate.md +660 -0
  135. package/framework/commands/validate/test-strategy/analyze.md +1201 -0
  136. package/framework/commands/validate/test-strategy/create.md +411 -0
  137. package/framework/commands/validate/workflow.md +370 -0
  138. package/framework/commands/warm-up.md +20 -0
  139. package/framework/docs/architecture/acoplamento-clickup-problema-analise.md +468 -0
  140. package/framework/docs/architecture/desacoplamento-roadmap.md +364 -0
  141. package/framework/docs/architecture/validacao-fase-1.md +235 -0
  142. package/framework/docs/c4/c4-detection-rules.md +395 -0
  143. package/framework/docs/c4/c4-documentation-templates.md +579 -0
  144. package/framework/docs/c4/c4-mermaid-patterns.md +331 -0
  145. package/framework/docs/c4/c4-templates.md +256 -0
  146. package/framework/docs/clickup/clickup-acceptance-criteria-strategy.md +329 -0
  147. package/framework/docs/clickup/clickup-auto-update-strategy.md +340 -0
  148. package/framework/docs/clickup/clickup-comment-formatter.md +239 -0
  149. package/framework/docs/clickup/clickup-description-fix.md +384 -0
  150. package/framework/docs/clickup/clickup-dual-comment-strategy.md +528 -0
  151. package/framework/docs/clickup/clickup-formatting.md +302 -0
  152. package/framework/docs/clickup/separador-tamanho-otimizado.md +258 -0
  153. package/framework/docs/engineer/pre-pr-acceptance-validation.md +256 -0
  154. package/framework/docs/onion/ESPERANTO.md +293 -0
  155. package/framework/docs/onion/agents-reference.md +832 -0
  156. package/framework/docs/onion/clickup-integration.md +780 -0
  157. package/framework/docs/onion/commands-guide.md +924 -0
  158. package/framework/docs/onion/engineering-flows.md +900 -0
  159. package/framework/docs/onion/getting-started.md +803 -0
  160. package/framework/docs/onion/maintenance-checklist.md +421 -0
  161. package/framework/docs/onion/naming-conventions.md +286 -0
  162. package/framework/docs/onion/practical-examples.md +854 -0
  163. package/framework/docs/product/story-points-integration.md +269 -0
  164. package/framework/docs/product/story-points-validation.md +237 -0
  165. package/framework/docs/reviews/task-manager-docs-review-2025-11-24.md +184 -0
  166. package/framework/docs/strategies/clickup-comment-patterns.md +766 -0
  167. package/framework/docs/strategies/clickup-integration-tests.md +602 -0
  168. package/framework/docs/strategies/clickup-mcp-wrappers-tests.md +888 -0
  169. package/framework/docs/strategies/clickup-regression-tests.md +587 -0
  170. package/framework/docs/strategies/visual-patterns.md +315 -0
  171. package/framework/docs/templates/README.md +649 -0
  172. package/framework/docs/templates/adr-template.md +226 -0
  173. package/framework/docs/templates/analysis-template.md +280 -0
  174. package/framework/docs/templates/execution-plan-template.md +430 -0
  175. package/framework/docs/templates/guide-template.md +367 -0
  176. package/framework/docs/templates/phase-execution-prompt-template.md +504 -0
  177. package/framework/docs/templates/reference-template.md +522 -0
  178. package/framework/docs/templates/solution-template.md +390 -0
  179. package/framework/docs/tools/README.md +356 -0
  180. package/framework/docs/tools/agents.md +365 -0
  181. package/framework/docs/tools/commands.md +669 -0
  182. package/framework/docs/tools/cursor.md +539 -0
  183. package/framework/docs/tools/mcps.md +937 -0
  184. package/framework/docs/tools/rules.md +461 -0
  185. package/framework/rules/language-and-documentation.mdc +371 -0
  186. package/framework/rules/nestjs-controllers.md +83 -0
  187. package/framework/rules/nestjs-dtos.md +255 -0
  188. package/framework/rules/nestjs-modules.md +141 -0
  189. package/framework/rules/nestjs-services.md +230 -0
  190. package/framework/rules/nx-rules.mdc +41 -0
  191. package/framework/rules/onion-patterns.mdc +197 -0
  192. package/framework/skills/codebase-visualizer/SKILL.md +26 -0
  193. package/framework/skills/codebase-visualizer/scripts/visualize.py +131 -0
  194. package/framework/skills/collect/SKILL.md +84 -0
  195. package/framework/skills/create-rule/SKILL.md +152 -0
  196. package/framework/skills/db-schema-visualizer/SKILL.md +49 -0
  197. package/framework/skills/db-schema-visualizer/scripts/visualize.py +1191 -0
  198. package/framework/skills/sync-meetings/SKILL.md +239 -0
  199. package/framework/utils/clickup-mcp-wrappers.md +744 -0
  200. package/framework/utils/date-time-standards.md +200 -0
  201. package/framework/utils/task-manager/README.md +94 -0
  202. package/framework/utils/task-manager/adapters/asana.md +377 -0
  203. package/framework/utils/task-manager/adapters/clickup.md +467 -0
  204. package/framework/utils/task-manager/adapters/linear.md +421 -0
  205. package/framework/utils/task-manager/detector.md +299 -0
  206. package/framework/utils/task-manager/factory.md +363 -0
  207. package/framework/utils/task-manager/interface.md +248 -0
  208. package/framework/utils/task-manager/types.md +409 -0
  209. package/package.json +41 -0
  210. package/src/cli.js +73 -0
  211. package/src/commands/doctor.js +191 -0
  212. package/src/commands/init.js +287 -0
  213. package/src/commands/install.js +261 -0
  214. package/src/commands/list.js +152 -0
  215. package/src/commands/uninstall.js +90 -0
  216. package/src/commands/update.js +26 -0
  217. package/src/utils/fs.js +89 -0
  218. package/src/utils/log.js +35 -0
  219. package/src/utils/paths.js +32 -0
  220. package/src/utils/prompt.js +76 -0
@@ -0,0 +1,603 @@
1
+ ---
2
+ name: task
3
+ description: |
4
+ Task creation with intelligent hierarchical decomposition.
5
+ Use to create structured tasks with subtasks and action items.
6
+ Supports: ClickUp, Asana, Linear (via TASK_MANAGER_PROVIDER).
7
+ model: sonnet
8
+ parameters:
9
+ - name: description
10
+ description: Task description
11
+ required: true
12
+ - name: project_name
13
+ description: Project/list name (optional)
14
+ required: false
15
+
16
+ category: product
17
+ tags:
18
+ - task
19
+ - task-manager
20
+ - decomposition
21
+
22
+ version: '3.0.0'
23
+ updated: '2025-11-24'
24
+
25
+ related_commands:
26
+ - /product/spec
27
+ - /product/estimate
28
+ - /engineer/start
29
+
30
+ related_agents:
31
+ - task-specialist
32
+ - product-agent
33
+ - story-points-framework-specialist
34
+ ---
35
+
36
+ # 🚀 Task Creation with Decomposition
37
+
38
+ Create structured tasks in the configured task manager.
39
+
40
+ ## 🚨 MANDATORY ACTION FIRST: Detect Provider
41
+
42
+ **⚠️ CRITICAL - EXECUTE BEFORE ANY OTHER ACTION:**
43
+
44
+ **STEP 0 (MANDATORY):** Read `.env` file to detect `TASK_MANAGER_PROVIDER`
45
+
46
+ ```bash
47
+ # EXECUTE FIRST: Read .env using read_file
48
+ read_file .env
49
+ ```
50
+
51
+ **AFTER READING .env, EXTRACT:**
52
+
53
+ - Value of `TASK_MANAGER_PROVIDER` (can be: `clickup`, `asana`, `linear`, or `none`)
54
+ - If `TASK_MANAGER_PROVIDER=clickup`: verify if `CLICKUP_API_TOKEN` exists
55
+ - If `TASK_MANAGER_PROVIDER=asana`: verify if `ASANA_ACCESS_TOKEN` exists
56
+ - If `TASK_MANAGER_PROVIDER=linear`: verify if `LINEAR_API_KEY` exists
57
+ - If `TASK_MANAGER_PROVIDER=none` or doesn't exist: offline mode
58
+
59
+ **⚠️ NEVER ASSUME THE PROVIDER - ALWAYS READ .env FIRST**
60
+
61
+ ## 🔧 Prerequisite: Verify Provider
62
+
63
+ Before creating tasks, verify configuration:
64
+
65
+ 1. ✅ **READ `.env` using `read_file .env`** (MANDATORY)
66
+ 2. Extract `TASK_MANAGER_PROVIDER` from read content
67
+ 3. If not configured or "none":
68
+ - Warn: "⚠️ No task manager configured. Run /meta/setup-integration"
69
+ - Continue with local structure (no synchronization)
70
+ 4. If configured:
71
+ - Use corresponding adapter from `.claude/utils/task-manager/adapters/`
72
+ - **IF `TASK_MANAGER_PROVIDER=asana`: use `mcp_asana_*` tools**
73
+ - **IF `TASK_MANAGER_PROVIDER=clickup`: use `mcp_ClickUp_*` tools**
74
+
75
+ ## 🎯 Objective
76
+
77
+ Establish solid foundation for development with Task → Subtask → Action Item decomposition.
78
+
79
+ ## ⚡ Execution Flow
80
+
81
+ ### Step 1: Detect Provider and Configuration
82
+
83
+ **CRITICAL:** Execute these actions in EXACT order:
84
+
85
+ 1. **MANDATORY - Read `.env` to detect provider:**
86
+
87
+ ```bash
88
+ # EXECUTE FIRST: Read .env file
89
+ read_file .env
90
+
91
+ # EXTRACT from read content:
92
+ # - TASK_MANAGER_PROVIDER=??? (clickup, asana, linear, or none)
93
+ # - Verify corresponding required variables:
94
+ # * If clickup: CLICKUP_API_TOKEN
95
+ # * If asana: ASANA_ACCESS_TOKEN
96
+ # * If linear: LINEAR_API_KEY
97
+ ```
98
+
99
+ 2. **Validate configuration based on EXTRACTED value:**
100
+
101
+ ```markdown
102
+ IF extracted TASK*MANAGER_PROVIDER = 'clickup':
103
+ ✅ Verify CLICKUP_API_TOKEN exists in read .env
104
+ ✅ If doesn't exist: warn and continue in offline mode
105
+ ✅ Use mcp_ClickUp*\* tools to create tasks
106
+
107
+ IF extracted TASK*MANAGER_PROVIDER = 'asana':
108
+ ✅ Verify ASANA_ACCESS_TOKEN exists in read .env
109
+ ✅ If doesn't exist: warn and continue in offline mode
110
+ ✅ Use mcp_asana*\* tools to create tasks
111
+
112
+ IF extracted TASK_MANAGER_PROVIDER = 'linear':
113
+ ✅ Verify LINEAR_API_KEY exists in read .env
114
+ ✅ If doesn't exist: warn and continue in offline mode
115
+
116
+ IF extracted TASK_MANAGER_PROVIDER = 'none' or not found:
117
+ ⚠️ Offline mode - tasks will not be synchronized
118
+ 💡 Warn: Run /meta/setup-integration to configure
119
+ ```
120
+
121
+ 3. **Resolve project/list (if `project_name` provided):**
122
+
123
+ ```markdown
124
+ IF project_name provided:
125
+
126
+ - ClickUp: use mcp_ClickUp_clickup_get_list with list_name
127
+ - Asana: use mcp_asana_asana_get_projects and search by name
128
+ - If not found: ask user or use default
129
+
130
+ IF project_name not provided:
131
+
132
+ - ClickUp: use CLICKUP_DEFAULT_LIST_ID from .env
133
+ - Asana: use ASANA_DEFAULT_PROJECT_ID from .env
134
+ - If not configured: list options and ask user
135
+ ```
136
+
137
+ ### Step 2: Context Analysis
138
+
139
+ ```bash
140
+ # Review project documentation
141
+ read_file README.md
142
+ ls docs/*.md
143
+
144
+ # Understand existing structure
145
+ list_dir src/
146
+ ```
147
+
148
+ ### Step 3: Deep Analysis and Understanding
149
+
150
+ **ALWAYS follow this mandatory sequence:**
151
+
152
+ #### 📚 Documentation Review (MANDATORY)
153
+
154
+ 1. **Review FIRST the project's current documentation**: README.md and .md files in `docs/` folder
155
+ 2. **Analyze existing structure** based on reviewed documentation
156
+ 3. **Identify patterns and technologies** already established in the project
157
+
158
+ #### 🤔 Task Understanding
159
+
160
+ 1. **Read carefully** the provided task description: `{{description}}`
161
+ 2. **Formulate internal questions** to clarify ambiguities or missing information
162
+ 3. **Analyze how the task fits** into the existing project structure
163
+ 4. **Identify complexity, dependencies and applicable patterns**:
164
+ - Simple (1-3 days): 2-3 subtasks
165
+ - Medium (4-7 days): 3-4 subtasks
166
+ - Complex (1-2 weeks): 4-6 subtasks
167
+ - Epic (>2 weeks): Break into multiple tasks
168
+
169
+ #### ✅ Confirmation and Clarification (MANDATORY)
170
+
171
+ 1. **Before proceeding**, confirm your understanding of the task
172
+ 2. **If more information is needed**, state which additional details would be useful
173
+ 3. **ALWAYS present your plan** to the user before creating the task
174
+ 4. **Ask for explicit confirmation** before executing creation in Task Manager
175
+
176
+ ### Step 4: Final Plan Presentation (MANDATORY BEFORE CREATING)
177
+
178
+ **⚠️ CRITICAL: NEVER create task without presenting plan and obtaining confirmation**
179
+
180
+ **MANDATORY: Present your plan to the user and ask for confirmation before creating:**
181
+
182
+ ```markdown
183
+ ## 🎯 PROPOSED TASK PLAN
184
+
185
+ ### **📋 Main Task**
186
+
187
+ **Name**: [TASK_NAME]
188
+ **Type**: [Feature/Bug/Improvement/Research]
189
+ **Complexity**: [Simple/Medium/High]
190
+ **Estimate**: [ESTIMATED_TIME]
191
+
192
+ ### **📝 Functional Description**
193
+
194
+ [CLEAR_DESCRIPTION_OF_OBJECTIVE]
195
+
196
+ ### **🏗️ Technical Architecture**
197
+
198
+ [TECHNICAL_DETAIL_AND_IMPLEMENTATION]
199
+
200
+ ### **📚 Suggested Libraries/Dependencies**
201
+
202
+ [DEPENDENCY_LIST_PRIORITIZING_KNOWN_ONES]
203
+
204
+ ### **🔧 Affected Components**
205
+
206
+ [COMPONENTS_TO_BE_MODIFIED]
207
+
208
+ ### **✅ Acceptance Criteria**
209
+
210
+ - [ ] [CRITERION_1]
211
+ - [ ] [CRITERION_2]
212
+ - [ ] [CRITERION_3]
213
+
214
+ ### **🧪 Testing Points of Attention**
215
+
216
+ [TEST_STRATEGY_AND_VALIDATION]
217
+
218
+ ❓ **Is this plan correct? Can I proceed with task creation in the Task Manager?** [Y/n]
219
+ ```
220
+
221
+ **⚠️ IMPORTANT:**
222
+
223
+ - **WAIT for explicit user confirmation** before proceeding
224
+ - **DO NOT create task** until receiving confirmation
225
+ - **If user requests adjustments**, revise plan and present again
226
+
227
+ ### Step 5: Hierarchical Decomposition (AFTER CONFIRMATION)
228
+
229
+ Consult @task-specialist for structure:
230
+
231
+ ```
232
+ 📋 TASK (High-Level Objective)
233
+ ├── 🔧 Subtask 1 (Functional Component)
234
+ │ ├── ✅ Action Item 1.1 (1-4h)
235
+ │ ├── ✅ Action Item 1.2 (1-4h)
236
+ │ └── ✅ Action Item 1.3 (1-4h)
237
+ └── 🔧 Subtask 2 (Functional Component)
238
+ ├── ✅ Action Item 2.1 (1-4h)
239
+ └── ✅ Action Item 2.2 (1-4h)
240
+ ```
241
+
242
+ ### Step 6: Estimate Story Points (Automatic)
243
+
244
+ **CRITICAL:** After decomposition, ALWAYS estimate story points for main task and each subtask.
245
+
246
+ #### 6.1. Estimate Main Task
247
+
248
+ ```markdown
249
+ @story-points-framework-specialist
250
+
251
+ Please analyze and estimate the following task:
252
+
253
+ **Main Task:** {{description}}
254
+ **Identified Subtasks:** [list of subtasks]
255
+ **Initial Complexity:** [simple/medium/complex]
256
+
257
+ Provide:
258
+
259
+ 1. Story points for main task
260
+ 2. Analysis of complexity, risk and uncertainty
261
+ 3. Recommendations (breakdown, risks, dependencies)
262
+ ```
263
+
264
+ **Expected output:**
265
+
266
+ - Main task story points
267
+ - Complete factor analysis
268
+ - Recommendations
269
+
270
+ #### 6.2. Estimate Each Subtask
271
+
272
+ ```markdown
273
+ For each identified subtask:
274
+
275
+ @story-points-framework-specialist
276
+
277
+ **Subtask:** [subtask name]
278
+ **Description:** [subtask description]
279
+ **Action items:** [list of action items]
280
+
281
+ Estimate story points for this subtask.
282
+ ```
283
+
284
+ **Store:**
285
+
286
+ - Story points per subtask
287
+ - Total points (sum of subtasks)
288
+
289
+ #### 6.3. Validate Consistency
290
+
291
+ ```markdown
292
+ IF sum(subtasks) > main_task:
293
+ ⚠️ WARNING: Sum of subtasks greater than main task
294
+ Adjust main task to: sum(subtasks)
295
+
296
+ IF main_task > 13 points:
297
+ ⚠️ ALERT: Task identified as EPIC
298
+ Propose breaking into smaller tasks
299
+ ```
300
+
301
+ ### Step 7: Create in Manager (AFTER USER CONFIRMATION)
302
+
303
+ **🚨 CRITICAL EXECUTION ORDER:**
304
+
305
+ **⚠️ ALWAYS FOLLOW THIS ORDER:**
306
+
307
+ 1. **FIRST**: Create task in Task Manager (record what WILL be done)
308
+ 2. **THEN**: If task involves immediate work (e.g., delete files, make changes), execute the work
309
+ 3. **LAST**: Update task with result (comments, status, evidence)
310
+
311
+ **❌ NEVER DO:**
312
+
313
+ - Execute work before creating the task
314
+ - Create task after work is already done
315
+ - Assume work was done before creating the task
316
+
317
+ **✅ ALWAYS:**
318
+
319
+ - Create task first to record intention
320
+ - Execute work after task is created (if applicable)
321
+ - Update task with progress and result
322
+
323
+ **CRITICAL:**
324
+
325
+ - ✅ Use MCP tools directly (`mcp_ClickUp_*`, `mcp_asana_*`)
326
+ - ✅ Follow Task Manager abstraction pattern to normalize input/output
327
+ - ✅ Consult `.claude/utils/task-manager/interface.md` for data format
328
+ - ✅ Consult `.claude/utils/task-manager/adapters/{provider}.md` for specific mappings
329
+
330
+ **IMPORTANT:** Even when using MCP directly, data must follow abstraction pattern:
331
+
332
+ - Normalized input (priority: urgent/high/normal/low)
333
+ - Normalized output (TaskOutput with standardized fields)
334
+ - Status mapping according to interface
335
+
336
+ #### 6.1. Prepare Normalized Data (Abstraction Pattern)
337
+
338
+ ```markdown
339
+ Prepare normalized structure following ITaskManager interface:
340
+
341
+ **Main Task:**
342
+
343
+ - name: "{{description}}"
344
+ - markdownDescription: [markdown format with objective, criteria, story points]
345
+ - priority: 'high' (normalized: urgent/high/normal/low)
346
+ - tags: ['feature']
347
+ - projectId: [resolved in Step 1]
348
+
349
+ **Each Subtask:**
350
+
351
+ - name: [subtask name]
352
+ - markdownDescription: [description + story points]
353
+ - priority: [inherit from main task or 'normal']
354
+ - tags: [subtask tags if any]
355
+ ```
356
+
357
+ #### 6.2. Create Main Task (Execute MCP)
358
+
359
+ **IF provider = 'clickup':**
360
+
361
+ ```markdown
362
+ 1. Call mcp_ClickUp_clickup_create_task with:
363
+ - list_id: [resolved projectId]
364
+ - name: [normalized name]
365
+ - markdown_description: [complete markdown description]
366
+ - priority: 'high' (map: high → 'high' in ClickUp)
367
+ - tags: ['feature']
368
+ - workspace_id: [CLICKUP_WORKSPACE_ID from .env, if available]
369
+
370
+ 2. Extract task.id from response
371
+ 3. Store task.url for final output
372
+ ```
373
+
374
+ **IF provider = 'asana':**
375
+
376
+ ```markdown
377
+ 1. Call mcp_asana_asana_create_task with:
378
+ - name: [normalized name]
379
+ - html_notes: [markdown description converted to HTML]
380
+ - project_id: [resolved projectId]
381
+ - workspace: [ASANA_WORKSPACE_ID from .env, if available]
382
+
383
+ 2. Extract task.gid from response (data.gid)
384
+ 3. Build URL: https://app.asana.com/0/0/{gid}
385
+ ```
386
+
387
+ **IF provider = 'none' or not configured:**
388
+
389
+ ```markdown
390
+ ⚠️ Offline mode - create local structure only
391
+
392
+ - Generate local ID: local-{timestamp}
393
+ - Create document in .claude/sessions/tasks/{id}.md
394
+ - Warn that it will not be synchronized
395
+ ```
396
+
397
+ #### 6.3. Create Subtasks (Execute MCP)
398
+
399
+ **For each subtask in decomposition:**
400
+
401
+ **IF provider = 'clickup':**
402
+
403
+ ```markdown
404
+ Call mcp_ClickUp_clickup_create_task with:
405
+
406
+ - list_id: [same list_id as main task]
407
+ - parent: [task.id of created main task]
408
+ - name: [subtask name]
409
+ - markdown_description: [description + story points]
410
+ - priority: [map to ClickUp]
411
+ - tags: [subtask tags]
412
+ ```
413
+
414
+ **IF provider = 'asana':**
415
+
416
+ ```markdown
417
+ Call mcp_asana_asana_create_task with:
418
+
419
+ - name: [subtask name]
420
+ - html_notes: [description + story points in HTML]
421
+ - parent: [task.gid of main task]
422
+ - workspace: [ASANA_WORKSPACE_ID]
423
+ ```
424
+
425
+ **IF provider = 'none':**
426
+
427
+ ```markdown
428
+ Create local document: .claude/sessions/tasks/{parent-id}/subtasks/{subtask-id}.md
429
+ ```
430
+
431
+ #### 6.4. Add Initial Comment (Execute MCP)
432
+
433
+ **Prepare formatted comment:**
434
+
435
+ ```markdown
436
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
437
+ 🚀 TASK CREATED VIA /product/task
438
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
439
+
440
+ 📊 COMPLEXITY: ${complexity}
441
+ 🎲 STORY POINTS:
442
+ ∟ Main Task: ${mainTaskStoryPoints} points
443
+ ∟ Subtasks: ${subtasksPoints} points (${subtasks.length} subtasks)
444
+ ∟ Total: ${totalPoints} points
445
+
446
+ ⚡ FACTORS:
447
+ ${factorsSummary}
448
+
449
+ 💡 RECOMMENDATIONS:
450
+ ${recommendations}
451
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
452
+ ```
453
+
454
+ **IF provider = 'clickup':**
455
+
456
+ ```markdown
457
+ Call mcp_ClickUp_clickup_create_task_comment with:
458
+
459
+ - task_id: [task.id]
460
+ - comment_text: [formatted comment above]
461
+ ```
462
+
463
+ **IF provider = 'asana':**
464
+
465
+ ```markdown
466
+ Call mcp_asana_asana_create_task_story with:
467
+
468
+ - task_id: [task.gid]
469
+ - text: [formatted comment above]
470
+ ```
471
+
472
+ **IF provider = 'none':**
473
+
474
+ ```markdown
475
+ Add comment to local document
476
+ ```
477
+
478
+ #### 6.5. Normalize Output (Abstraction Pattern)
479
+
480
+ ```markdown
481
+ After creating, normalize response to standard format:
482
+
483
+ **Normalized TaskOutput:**
484
+
485
+ - id: [task.id or task.gid]
486
+ - provider: [clickup/asana/none]
487
+ - name: [task name]
488
+ - url: [complete task URL]
489
+ - status: 'todo' (initial default)
490
+ - createdAt: [ISO timestamp]
491
+ - projectId: [project/list ID]
492
+ - storyPoints: [main task story points]
493
+ - subtasks: [array of normalized subtasks]
494
+ ```
495
+
496
+ ### Step 8: Execute Work (If Applicable)
497
+
498
+ **⚠️ ONLY if task involves immediate work:**
499
+
500
+ If the task description indicates work that should be executed immediately (e.g., "Remove files X", "Create structure Y", "Update configuration Z"):
501
+
502
+ 1. **AFTER creating the task in Task Manager**, execute the described work
503
+ 2. **Document what was done** during execution
504
+ 3. **Update the task** with detailed comment of the result
505
+
506
+ **If task is only for planning/future development:**
507
+
508
+ - Skip this step
509
+ - Task remains as "To Do" for later execution
510
+
511
+ ### Step 9: Update Task with Result
512
+
513
+ **If work was executed in Step 8:**
514
+
515
+ 1. **Add detailed comment** in task with:
516
+ - What was done
517
+ - Files modified/created/deleted
518
+ - Execution result
519
+ - Next steps (if any)
520
+
521
+ 2. **Update status** if appropriate:
522
+ - If work complete: status → "Done"
523
+ - If partial: status → "In Progress"
524
+ - If only planning: keep "To Do"
525
+
526
+ ### Step 10: Present Result
527
+
528
+ ## 📤 Expected Output
529
+
530
+ ```
531
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
532
+ ✅ TASK CREATED
533
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
534
+
535
+ 📋 Task: {{description}}
536
+ 🔗 URL: [provider url]
537
+ 📊 Provider: [clickup/asana/linear/local]
538
+
539
+ 🎲 STORY POINTS:
540
+ ∟ Main Task: [X] points
541
+ ∟ Subtasks: [Y] points ([N] subtasks)
542
+ ∟ Total: [Z] points
543
+
544
+ 📊 ANALYSIS:
545
+ ∟ Complexity: [high/medium/low]
546
+ ∟ Risk: [high/medium/low]
547
+ ∟ Uncertainty: [high/medium/low]
548
+
549
+ 🔧 STRUCTURE:
550
+ ├── Subtask 1: [name] - [X] points
551
+ │ ├── ✅ Item 1.1
552
+ │ └── ✅ Item 1.2
553
+ └── Subtask 2: [name] - [Y] points
554
+ └── ✅ Item 2.1
555
+
556
+ 💡 RECOMMENDATIONS:
557
+ ${recommendations}
558
+
559
+ 🚀 Next: /engineer/start [feature-slug]
560
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
561
+ ```
562
+
563
+ ## 📏 Decomposition Rules
564
+
565
+ | Type | Duration | Subtasks | Action Items/Subtask |
566
+ | ------- | -------- | -------- | -------------------- |
567
+ | Simple | 1-3d | 2-3 | 2-3 |
568
+ | Medium | 4-7d | 3-4 | 3-4 |
569
+ | Complex | 1-2wk | 4-6 | 3-5 |
570
+ | Epic | >2wk | Break | - |
571
+
572
+ ## 🔗 References
573
+
574
+ ### Task Manager Abstraction
575
+
576
+ - **Interface:** `.claude/utils/task-manager/interface.md` - Normalized input/output format
577
+ - **Detector:** `.claude/utils/task-manager/detector.md` - How to detect provider from .env
578
+ - **Adapters (Mapping Guides):**
579
+ - `.claude/utils/task-manager/adapters/clickup.md` - ClickUp MCP mapping
580
+ - `.claude/utils/task-manager/adapters/asana.md` - Asana MCP mapping
581
+ - `.claude/utils/task-manager/types.md` - Shared types
582
+
583
+ ### Decomposition and Estimates
584
+
585
+ - **Decomposition:** @task-specialist
586
+ - **Estimates:** @story-points-framework-specialist, /product/estimate
587
+ - **Framework:** `docs/knowbase/frameworks/framework_story_points.md`
588
+
589
+ ### Formatting Patterns
590
+
591
+ - **ClickUp:** `.claude/commands/common/prompts/clickup-patterns.md`
592
+ - **Formatting:** `.claude/docs/clickup/clickup-formatting.md`
593
+
594
+ ## ⚠️ Notes
595
+
596
+ - **MANDATORY:** ALWAYS present plan and ask for confirmation before creating task
597
+ - **MANDATORY:** Create task FIRST, then execute work (if applicable)
598
+ - Action items: maximum 4h each
599
+ - If epic: suggest breaking into multiple tasks
600
+ - If provider not configured: works in local mode
601
+ - **Automatic estimates:** Story points automatically calculated for main task and all subtasks
602
+ - **Validation:** If sum(subtasks) > main task, adjust main task
603
+ - **Epics:** If task > 13 points, alert and propose breakdown