@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.
- package/LICENSE +21 -0
- package/README.md +529 -0
- package/bin/onion.js +6 -0
- package/framework/CLAUDE.md +45 -0
- package/framework/VERSION +1 -0
- package/framework/agents/compliance/iso-22301-specialist.md +985 -0
- package/framework/agents/compliance/iso-27001-specialist.md +713 -0
- package/framework/agents/compliance/pmbok-specialist.md +739 -0
- package/framework/agents/compliance/security-information-master.md +907 -0
- package/framework/agents/compliance/soc2-specialist.md +889 -0
- package/framework/agents/deployment/docker-specialist.md +1192 -0
- package/framework/agents/development/c4-architecture-specialist.md +745 -0
- package/framework/agents/development/c4-documentation-specialist.md +695 -0
- package/framework/agents/development/clickup-specialist.md +396 -0
- package/framework/agents/development/cursor-specialist.md +277 -0
- package/framework/agents/development/docs-reverse-engineer.md +417 -0
- package/framework/agents/development/gamma-api-specialist.md +1168 -0
- package/framework/agents/development/gitflow-specialist.md +1206 -0
- package/framework/agents/development/linux-security-specialist.md +675 -0
- package/framework/agents/development/mermaid-specialist.md +515 -0
- package/framework/agents/development/nodejs-specialist.md +672 -0
- package/framework/agents/development/nx-migration-specialist.md +866 -0
- package/framework/agents/development/nx-monorepo-specialist.md +618 -0
- package/framework/agents/development/postgres-specialist.md +1123 -0
- package/framework/agents/development/react-developer.md +131 -0
- package/framework/agents/development/runflow-specialist.md +277 -0
- package/framework/agents/development/system-documentation-orchestrator.md +1387 -0
- package/framework/agents/development/task-specialist.md +677 -0
- package/framework/agents/git/branch-code-reviewer.md +225 -0
- package/framework/agents/git/branch-documentation-writer.md +161 -0
- package/framework/agents/git/branch-metaspec-checker.md +67 -0
- package/framework/agents/git/branch-test-planner.md +176 -0
- package/framework/agents/meta/agent-creator-specialist.md +1266 -0
- package/framework/agents/meta/command-creator-specialist.md +1676 -0
- package/framework/agents/meta/metaspec-gate-keeper.md +240 -0
- package/framework/agents/meta/onion.md +824 -0
- package/framework/agents/product/branding-positioning-specialist.md +1029 -0
- package/framework/agents/product/extract-meeting-specialist.md +394 -0
- package/framework/agents/product/meeting-consolidator.md +482 -0
- package/framework/agents/product/pain-price-specialist.md +508 -0
- package/framework/agents/product/presentation-orchestrator.md +1190 -0
- package/framework/agents/product/product-agent.md +201 -0
- package/framework/agents/product/story-points-framework-specialist.md +538 -0
- package/framework/agents/product/storytelling-business-specialist.md +890 -0
- package/framework/agents/research/research-agent.md +292 -0
- package/framework/agents/review/code-reviewer.md +154 -0
- package/framework/agents/review/corporate-compliance-specialist.md +370 -0
- package/framework/agents/testing/test-agent.md +424 -0
- package/framework/agents/testing/test-engineer.md +294 -0
- package/framework/agents/testing/test-planner.md +117 -0
- package/framework/commands/common/prompts/README.md +208 -0
- package/framework/commands/common/prompts/clickup-patterns.md +144 -0
- package/framework/commands/common/prompts/code-review-checklist.md +168 -0
- package/framework/commands/common/prompts/git-workflow-patterns.md +235 -0
- package/framework/commands/common/prompts/output-formats.md +240 -0
- package/framework/commands/common/prompts/technical.md +194 -0
- package/framework/commands/common/templates/abstraction-template.md +399 -0
- package/framework/commands/common/templates/agent-template.md +353 -0
- package/framework/commands/common/templates/business_context_template.md +748 -0
- package/framework/commands/common/templates/command-template.md +273 -0
- package/framework/commands/common/templates/technical_context_template.md +526 -0
- package/framework/commands/design/screen-spec.md +505 -0
- package/framework/commands/development/runflow-dev.md +465 -0
- package/framework/commands/docs/build-business-docs.md +299 -0
- package/framework/commands/docs/build-compliance-docs.md +143 -0
- package/framework/commands/docs/build-index.md +119 -0
- package/framework/commands/docs/build-tech-docs.md +221 -0
- package/framework/commands/docs/docs-health.md +141 -0
- package/framework/commands/docs/help.md +278 -0
- package/framework/commands/docs/refine-vision.md +25 -0
- package/framework/commands/docs/reverse-consolidate.md +158 -0
- package/framework/commands/docs/sync-sessions.md +354 -0
- package/framework/commands/docs/validate-docs.md +157 -0
- package/framework/commands/engineer/bump.md +29 -0
- package/framework/commands/engineer/docs.md +11 -0
- package/framework/commands/engineer/hotfix.md +183 -0
- package/framework/commands/engineer/plan.md +85 -0
- package/framework/commands/engineer/pr-update.md +219 -0
- package/framework/commands/engineer/pr.md +117 -0
- package/framework/commands/engineer/pre-pr.md +81 -0
- package/framework/commands/engineer/start.md +254 -0
- package/framework/commands/engineer/validate-phase-sync.md +134 -0
- package/framework/commands/engineer/warm-up.md +20 -0
- package/framework/commands/engineer/work.md +155 -0
- package/framework/commands/f/company-context-extractor.md +93 -0
- package/framework/commands/f/process-meetings.md +103 -0
- package/framework/commands/git/README.md +682 -0
- package/framework/commands/git/code-review.md +213 -0
- package/framework/commands/git/fast-commit.md +43 -0
- package/framework/commands/git/feature/finish.md +88 -0
- package/framework/commands/git/feature/publish.md +89 -0
- package/framework/commands/git/feature/start.md +172 -0
- package/framework/commands/git/help.md +100 -0
- package/framework/commands/git/hotfix/finish.md +96 -0
- package/framework/commands/git/hotfix/start.md +92 -0
- package/framework/commands/git/init.md +111 -0
- package/framework/commands/git/release/finish.md +96 -0
- package/framework/commands/git/release/start.md +93 -0
- package/framework/commands/git/sync.md +199 -0
- package/framework/commands/meta/all-tools.md +58 -0
- package/framework/commands/meta/analyze-complex-problem.md +186 -0
- package/framework/commands/meta/create-abstraction.md +882 -0
- package/framework/commands/meta/create-agent-express.md +98 -0
- package/framework/commands/meta/create-agent.md +210 -0
- package/framework/commands/meta/create-command.md +203 -0
- package/framework/commands/meta/create-knowledge-base.md +143 -0
- package/framework/commands/meta/create-task-structure.md +150 -0
- package/framework/commands/meta/setup-integration.md +274 -0
- package/framework/commands/onion.md +169 -0
- package/framework/commands/product/README.md +249 -0
- package/framework/commands/product/analyze-pain-price.md +694 -0
- package/framework/commands/product/branding.md +458 -0
- package/framework/commands/product/check.md +46 -0
- package/framework/commands/product/checklist-sync.md +239 -0
- package/framework/commands/product/collect.md +95 -0
- package/framework/commands/product/consolidate-meetings.md +291 -0
- package/framework/commands/product/estimate.md +511 -0
- package/framework/commands/product/extract-meeting.md +226 -0
- package/framework/commands/product/feature.md +416 -0
- package/framework/commands/product/light-arch.md +82 -0
- package/framework/commands/product/presentation.md +174 -0
- package/framework/commands/product/refine.md +161 -0
- package/framework/commands/product/spec.md +79 -0
- package/framework/commands/product/task-check.md +378 -0
- package/framework/commands/product/task.md +603 -0
- package/framework/commands/product/validate-task.md +325 -0
- package/framework/commands/product/warm-up.md +24 -0
- package/framework/commands/quick/analisys.md +17 -0
- package/framework/commands/test/e2e.md +377 -0
- package/framework/commands/test/integration.md +508 -0
- package/framework/commands/test/unit.md +381 -0
- package/framework/commands/validate/collab/pair-testing.md +657 -0
- package/framework/commands/validate/collab/three-amigos.md +534 -0
- package/framework/commands/validate/qa-points/estimate.md +660 -0
- package/framework/commands/validate/test-strategy/analyze.md +1201 -0
- package/framework/commands/validate/test-strategy/create.md +411 -0
- package/framework/commands/validate/workflow.md +370 -0
- package/framework/commands/warm-up.md +20 -0
- package/framework/docs/architecture/acoplamento-clickup-problema-analise.md +468 -0
- package/framework/docs/architecture/desacoplamento-roadmap.md +364 -0
- package/framework/docs/architecture/validacao-fase-1.md +235 -0
- package/framework/docs/c4/c4-detection-rules.md +395 -0
- package/framework/docs/c4/c4-documentation-templates.md +579 -0
- package/framework/docs/c4/c4-mermaid-patterns.md +331 -0
- package/framework/docs/c4/c4-templates.md +256 -0
- package/framework/docs/clickup/clickup-acceptance-criteria-strategy.md +329 -0
- package/framework/docs/clickup/clickup-auto-update-strategy.md +340 -0
- package/framework/docs/clickup/clickup-comment-formatter.md +239 -0
- package/framework/docs/clickup/clickup-description-fix.md +384 -0
- package/framework/docs/clickup/clickup-dual-comment-strategy.md +528 -0
- package/framework/docs/clickup/clickup-formatting.md +302 -0
- package/framework/docs/clickup/separador-tamanho-otimizado.md +258 -0
- package/framework/docs/engineer/pre-pr-acceptance-validation.md +256 -0
- package/framework/docs/onion/ESPERANTO.md +293 -0
- package/framework/docs/onion/agents-reference.md +832 -0
- package/framework/docs/onion/clickup-integration.md +780 -0
- package/framework/docs/onion/commands-guide.md +924 -0
- package/framework/docs/onion/engineering-flows.md +900 -0
- package/framework/docs/onion/getting-started.md +803 -0
- package/framework/docs/onion/maintenance-checklist.md +421 -0
- package/framework/docs/onion/naming-conventions.md +286 -0
- package/framework/docs/onion/practical-examples.md +854 -0
- package/framework/docs/product/story-points-integration.md +269 -0
- package/framework/docs/product/story-points-validation.md +237 -0
- package/framework/docs/reviews/task-manager-docs-review-2025-11-24.md +184 -0
- package/framework/docs/strategies/clickup-comment-patterns.md +766 -0
- package/framework/docs/strategies/clickup-integration-tests.md +602 -0
- package/framework/docs/strategies/clickup-mcp-wrappers-tests.md +888 -0
- package/framework/docs/strategies/clickup-regression-tests.md +587 -0
- package/framework/docs/strategies/visual-patterns.md +315 -0
- package/framework/docs/templates/README.md +649 -0
- package/framework/docs/templates/adr-template.md +226 -0
- package/framework/docs/templates/analysis-template.md +280 -0
- package/framework/docs/templates/execution-plan-template.md +430 -0
- package/framework/docs/templates/guide-template.md +367 -0
- package/framework/docs/templates/phase-execution-prompt-template.md +504 -0
- package/framework/docs/templates/reference-template.md +522 -0
- package/framework/docs/templates/solution-template.md +390 -0
- package/framework/docs/tools/README.md +356 -0
- package/framework/docs/tools/agents.md +365 -0
- package/framework/docs/tools/commands.md +669 -0
- package/framework/docs/tools/cursor.md +539 -0
- package/framework/docs/tools/mcps.md +937 -0
- package/framework/docs/tools/rules.md +461 -0
- package/framework/rules/language-and-documentation.mdc +371 -0
- package/framework/rules/nestjs-controllers.md +83 -0
- package/framework/rules/nestjs-dtos.md +255 -0
- package/framework/rules/nestjs-modules.md +141 -0
- package/framework/rules/nestjs-services.md +230 -0
- package/framework/rules/nx-rules.mdc +41 -0
- package/framework/rules/onion-patterns.mdc +197 -0
- package/framework/skills/codebase-visualizer/SKILL.md +26 -0
- package/framework/skills/codebase-visualizer/scripts/visualize.py +131 -0
- package/framework/skills/collect/SKILL.md +84 -0
- package/framework/skills/create-rule/SKILL.md +152 -0
- package/framework/skills/db-schema-visualizer/SKILL.md +49 -0
- package/framework/skills/db-schema-visualizer/scripts/visualize.py +1191 -0
- package/framework/skills/sync-meetings/SKILL.md +239 -0
- package/framework/utils/clickup-mcp-wrappers.md +744 -0
- package/framework/utils/date-time-standards.md +200 -0
- package/framework/utils/task-manager/README.md +94 -0
- package/framework/utils/task-manager/adapters/asana.md +377 -0
- package/framework/utils/task-manager/adapters/clickup.md +467 -0
- package/framework/utils/task-manager/adapters/linear.md +421 -0
- package/framework/utils/task-manager/detector.md +299 -0
- package/framework/utils/task-manager/factory.md +363 -0
- package/framework/utils/task-manager/interface.md +248 -0
- package/framework/utils/task-manager/types.md +409 -0
- package/package.json +41 -0
- package/src/cli.js +73 -0
- package/src/commands/doctor.js +191 -0
- package/src/commands/init.js +287 -0
- package/src/commands/install.js +261 -0
- package/src/commands/list.js +152 -0
- package/src/commands/uninstall.js +90 -0
- package/src/commands/update.js +26 -0
- package/src/utils/fs.js +89 -0
- package/src/utils/log.js +35 -0
- package/src/utils/paths.js +32 -0
- 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
|