@e0ipso/ai-task-manager 1.20.0 β 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/ai-task-manager/config/scripts/check-task-dependencies.cjs +33 -8
- package/templates/ai-task-manager/config/scripts/validate-plan-blueprint.cjs +34 -14
- package/templates/ai-task-manager/config/templates/PLAN_TEMPLATE.md +22 -23
- package/templates/assistant/agents/plan-creator.md +95 -0
- package/templates/assistant/commands/tasks/create-plan.md +18 -29
- package/templates/assistant/commands/tasks/execute-blueprint.md +12 -298
- package/templates/assistant/commands/tasks/execute-task.md +3 -3
- package/templates/assistant/commands/tasks/fix-broken-tests.md +1 -1
- package/templates/assistant/commands/tasks/full-workflow.md +2 -2
- package/templates/assistant/commands/tasks/generate-tasks.md +9 -4
- package/templates/assistant/commands/tasks/refine-plan.md +130 -0
package/README.md
CHANGED
|
@@ -49,10 +49,11 @@ Comprehensive guides covering:
|
|
|
49
49
|
|
|
50
50
|
**Manual Workflow (Full Control):**
|
|
51
51
|
1. **π Create a plan** β `/tasks:create-plan Create user authentication system`
|
|
52
|
-
2.
|
|
53
|
-
3.
|
|
54
|
-
4.
|
|
55
|
-
5.
|
|
52
|
+
2. **π Refine the plan** β `/tasks:refine-plan 1` (have a second assistant review the plan, ask clarifying questions, and update the document before tasks are created)
|
|
53
|
+
3. **π Generate tasks** β `/tasks:generate-tasks 1`
|
|
54
|
+
4. **π Execute blueprint** β `/tasks:execute-blueprint 1`
|
|
55
|
+
5. **π Monitor progress** β `npx @e0ipso/ai-task-manager status`
|
|
56
|
+
6. **ποΈ Manage plans** β `npx @e0ipso/ai-task-manager plan show 1`
|
|
56
57
|
|
|
57
58
|
## π€ Supported Assistants
|
|
58
59
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAsB,MAAM,SAAS,CAAC;AAqDpF;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAsB,MAAM,SAAS,CAAC;AAqDpF;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA4GvE;AAuMD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC,CAmBD"}
|
package/dist/index.js
CHANGED
|
@@ -141,6 +141,11 @@ async function init(options) {
|
|
|
141
141
|
console.log(` ${chalk_1.default.blue('β')} ${resolvePath(baseDir, `.${assistant}/${commandsPath}/tasks/create-plan.${templateFormat}`)}`);
|
|
142
142
|
console.log(` ${chalk_1.default.blue('β')} ${resolvePath(baseDir, `.${assistant}/${commandsPath}/tasks/execute-blueprint.${templateFormat}`)}`);
|
|
143
143
|
console.log(` ${chalk_1.default.blue('β')} ${resolvePath(baseDir, `.${assistant}/${commandsPath}/tasks/generate-tasks.${templateFormat}`)}`);
|
|
144
|
+
// Only show agents for Claude
|
|
145
|
+
if (assistant === 'claude') {
|
|
146
|
+
console.log(chalk_1.default.cyan(` ${assistant.charAt(0).toUpperCase() + assistant.slice(1)} Agents:`));
|
|
147
|
+
console.log(` ${chalk_1.default.blue('β')} ${resolvePath(baseDir, `.${assistant}/agents/plan-creator.md`)}`);
|
|
148
|
+
}
|
|
144
149
|
}
|
|
145
150
|
// ========== FOOTER SECTION ==========
|
|
146
151
|
console.log(`\n${chalk_1.default.green('β')} AI Task Manager initialized successfully!`);
|
|
@@ -280,21 +285,28 @@ async function createAssistantStructure(assistant, baseDir) {
|
|
|
280
285
|
if (!(await exists(sourceDir))) {
|
|
281
286
|
throw new Error(`Template directory not found: ${sourceDir}`);
|
|
282
287
|
}
|
|
283
|
-
//
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
288
|
+
// Determine correct commands directory name based on assistant type
|
|
289
|
+
// OpenCode uses 'command' (singular) while Claude and Gemini use 'commands' (plural)
|
|
290
|
+
const commandsPath = assistant === 'opencode' ? 'command' : 'commands';
|
|
291
|
+
// Copy template structure with correct directory naming
|
|
292
|
+
const sourceCommandsDir = resolvePath(sourceDir, 'commands');
|
|
293
|
+
const targetCommandsDir = resolvePath(assistantDir, commandsPath);
|
|
294
|
+
// Copy the commands directory to the correct location
|
|
295
|
+
if (await exists(sourceCommandsDir)) {
|
|
296
|
+
await fs.copy(sourceCommandsDir, targetCommandsDir);
|
|
297
|
+
}
|
|
298
|
+
// Copy agent files for Claude (agents are Claude-specific)
|
|
299
|
+
if (assistant === 'claude') {
|
|
300
|
+
const sourceAgentsDir = resolvePath(sourceDir, 'agents');
|
|
301
|
+
const targetAgentsDir = resolvePath(assistantDir, 'agents');
|
|
302
|
+
if (await exists(sourceAgentsDir)) {
|
|
303
|
+
await fs.copy(sourceAgentsDir, targetAgentsDir);
|
|
291
304
|
}
|
|
292
305
|
}
|
|
293
306
|
// Determine template format based on assistant type
|
|
294
307
|
const templateFormat = (0, utils_1.getTemplateFormat)(assistant);
|
|
295
308
|
// If target format is different from source (md), process files in place
|
|
296
309
|
if (templateFormat !== 'md') {
|
|
297
|
-
const commandsPath = assistant === 'opencode' ? 'command' : 'commands';
|
|
298
310
|
const tasksDir = resolvePath(assistantDir, `${commandsPath}/tasks`);
|
|
299
311
|
const files = await fs.readdir(tasksDir);
|
|
300
312
|
for (const file of files.filter(f => f.endsWith('.md'))) {
|
|
@@ -375,7 +387,7 @@ async function displayWorkflowHelp() {
|
|
|
375
387
|
console.log('');
|
|
376
388
|
console.log(` ${chalk_1.default.blue('2.')} Provide additional context if the assistant needs it`);
|
|
377
389
|
console.log('');
|
|
378
|
-
console.log(` ${chalk_1.default.blue('3.')} ${chalk_1.default.yellow.bold('MANUALLY REVIEW THE PLAN')} ${chalk_1.default.yellow("(don't skip this!")}`);
|
|
390
|
+
console.log(` ${chalk_1.default.blue('3.')} ${chalk_1.default.yellow.bold('MANUALLY REVIEW THE PLAN')} ${chalk_1.default.yellow("(don't skip this!)")}`);
|
|
379
391
|
console.log(` ${chalk_1.default.gray('Find it in: .ai/task-manager/plans/01--*/plan-[0-9]*--*.md')}`);
|
|
380
392
|
console.log('');
|
|
381
393
|
console.log(` ${chalk_1.default.blue('4.')} Create the tasks for the plan:`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -51,15 +51,40 @@ const printInfo = (message) => {
|
|
|
51
51
|
|
|
52
52
|
// Function to find plan directory
|
|
53
53
|
const findPlanDirectory = (planId) => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
const searchLocations = [
|
|
55
|
+
'.ai/task-manager/plans',
|
|
56
|
+
'.ai/task-manager/archive'
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
// Generate ID variations to try (exact, padded, unpadded)
|
|
60
|
+
const idVariations = [
|
|
61
|
+
planId, // Try exact match first
|
|
62
|
+
planId.padStart(2, '0'), // Try padded version (3 β 03)
|
|
63
|
+
planId.replace(/^0+/, '') || '0' // Try unpadded version (03 β 3)
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
// Remove duplicates from variations array
|
|
67
|
+
const uniqueVariations = [...new Set(idVariations)];
|
|
68
|
+
|
|
69
|
+
// Search for each variation in each location
|
|
70
|
+
for (const id of uniqueVariations) {
|
|
71
|
+
for (const location of searchLocations) {
|
|
72
|
+
try {
|
|
73
|
+
const findCommand = `find ${location} -type d -name "${id}--*" 2>/dev/null || true`;
|
|
74
|
+
const result = execSync(findCommand, { encoding: 'utf8' }).trim();
|
|
75
|
+
const directories = result.split('\n').filter(dir => dir.length > 0);
|
|
76
|
+
|
|
77
|
+
if (directories.length > 0) {
|
|
78
|
+
return directories[0]; // Early return on first match
|
|
79
|
+
}
|
|
80
|
+
} catch (error) {
|
|
81
|
+
// Continue trying other variations/locations
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
62
85
|
}
|
|
86
|
+
|
|
87
|
+
return null; // No matches found
|
|
63
88
|
};
|
|
64
89
|
|
|
65
90
|
// Function to find task file with padded/unpadded ID handling
|
|
@@ -94,6 +94,16 @@ function findPlanById(planId) {
|
|
|
94
94
|
|
|
95
95
|
debugLog(`Task manager root found: ${taskManagerRoot}`);
|
|
96
96
|
|
|
97
|
+
// Convert planId to numeric for flexible matching (handles both "2" and "02")
|
|
98
|
+
const numericPlanId = parseInt(planId, 10);
|
|
99
|
+
|
|
100
|
+
if (isNaN(numericPlanId)) {
|
|
101
|
+
errorLog(`Invalid plan ID: ${planId}. Plan ID must be numeric.`);
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
debugLog(`Searching for plan with numeric ID: ${numericPlanId} (input was: ${planId})`);
|
|
106
|
+
|
|
97
107
|
const plansDir = path.join(taskManagerRoot, 'plans');
|
|
98
108
|
const archiveDir = path.join(taskManagerRoot, 'archive');
|
|
99
109
|
|
|
@@ -111,24 +121,31 @@ function findPlanById(planId) {
|
|
|
111
121
|
debugLog(`Found ${entries.length} entries in ${dir}`);
|
|
112
122
|
|
|
113
123
|
for (const entry of entries) {
|
|
114
|
-
// Match directory pattern: [plan-id]--*
|
|
115
|
-
if (entry.isDirectory()
|
|
116
|
-
|
|
117
|
-
|
|
124
|
+
// Match directory pattern: [plan-id]--* (with flexible ID matching)
|
|
125
|
+
if (entry.isDirectory()) {
|
|
126
|
+
// Extract numeric ID from directory name, stripping leading zeros
|
|
127
|
+
const dirMatch = entry.name.match(/^0*(\d+)--/);
|
|
128
|
+
if (dirMatch && parseInt(dirMatch[1], 10) === numericPlanId) {
|
|
129
|
+
const planDirPath = path.join(dir, entry.name);
|
|
130
|
+
debugLog(`Found matching plan directory: ${planDirPath} (extracted ID: ${dirMatch[1]} matches input: ${numericPlanId})`);
|
|
118
131
|
|
|
119
132
|
try {
|
|
120
133
|
const planDirEntries = fs.readdirSync(planDirPath, { withFileTypes: true });
|
|
121
134
|
|
|
122
|
-
// Look for plan file: plan-[plan-id]--*.md
|
|
135
|
+
// Look for plan file: plan-[plan-id]--*.md (with flexible ID matching)
|
|
123
136
|
for (const planEntry of planDirEntries) {
|
|
124
|
-
if (planEntry.isFile()
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
137
|
+
if (planEntry.isFile()) {
|
|
138
|
+
// Extract numeric ID from filename, stripping leading zeros
|
|
139
|
+
const fileMatch = planEntry.name.match(/^plan-0*(\d+)--.*\.md$/);
|
|
140
|
+
if (fileMatch && parseInt(fileMatch[1], 10) === numericPlanId) {
|
|
141
|
+
const planFilePath = path.join(planDirPath, planEntry.name);
|
|
142
|
+
debugLog(`Found plan file: ${planFilePath} (extracted ID: ${fileMatch[1]} matches input: ${numericPlanId})`);
|
|
143
|
+
|
|
144
|
+
return {
|
|
145
|
+
planFile: planFilePath,
|
|
146
|
+
planDir: planDirPath
|
|
147
|
+
};
|
|
148
|
+
}
|
|
132
149
|
}
|
|
133
150
|
}
|
|
134
151
|
|
|
@@ -136,6 +153,7 @@ function findPlanById(planId) {
|
|
|
136
153
|
} catch (err) {
|
|
137
154
|
errorLog(`Failed to read plan directory ${planDirPath}: ${err.message}`);
|
|
138
155
|
}
|
|
156
|
+
}
|
|
139
157
|
}
|
|
140
158
|
}
|
|
141
159
|
} catch (err) {
|
|
@@ -300,7 +318,9 @@ function validatePlanBlueprint(planId, fieldName) {
|
|
|
300
318
|
errorLog(`Valid fields: ${validFields.join(', ')}`);
|
|
301
319
|
process.exit(1);
|
|
302
320
|
}
|
|
303
|
-
|
|
321
|
+
// Use process.stdout.write to avoid util.inspect colorization
|
|
322
|
+
// Convert to string explicitly to ensure plain text output
|
|
323
|
+
process.stdout.write(String(result[fieldName]) + '\n');
|
|
304
324
|
} else {
|
|
305
325
|
// Output full JSON for backward compatibility
|
|
306
326
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -21,44 +21,51 @@ created: [YYYY-MM-DD]
|
|
|
21
21
|
|
|
22
22
|
## Context
|
|
23
23
|
|
|
24
|
-
### Current State
|
|
25
|
-
[
|
|
24
|
+
### Current State vs Target State
|
|
25
|
+
[Create a table that compares the current state with the target state in the different aspects of the implementation. Include a column on why the change is necessary.]
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
Example:
|
|
28
|
+
|
|
29
|
+
| Current State | Target State | Why? |
|
|
30
|
+
|--------------------------| ------------ |---------------------------|
|
|
31
|
+
| Users have to click twice | Users can click once | We want to improve the UX |
|
|
32
|
+
| The button is small | The button is bigger | Fix site design |
|
|
33
|
+
| ... | ... | ... |
|
|
29
34
|
|
|
30
35
|
### Background
|
|
31
36
|
[Any additional context, requirements, constraints, any solutions that we tried that didn't work, or relevant history that informs the implementation approach.]
|
|
32
37
|
|
|
33
|
-
##
|
|
34
|
-
|
|
35
|
-
[Provide an overview of the implementation strategy, key architectural decisions, and technical approach. Break down into major components or phases using ### subheadings.]
|
|
38
|
+
## Architectural Approach
|
|
39
|
+
[Provide an overview of the implementation strategy, key architectural decisions, and technical approach. Break down into major components or phases using ### subheadings. Add a mermaid diagram summary.]
|
|
36
40
|
|
|
37
|
-
### [Component/
|
|
41
|
+
### [Component/Stage 1 Name]
|
|
38
42
|
**Objective**: [What this component accomplishes and why it's important]
|
|
39
43
|
|
|
40
|
-
[Detailed explanation of implementation approach, key technical decisions, specifications, and rationale for design choices.]
|
|
44
|
+
[Detailed & concise explanation of implementation approach, key technical decisions, specifications, and rationale for design choices.]
|
|
41
45
|
|
|
42
|
-
### [Component/
|
|
46
|
+
### [Component/Stage 2 Name]
|
|
43
47
|
**Objective**: [What this component accomplishes and why it's important]
|
|
44
48
|
|
|
45
|
-
[Detailed explanation of implementation approach, key technical decisions, specifications, and rationale for design choices.]
|
|
49
|
+
[Detailed & concise explanation of implementation approach, key technical decisions, specifications, and rationale for design choices.]
|
|
46
50
|
|
|
47
51
|
### [Additional Components as Needed]
|
|
48
52
|
[Continue with additional technical components or phases following the same pattern]
|
|
49
53
|
|
|
50
54
|
## Risk Considerations and Mitigation Strategies
|
|
51
55
|
|
|
52
|
-
|
|
56
|
+
<details>
|
|
57
|
+
<summary>Technical Risks</summary>
|
|
53
58
|
- **[Specific Technical Risk]**: [Description of the technical challenge or limitation]
|
|
54
59
|
- **Mitigation**: [Specific strategy to address this technical risk]
|
|
60
|
+
</details>
|
|
55
61
|
|
|
56
|
-
|
|
62
|
+
<details>
|
|
63
|
+
<summary>Implementation Risks</summary>
|
|
57
64
|
- **[Specific Implementation Risk]**: [Description of implementation-related challenge]
|
|
58
65
|
- **Mitigation**: [Specific strategy to address this implementation risk]
|
|
66
|
+
</details>
|
|
59
67
|
|
|
60
|
-
|
|
61
|
-
[Continue with other risk categories such as Integration Risks, Quality Risks, Resource Risks, etc.]
|
|
68
|
+
[Additional Risk Categories as Needed: continue with other risk categories such as Integration Risks, Quality Risks, Resource Risks, etc.]
|
|
62
69
|
|
|
63
70
|
## Success Criteria
|
|
64
71
|
|
|
@@ -67,11 +74,6 @@ created: [YYYY-MM-DD]
|
|
|
67
74
|
2. [Measurable outcome 2]
|
|
68
75
|
3. [Measurable outcome 3]
|
|
69
76
|
|
|
70
|
-
### Quality Assurance Metrics
|
|
71
|
-
1. [Quality measure 1]
|
|
72
|
-
2. [Quality measure 2]
|
|
73
|
-
3. [Quality measure 3]
|
|
74
|
-
|
|
75
77
|
## Resource Requirements
|
|
76
78
|
|
|
77
79
|
### Development Skills
|
|
@@ -86,8 +88,5 @@ created: [YYYY-MM-DD]
|
|
|
86
88
|
## Integration Strategy
|
|
87
89
|
[Optional section - how this work integrates with existing systems]
|
|
88
90
|
|
|
89
|
-
## Implementation Order
|
|
90
|
-
[Optional section - high-level sequence without detailed phases]
|
|
91
|
-
|
|
92
91
|
## Notes
|
|
93
92
|
[Optional section - any additional considerations, constraints, or important context]
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-creator
|
|
3
|
+
description: |
|
|
4
|
+
Use this agent to create comprehensive strategic plan documents combining business strategy and technical architecture. Specializes in context gathering, YAGNI enforcement, and producing actionable blueprints with visual communication.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are a strategic planning specialist who creates actionable plan documents that balance comprehensive context with disciplined scope control.
|
|
8
|
+
|
|
9
|
+
## Core Mission
|
|
10
|
+
|
|
11
|
+
Create strategic blueprints that define WHAT to build and WHY, not HOW. Your plans must:
|
|
12
|
+
- Gather complete context through targeted clarification
|
|
13
|
+
- Enforce YAGNI (reduce scope by 20-30%)
|
|
14
|
+
- Use mermaid diagrams for visual clarity
|
|
15
|
+
- Follow template structure precisely
|
|
16
|
+
- Define measurable success criteria
|
|
17
|
+
|
|
18
|
+
## Critical Workflow
|
|
19
|
+
|
|
20
|
+
**1. Context Gathering**
|
|
21
|
+
- Read CLAUDE.md, README.md, package.json
|
|
22
|
+
- Search codebase for similar patterns
|
|
23
|
+
- Ask specific, categorized clarification questions when gaps exist
|
|
24
|
+
- STOP and wait for answers before planning
|
|
25
|
+
|
|
26
|
+
**2. YAGNI Enforcement**
|
|
27
|
+
For each component ask: Is this explicitly required? If not, exclude it.
|
|
28
|
+
|
|
29
|
+
Eliminate these anti-patterns:
|
|
30
|
+
- Over-engineering: β "Add comprehensive analytics" β β
"Log core events"
|
|
31
|
+
- Premature optimization: β "Implement caching/load balancing/CDN" β β
"Structure for future caching"
|
|
32
|
+
- Feature speculation: β "Users might want X" β β
Only explicit requirements, or ask for clarifications
|
|
33
|
+
- Gold-plating: β "15+ admin features" β β
"3 specified operations"
|
|
34
|
+
|
|
35
|
+
**3. Plan Structure** (follow template exactly)
|
|
36
|
+
- **Executive Summary**: 2-3 paragraphs (what/why/how/benefits)
|
|
37
|
+
- **Context**: Current state, target state, background
|
|
38
|
+
- **Technical Approach**: 3-7 components with objectives and architectural decisions
|
|
39
|
+
- **Risks**: 3-5 risks with mitigation strategies
|
|
40
|
+
- **Success Criteria**: Measurable, verifiable metrics
|
|
41
|
+
- **Mermaid Diagrams**: 1-2 diagrams (architecture/flow/state/data model)
|
|
42
|
+
|
|
43
|
+
**4. Quality Standards**
|
|
44
|
+
- Use active voice and specific terms
|
|
45
|
+
- Detail level: β
"JWT with 15-min tokens" β
"Rate limit: 5 fails = 15-min lockout"
|
|
46
|
+
- Detail level: β "function authenticateUser(username, password)" (too detailed) β "Build auth system" (too vague)
|
|
47
|
+
|
|
48
|
+
## Absolute Prohibitions
|
|
49
|
+
|
|
50
|
+
**NEVER Include**:
|
|
51
|
+
- Time estimates ("2-3 weeks", "Phase 1 (Week 1-2)")
|
|
52
|
+
- Task lists ("Task 1: Create schema, Task 2: Build API")
|
|
53
|
+
- Code snippets or function signatures
|
|
54
|
+
- Specific variable names or file paths
|
|
55
|
+
- Speculative "nice to have" features
|
|
56
|
+
|
|
57
|
+
## Template Compliance Checklist
|
|
58
|
+
|
|
59
|
+
- [ ] YAML frontmatter: id, summary, created
|
|
60
|
+
- [ ] Original Work Order (verbatim quote)
|
|
61
|
+
- [ ] Plan Clarifications (if asked questions)
|
|
62
|
+
- [ ] Executive Summary (2-3 paragraphs)
|
|
63
|
+
- [ ] Context (current/target/background)
|
|
64
|
+
- [ ] Technical Implementation (3-7 components with objectives)
|
|
65
|
+
- [ ] Risks (3-5 with mitigations)
|
|
66
|
+
- [ ] Success Criteria (measurable)
|
|
67
|
+
- [ ] Resource Requirements
|
|
68
|
+
- [ ] 1-2 mermaid diagrams
|
|
69
|
+
- [ ] Structured output summary
|
|
70
|
+
|
|
71
|
+
## Execution Steps
|
|
72
|
+
|
|
73
|
+
1. Execute PRE_PLAN.md hook if exists
|
|
74
|
+
2. Analyze user input and search codebase
|
|
75
|
+
3. Ask clarification questions if needed (STOP until answered)
|
|
76
|
+
4. Generate Plan ID: `node .ai/task-manager/config/scripts/get-next-plan-id.cjs`
|
|
77
|
+
5. Create plan at `.ai/task-manager/plans/[ID]--[name]/plan-[ID]--[name].md`
|
|
78
|
+
6. Execute POST_PLAN.md hook if exists
|
|
79
|
+
7. Output:
|
|
80
|
+
```
|
|
81
|
+
---
|
|
82
|
+
Plan Summary:
|
|
83
|
+
- Plan ID: [numeric-id]
|
|
84
|
+
- Plan File: [full-path]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Excellence Markers
|
|
88
|
+
|
|
89
|
+
β
Strategic clarity (what/why clear to all readers)
|
|
90
|
+
β
Technical soundness (well-reasoned architecture)
|
|
91
|
+
β
Scope discipline (only necessary features)
|
|
92
|
+
β
Risk awareness (challenges + mitigations)
|
|
93
|
+
β
Visual communication (diagrams clarify complexity)
|
|
94
|
+
β
Measurable success (verifiable criteria)
|
|
95
|
+
β
Template adherence (precise structure)
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
argument-hint: [user-prompt]
|
|
2
|
+
argument-hint: "[user-prompt]"
|
|
3
3
|
description: Create a comprehensive plan to accomplish the request from the user.
|
|
4
4
|
---
|
|
5
5
|
# Comprehensive Plan Creation
|
|
6
6
|
|
|
7
|
+
You are a strategic planning specialist who creates actionable plan documents that balance comprehensive context with
|
|
8
|
+
disciplined scope control. Your role is to think hard to create detailed, actionable plans based on user input while
|
|
9
|
+
ensuring you have all necessary context before proceeding. Use the plan-creator sub-agent for this if it is available.
|
|
10
|
+
|
|
7
11
|
## Assistant Configuration
|
|
8
12
|
|
|
9
13
|
Before proceeding with this command, you MUST load and respect the assistant's configuration:
|
|
@@ -20,8 +24,6 @@ The output above contains your global and project-level configuration rules. You
|
|
|
20
24
|
|
|
21
25
|
Think harder and use tools.
|
|
22
26
|
|
|
23
|
-
You are a comprehensive task planning assistant. Your role is to think hard to create detailed, actionable plans based on user input while ensuring you have all necessary context before proceeding.
|
|
24
|
-
|
|
25
27
|
Include .ai/task-manager/config/TASK_MANAGER.md for the directory structure of tasks.
|
|
26
28
|
|
|
27
29
|
## Instructions
|
|
@@ -34,17 +36,14 @@ $ARGUMENTS
|
|
|
34
36
|
|
|
35
37
|
If no user input is provided stop immediately and show an error message to the user.
|
|
36
38
|
|
|
37
|
-
### Process
|
|
39
|
+
### Process Checklist
|
|
38
40
|
|
|
39
|
-
Use your internal Todo task tool to track the plan generation:
|
|
41
|
+
Use your internal Todo task tool to track the following plan generation:
|
|
40
42
|
|
|
41
43
|
- [ ] Read and execute .ai/task-manager/config/hooks/PRE_PLAN.md
|
|
42
44
|
- [ ] User input and context analysis
|
|
43
45
|
- [ ] Clarification questions
|
|
44
|
-
- [ ] Plan generation
|
|
45
|
-
- [ ] Plan generation: Detailed Steps
|
|
46
|
-
- [ ] Plan generation: Risk Considerations
|
|
47
|
-
- [ ] Plan generation: Success Metrics
|
|
46
|
+
- [ ] Plan generation
|
|
48
47
|
- [ ] Read and execute .ai/task-manager/config/hooks/POST_PLAN.md
|
|
49
48
|
|
|
50
49
|
#### Step 1: Context Analysis
|
|
@@ -59,32 +58,21 @@ Before creating any plan, analyze the user's request for:
|
|
|
59
58
|
#### Step 2: Clarification Phase
|
|
60
59
|
If any critical context is missing:
|
|
61
60
|
1. Identify specific gaps in the information provided
|
|
62
|
-
2. Ask targeted follow-up questions
|
|
63
|
-
3.
|
|
64
|
-
4.
|
|
65
|
-
5. Be extra cautious. Users miss important context very often. Don't hesitate to ask for clarifications.
|
|
66
|
-
|
|
67
|
-
Example clarifying questions:
|
|
68
|
-
- "Q: What is your primary goal with [specific aspect]?"
|
|
69
|
-
- "Q: Do you have any existing [resources/code/infrastructure] I should consider?"
|
|
70
|
-
- "Q: What is your timeline for completing this?"
|
|
71
|
-
- "Q: Are there specific constraints I should account for?"
|
|
72
|
-
- "Q: Do you want me to write tests for this?"
|
|
73
|
-
- "Q: Are there other systems, projects, or modules that perform a similar task?"
|
|
61
|
+
2. Ask targeted follow-up questions
|
|
62
|
+
3. Frame questions clearly with examples when helpful
|
|
63
|
+
4. Be extra cautious. Users miss important context very often. Don't hesitate to ask for additional clarifications.
|
|
74
64
|
|
|
75
65
|
Try to answer your own questions first by inspecting the codebase, docs, and assistant documents like CLAUDE.md, GEMINI.md, AGENTS.md ...
|
|
76
66
|
|
|
77
|
-
|
|
78
|
-
Only after confirming sufficient context, create a plan that includes:
|
|
79
|
-
1. **Executive Summary**: Brief overview of the approach
|
|
80
|
-
2. **Detailed Steps**: Numbered, actionable tasks with clear outcomes
|
|
81
|
-
3. **Risk Considerations**: Potential challenges and mitigation strategies
|
|
82
|
-
4. **Success Metrics**: How to measure completion and quality
|
|
67
|
+
IMPORTANT: Once you have the user's answers go back to Step 2. Do this in a loop until you have no more questions. Ask as many rounds of questions as necessary, it is very important you have all the information you need to achieve your task.
|
|
83
68
|
|
|
84
|
-
|
|
69
|
+
#### Step 3: Plan Generation
|
|
70
|
+
Only after confirming sufficient context, create a plan according the the .ai/task-manager/config/templates/PLAN_TEMPLATE.md
|
|
85
71
|
|
|
86
72
|
##### CRITICAL: Output Format
|
|
87
73
|
|
|
74
|
+
Remember that a plan needs to be reviewed by a human. Be concise and to the point. Also, include mermaid diagrams to illustrate the plan.
|
|
75
|
+
|
|
88
76
|
**Output Behavior: CRITICAL - Structured Output for Command Coordination**
|
|
89
77
|
|
|
90
78
|
Always end your output with a standardized summary in this exact format, for command coordination:
|
|
@@ -107,6 +95,7 @@ Use the template in .ai/task-manager/config/templates/PLAN_TEMPLATE.md
|
|
|
107
95
|
Do not include the following in your plan output.
|
|
108
96
|
- Avoid time estimations
|
|
109
97
|
- Avoid task lists and mentions of phases (those are things we'll introduce later)
|
|
98
|
+
- Avoid code examples
|
|
110
99
|
|
|
111
100
|
###### Frontmatter Structure
|
|
112
101
|
|
|
@@ -144,8 +133,8 @@ The schema for this frontmatter is:
|
|
|
144
133
|
```
|
|
145
134
|
|
|
146
135
|
### Plan ID Generation
|
|
136
|
+
Execute this script to determine the plan ID:
|
|
147
137
|
|
|
148
|
-
**Auto-generate the next plan ID:**
|
|
149
138
|
```bash
|
|
150
139
|
node .ai/task-manager/config/scripts/get-next-plan-id.cjs
|
|
151
140
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
argument-hint: [plan-ID]
|
|
3
|
-
description: Execute the task in the plan
|
|
2
|
+
argument-hint: "[plan-ID]"
|
|
3
|
+
description: Execute the task in the plan.
|
|
4
4
|
---
|
|
5
5
|
# Task Execution
|
|
6
6
|
|
|
@@ -57,309 +57,23 @@ BLUEPRINT_EXISTS=$(node .ai/task-manager/config/scripts/validate-plan-blueprint.
|
|
|
57
57
|
|
|
58
58
|
If either `$TASK_COUNT` is 0 or `$BLUEPRINT_EXISTS` is "no":
|
|
59
59
|
- Display notification to user: "β οΈ Tasks or execution blueprint not found. Generating tasks automatically..."
|
|
60
|
-
- Execute the
|
|
60
|
+
- Execute the embedded task generation process below
|
|
61
61
|
|
|
62
62
|
## Embedded Task Generation
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
Follow ALL instructions from `generate-tasks.md` exactly for plan ID $1.
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Use your internal Todo task tool to track the following process:
|
|
75
|
-
|
|
76
|
-
- [ ] Read and process plan $1
|
|
77
|
-
- [ ] Use the Task Generation Process to create tasks according to the Task Creation Guidelines
|
|
78
|
-
- [ ] Read and run the .ai/task-manager/config/hooks/POST_TASK_GENERATION_ALL.md
|
|
79
|
-
|
|
80
|
-
### Input
|
|
81
|
-
- A plan document. See .ai/task-manager/config/TASK_MANAGER.md fo find the plan with ID $1
|
|
82
|
-
- The plan contains high-level objectives and implementation steps
|
|
83
|
-
|
|
84
|
-
### Input Error Handling
|
|
85
|
-
If the plan does not exist. Stop immediately and show an error to the user.
|
|
86
|
-
|
|
87
|
-
### Task Creation Guidelines
|
|
88
|
-
|
|
89
|
-
#### Task Minimization Principles
|
|
90
|
-
**Core Constraint:** Create only the minimum number of tasks necessary to satisfy the plan requirements. Target a 20-30% reduction from comprehensive task lists by questioning the necessity of each component.
|
|
91
|
-
|
|
92
|
-
**Minimization Rules:**
|
|
93
|
-
- **Direct Implementation Only**: Create tasks for explicitly stated requirements, not "nice-to-have" features
|
|
94
|
-
- **DRY Task Principle**: Each task should have a unique, non-overlapping purpose
|
|
95
|
-
- **Question Everything**: For each task, ask "Is this absolutely necessary to meet the plan objectives?"
|
|
96
|
-
- **Avoid Gold-plating**: Resist the urge to add comprehensive features not explicitly required
|
|
97
|
-
|
|
98
|
-
**Antipatterns to Avoid:**
|
|
99
|
-
- Creating separate tasks for "error handling" when it can be included in the main implementation
|
|
100
|
-
- Breaking simple operations into multiple tasks (e.g., separate "validate input" and "process input" tasks)
|
|
101
|
-
- Adding tasks for "future extensibility" or "best practices" not mentioned in the plan
|
|
102
|
-
- Creating comprehensive test suites for trivial functionality
|
|
103
|
-
|
|
104
|
-
#### Task Granularity
|
|
105
|
-
Each task must be:
|
|
106
|
-
- **Single-purpose**: One clear deliverable or outcome
|
|
107
|
-
- **Atomic**: Cannot be meaningfully split further
|
|
108
|
-
- **Skill-specific**: Executable by a single skill agent (examples below)
|
|
109
|
-
- **Verifiable**: Has clear completion criteria
|
|
110
|
-
|
|
111
|
-
#### Skill Selection and Technical Requirements
|
|
112
|
-
|
|
113
|
-
**Core Principle**: Each task should require 1-2 specific technical skills that can be handled by specialized agents. Skills should be automatically inferred from the task's technical requirements and objectives.
|
|
114
|
-
|
|
115
|
-
**Skill Selection Criteria**:
|
|
116
|
-
1. **Technical Specificity**: Choose skills that directly match the technical work required
|
|
117
|
-
2. **Agent Specialization**: Select skills that allow a single skilled agent to complete the task
|
|
118
|
-
3. **Minimal Overlap**: Avoid combining unrelated skill domains in a single task
|
|
119
|
-
4. **Creative Inference**: Derive skills from task objectives and implementation context
|
|
120
|
-
|
|
121
|
-
**Inspirational Skill Examples** (use kebab-case format):
|
|
122
|
-
- Frontend: `react-components`, `css`, `js`, `vue-components`, `html`
|
|
123
|
-
- Backend: `api-endpoints`, `database`, `authentication`, `server-config`
|
|
124
|
-
- Testing: `jest`, `playwright`, `unit-testing`, `e2e-testing`
|
|
125
|
-
- DevOps: `docker`, `github-actions`, `deployment`, `ci-cd`
|
|
126
|
-
- Languages: `typescript`, `python`, `php`, `bash`, `sql`
|
|
127
|
-
- Frameworks: `nextjs`, `express`, `drupal-backend`, `wordpress-plugins`
|
|
128
|
-
|
|
129
|
-
**Automatic Skill Inference Examples**:
|
|
130
|
-
- "Create user login form" β `["react-components", "authentication"]`
|
|
131
|
-
- "Build REST API for orders" β `["api-endpoints", "database"]`
|
|
132
|
-
- "Add Docker deployment" β `["docker", "deployment"]`
|
|
133
|
-
- "Write Jest tests for utils" β `["jest"]`
|
|
134
|
-
|
|
135
|
-
**Assignment Guidelines**:
|
|
136
|
-
- **1 skill**: Focused, single-domain tasks
|
|
137
|
-
- **2 skills**: Tasks requiring complementary domains
|
|
138
|
-
- **Split if 3+**: Indicates task should be broken down
|
|
139
|
-
|
|
140
|
-
```
|
|
141
|
-
# Examples
|
|
142
|
-
skills: ["css"] # Pure styling
|
|
143
|
-
skills: ["api-endpoints", "database"] # API with persistence
|
|
144
|
-
skills: ["react-components", "jest"] # Implementation + testing
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
#### Meaningful Test Strategy Guidelines
|
|
148
|
-
|
|
149
|
-
**IMPORTANT** Make sure to copy this _Meaningful Test Strategy Guidelines_ section into all the tasks focused on testing, and **also** keep them in mind when generating tasks.
|
|
150
|
-
|
|
151
|
-
Your critical mantra for test generation is: "write a few tests, mostly integration".
|
|
152
|
-
|
|
153
|
-
**Definition of "Meaningful Tests":**
|
|
154
|
-
Tests that verify custom business logic, critical paths, and edge cases specific to the application. Focus on testing YOUR code, not the framework or library functionality.
|
|
155
|
-
|
|
156
|
-
**When TO Write Tests:**
|
|
157
|
-
- Custom business logic and algorithms
|
|
158
|
-
- Critical user workflows and data transformations
|
|
159
|
-
- Edge cases and error conditions for core functionality
|
|
160
|
-
- Integration points between different system components
|
|
161
|
-
- Complex validation logic or calculations
|
|
162
|
-
|
|
163
|
-
**When NOT to Write Tests:**
|
|
164
|
-
- Third-party library functionality (already tested upstream)
|
|
165
|
-
- Framework features (React hooks, Express middleware, etc.)
|
|
166
|
-
- Simple CRUD operations without custom logic
|
|
167
|
-
- Getter/setter methods or basic property access
|
|
168
|
-
- Configuration files or static data
|
|
169
|
-
- Obvious functionality that would break immediately if incorrect
|
|
170
|
-
|
|
171
|
-
**Test Task Creation Rules:**
|
|
172
|
-
- Combine related test scenarios into single tasks (e.g., "Test user authentication flow" not separate tasks for login, logout, validation)
|
|
173
|
-
- Focus on integration and critical path testing over unit test coverage
|
|
174
|
-
- Avoid creating separate tasks for testing each CRUD operation individually
|
|
175
|
-
- Question whether simple functions need dedicated test tasks
|
|
176
|
-
|
|
177
|
-
### Task Generation Process
|
|
178
|
-
|
|
179
|
-
#### Step 1: Task Decomposition
|
|
180
|
-
1. Read through the entire plan
|
|
181
|
-
2. Identify all concrete deliverables **explicitly stated** in the plan
|
|
182
|
-
3. Apply minimization principles: question necessity of each potential task
|
|
183
|
-
4. Break each deliverable into atomic tasks (only if genuinely needed)
|
|
184
|
-
5. Ensure no task requires multiple skill sets
|
|
185
|
-
6. Verify each task has clear inputs and outputs
|
|
186
|
-
7. **Minimize test tasks**: Combine related testing scenarios, avoid testing framework functionality
|
|
187
|
-
8. Be very detailed with the "Implementation Notes". This should contain enough detail for a non-thinking LLM model to successfully complete the task. Put these instructions in a collapsible field `<details>`.
|
|
188
|
-
|
|
189
|
-
#### Step 2: Dependency Analysis
|
|
190
|
-
For each task, identify:
|
|
191
|
-
- **Hard dependencies**: Tasks that MUST complete before this can start
|
|
192
|
-
- **Soft dependencies**: Tasks that SHOULD complete for optimal execution
|
|
193
|
-
- **No circular dependencies**: Validate the dependency graph is acyclic
|
|
194
|
-
|
|
195
|
-
Dependency Rule: Task B depends on Task A if:
|
|
196
|
-
- B requires output or artifacts from A
|
|
197
|
-
- B modifies code created by A
|
|
198
|
-
- B tests functionality implemented in A
|
|
199
|
-
|
|
200
|
-
#### Step 3: Task Generation
|
|
201
|
-
|
|
202
|
-
##### Frontmatter Structure
|
|
203
|
-
|
|
204
|
-
Example:
|
|
205
|
-
```yaml
|
|
206
|
-
---
|
|
207
|
-
id: 1
|
|
208
|
-
group: "user-authentication"
|
|
209
|
-
dependencies: [] # List of task IDs, e.g., [2, 3]
|
|
210
|
-
status: "pending" # pending | in-progress | completed | needs-clarification
|
|
211
|
-
created: "2024-01-15"
|
|
212
|
-
skills: ["react-components", "authentication"] # Technical skills required for this task
|
|
213
|
-
# Optional: Include complexity scores for high-complexity tasks or decomposition tracking
|
|
214
|
-
# complexity_score: 4.2 # Composite complexity score (only if >4 or decomposed)
|
|
215
|
-
# complexity_notes: "Decomposed from original task due to high technical depth"
|
|
216
|
-
---
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
The schema for this frontmatter is:
|
|
220
|
-
```json
|
|
221
|
-
{
|
|
222
|
-
"type": "object",
|
|
223
|
-
"required": ["id", "group", "dependencies", "status", "created", "skills"],
|
|
224
|
-
"properties": {
|
|
225
|
-
"id": {
|
|
226
|
-
"type": ["number"],
|
|
227
|
-
"description": "Unique identifier for the task. An integer."
|
|
228
|
-
},
|
|
229
|
-
"group": {
|
|
230
|
-
"type": "string",
|
|
231
|
-
"description": "Group or category the task belongs to"
|
|
232
|
-
},
|
|
233
|
-
"dependencies": {
|
|
234
|
-
"type": "array",
|
|
235
|
-
"description": "List of task IDs this task depends on",
|
|
236
|
-
"items": {
|
|
237
|
-
"type": ["number"]
|
|
238
|
-
}
|
|
239
|
-
},
|
|
240
|
-
"status": {
|
|
241
|
-
"type": "string",
|
|
242
|
-
"enum": ["pending", "in-progress", "completed", "needs-clarification"],
|
|
243
|
-
"description": "Current status of the task"
|
|
244
|
-
},
|
|
245
|
-
"created": {
|
|
246
|
-
"type": "string",
|
|
247
|
-
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
248
|
-
"description": "Creation date in YYYY-MM-DD format"
|
|
249
|
-
},
|
|
250
|
-
"skills": {
|
|
251
|
-
"type": "array",
|
|
252
|
-
"description": "Technical skills required for this task (1-2 skills recommended)",
|
|
253
|
-
"items": {
|
|
254
|
-
"type": "string",
|
|
255
|
-
"pattern": "^[a-z][a-z0-9-]*$"
|
|
256
|
-
},
|
|
257
|
-
"minItems": 1,
|
|
258
|
-
"uniqueItems": true
|
|
259
|
-
},
|
|
260
|
-
"complexity_score": {
|
|
261
|
-
"type": "number",
|
|
262
|
-
"minimum": 1,
|
|
263
|
-
"maximum": 10,
|
|
264
|
-
"description": "Optional: Composite complexity score (include only if >4 or for decomposed tasks)"
|
|
265
|
-
},
|
|
266
|
-
"complexity_notes": {
|
|
267
|
-
"type": "string",
|
|
268
|
-
"description": "Optional: Rationale for complexity score or decomposition decisions"
|
|
269
|
-
}
|
|
270
|
-
},
|
|
271
|
-
"additionalProperties": false
|
|
272
|
-
}
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
##### Task Body Structure
|
|
276
|
-
|
|
277
|
-
Use the task template in .ai/task-manager/config/templates/TASK_TEMPLATE.md
|
|
278
|
-
|
|
279
|
-
##### Task ID Generation
|
|
280
|
-
|
|
281
|
-
When creating tasks, you need to determine the next available task ID for the specified plan. Use this bash command to automatically generate the correct ID:
|
|
282
|
-
|
|
283
|
-
```bash
|
|
284
|
-
node .ai/task-manager/config/scripts/get-next-task-id.cjs $1
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### Validation Checklist
|
|
288
|
-
Before finalizing, ensure:
|
|
289
|
-
|
|
290
|
-
**Core Task Requirements:**
|
|
291
|
-
- [ ] Each task has 1-2 appropriate technical skills assigned
|
|
292
|
-
- [ ] Skills are automatically inferred from task objectives and technical requirements
|
|
293
|
-
- [ ] All dependencies form an acyclic graph
|
|
294
|
-
- [ ] Task IDs are unique and sequential
|
|
295
|
-
- [ ] Groups are consistent and meaningful
|
|
296
|
-
- [ ] Every **explicitly stated** task from the plan is covered
|
|
297
|
-
- [ ] No redundant or overlapping tasks
|
|
298
|
-
|
|
299
|
-
**Complexity Analysis & Controls:**
|
|
300
|
-
- [ ] **Complexity Analysis Complete**: All tasks assessed using 5-dimension scoring
|
|
301
|
-
- [ ] **Decomposition Applied**: Tasks with composite score β₯6 have been decomposed or justified
|
|
302
|
-
- [ ] **Final Task Complexity**: All final tasks have composite score β€5 (target β€4)
|
|
303
|
-
- [ ] **Iteration Limits Respected**: No task exceeded 3 decomposition rounds
|
|
304
|
-
- [ ] **Minimum Viability**: No tasks decomposed below complexity threshold of 3
|
|
305
|
-
- [ ] **Quality Gates Passed**: All decomposed tasks meet enhanced quality criteria
|
|
306
|
-
- [ ] **Dependency Integrity**: No circular dependencies or orphaned tasks exist
|
|
307
|
-
- [ ] **Error Handling Complete**: All edge cases resolved or escalated appropriately
|
|
308
|
-
|
|
309
|
-
**Complexity Documentation Requirements:**
|
|
310
|
-
- [ ] **Complexity Scores Documented**: Individual dimension scores recorded for complex tasks
|
|
311
|
-
- [ ] **Decomposition History**: Iteration tracking included in `complexity_notes` for decomposed tasks
|
|
312
|
-
- [ ] **Validation Status**: All tasks marked with appropriate validation outcomes
|
|
313
|
-
- [ ] **Escalation Documentation**: High-complexity tasks have clear escalation notes
|
|
314
|
-
- [ ] **Consistency Validated**: Complexity scores align with task descriptions and skills
|
|
315
|
-
|
|
316
|
-
**Scope & Quality Control:**
|
|
317
|
-
- [ ] **Minimization Applied**: Each task is absolutely necessary (20-30% reduction target)
|
|
318
|
-
- [ ] **Test Tasks are Meaningful**: Focus on business logic, not framework functionality
|
|
319
|
-
- [ ] **No Gold-plating**: Only plan requirements are addressed
|
|
320
|
-
- [ ] **Total Task Count**: Represents minimum viable implementation
|
|
321
|
-
- [ ] **Scope Preservation**: Decomposed tasks collectively match original requirements
|
|
322
|
-
|
|
323
|
-
**System Reliability:**
|
|
324
|
-
- [ ] **Error Conditions Resolved**: No unresolved error states remain
|
|
325
|
-
- [ ] **Manual Intervention Flagged**: Complex edge cases properly escalated
|
|
326
|
-
- [ ] **Quality Checkpoints**: All validation gates completed successfully
|
|
327
|
-
- [ ] **Dependency Graph Validated**: Full dependency analysis confirms acyclic, logical relationships
|
|
328
|
-
|
|
329
|
-
### Error Handling
|
|
330
|
-
If the plan lacks sufficient detail:
|
|
331
|
-
- Note areas needing clarification
|
|
332
|
-
- Create placeholder tasks marked with `status: "needs-clarification"`
|
|
333
|
-
- Document assumptions made
|
|
334
|
-
|
|
335
|
-
#### Step 4: POST_TASK_GENERATION_ALL hook
|
|
336
|
-
|
|
337
|
-
Read and run the .ai/task-manager/config/hooks/POST_TASK_GENERATION_ALL.md
|
|
338
|
-
|
|
339
|
-
### Output Requirements
|
|
340
|
-
|
|
341
|
-
**Output Behavior:**
|
|
342
|
-
|
|
343
|
-
Provide a concise completion message with task count:
|
|
344
|
-
- Example: "Tasks generated for plan [id]: [count] tasks created"
|
|
345
|
-
|
|
346
|
-
**CRITICAL - Structured Output for Command Coordination:**
|
|
347
|
-
|
|
348
|
-
Always end your output with a standardized summary in this exact format:
|
|
349
|
-
|
|
350
|
-
```
|
|
351
|
-
---
|
|
352
|
-
Task Generation Summary:
|
|
353
|
-
- Plan ID: [numeric-id]
|
|
354
|
-
- Tasks: [count]
|
|
355
|
-
- Status: Ready for execution
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
This structured output enables automated workflow coordination and must be included even when running standalone.
|
|
66
|
+
This includes:
|
|
67
|
+
- Reading and processing the plan document
|
|
68
|
+
- Applying task minimization principles (20-30% reduction target)
|
|
69
|
+
- Creating atomic tasks with 1-2 skills each
|
|
70
|
+
- Generating proper task files with frontmatter and body structure
|
|
71
|
+
- Running all validation checklists
|
|
72
|
+
- Executing the POST_TASK_GENERATION_ALL hook
|
|
359
73
|
|
|
360
74
|
## Resume Blueprint Execution
|
|
361
75
|
|
|
362
|
-
After task generation completes, continue with
|
|
76
|
+
After task generation completes, continue with execution below.
|
|
363
77
|
|
|
364
78
|
Otherwise, if tasks exist, proceed directly to execution.
|
|
365
79
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
argument-hint: [plan-ID] [task-ID]
|
|
3
|
-
description: Execute a single task with dependency validation and status management
|
|
2
|
+
argument-hint: "[plan-ID] [task-ID]"
|
|
3
|
+
description: Execute a single task with dependency validation and status management.
|
|
4
4
|
---
|
|
5
5
|
# Single Task Execution
|
|
6
6
|
|
|
@@ -256,4 +256,4 @@ This command integrates with the existing task management system by:
|
|
|
256
256
|
- Maintaining compatibility with execute-blueprint workflows
|
|
257
257
|
- Preserving task isolation and dependency order
|
|
258
258
|
|
|
259
|
-
The command complements execute-blueprint by providing granular task control while maintaining the same validation and execution standards.
|
|
259
|
+
The command complements execute-blueprint by providing granular task control while maintaining the same validation and execution standards.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
argument-hint: [user-prompt]
|
|
3
|
-
description: Execute the full workflow from plan creation to blueprint execution
|
|
2
|
+
argument-hint: "[user-prompt]"
|
|
3
|
+
description: Execute the full workflow from plan creation to blueprint execution.
|
|
4
4
|
---
|
|
5
5
|
# Full Workflow Execution
|
|
6
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
argument-hint: [plan-ID]
|
|
2
|
+
argument-hint: "[plan-ID]"
|
|
3
3
|
description: Generate tasks to implement the plan with the provided ID.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -23,7 +23,7 @@ Think harder and use tools.
|
|
|
23
23
|
|
|
24
24
|
You are a comprehensive task planning assistant. Your role is to create detailed, actionable plans based on user input while ensuring you have all necessary context before proceeding.
|
|
25
25
|
|
|
26
|
-
Include /TASK_MANAGER.md for the directory structure of tasks.
|
|
26
|
+
Include `.ai/task-manager/config/TASK_MANAGER.md` for the directory structure of tasks.
|
|
27
27
|
|
|
28
28
|
## Instructions
|
|
29
29
|
|
|
@@ -36,8 +36,13 @@ Use your internal Todo task tool to track the following process:
|
|
|
36
36
|
- [ ] Read and run the .ai/task-manager/config/hooks/POST_TASK_GENERATION_ALL.md
|
|
37
37
|
|
|
38
38
|
### Input
|
|
39
|
-
|
|
40
|
-
-
|
|
39
|
+
|
|
40
|
+
- A plan document. Extract it with the following command.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Extract validation results directly from script
|
|
44
|
+
PLAN_FILE=$(node .ai/task-manager/config/scripts/validate-plan-blueprint.cjs $1 planFile)
|
|
45
|
+
```
|
|
41
46
|
|
|
42
47
|
### Input Error Handling
|
|
43
48
|
If the plan does not exist. Stop immediately and show an error to the user.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
argument-hint: "[plan-ID]"
|
|
3
|
+
description: Review the plan with the provided ID, gather clarifications, and refine it.
|
|
4
|
+
---
|
|
5
|
+
# Plan Review and Refinement
|
|
6
|
+
|
|
7
|
+
You are a strategic planning specialist who specializes in interrogating existing plans, uncovering blind spots, and
|
|
8
|
+
refining the document so that task generators receive the clearest possible instructions. Treat the current plan as the
|
|
9
|
+
work product of another assistant: your responsibility is to pressure test it, request any missing information from the
|
|
10
|
+
user, and update the plan with the refinements. Use the plan-creator sub-agent for this if it is available.
|
|
11
|
+
|
|
12
|
+
## Assistant Configuration
|
|
13
|
+
|
|
14
|
+
Before proceeding with this command, you MUST load and respect the assistant's configuration:
|
|
15
|
+
|
|
16
|
+
**Run the following scripts:**
|
|
17
|
+
```bash
|
|
18
|
+
ASSISTANT=$(node .ai/task-manager/config/scripts/detect-assistant.cjs)
|
|
19
|
+
node .ai/task-manager/config/scripts/read-assistant-config.cjs "$ASSISTANT"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The output above contains your global and project-level configuration rules. You MUST keep these rules and guidelines in mind during all subsequent operations in this command.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
Think harder and use tools.
|
|
27
|
+
|
|
28
|
+
Include `.ai/task-manager/config/TASK_MANAGER.md` to understand the plan directory structure and naming conventions.
|
|
29
|
+
|
|
30
|
+
## Inputs
|
|
31
|
+
- **Plan ID**: `$1` (required)
|
|
32
|
+
- **Optional refinement notes**: Either provided as additional command arguments or in the conversation. Treat them as constraints that must be reflected in the refined plan.
|
|
33
|
+
|
|
34
|
+
If the plan ID is missing, immediately stop and show an error explaining correct usage.
|
|
35
|
+
|
|
36
|
+
### Plan Discovery and Validation
|
|
37
|
+
|
|
38
|
+
Obtain the plan using the plan ID using the following script:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Extract validation results directly from script
|
|
42
|
+
PLAN_FILE=$(node .ai/task-manager/config/scripts/validate-plan-blueprint.cjs $1 planFile)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Process Checklist
|
|
46
|
+
|
|
47
|
+
Use your internal Todo tool to track the entire refinement workflow:
|
|
48
|
+
|
|
49
|
+
- [ ] Load `.ai/task-manager/config/hooks/PRE_PLAN.md`
|
|
50
|
+
- [ ] Stage 1: Baseline Review
|
|
51
|
+
- [ ] Stage 2: Clarification Loop
|
|
52
|
+
- [ ] Stage 3: Refinement Implementation
|
|
53
|
+
- [ ] Review the existing plan end-to-end (frontmatter, clarifications, architecture, risks, etc.)
|
|
54
|
+
- [ ] Surface strengths, contradictions, and potential risks, without updating the plan
|
|
55
|
+
- [ ] Use the "Total Clarification Algorithm" to get the missing clarification from the user
|
|
56
|
+
- [ ] Apply refinements using `.ai/task-manager/config/templates/PLAN_TEMPLATE.md` as the structural baseline
|
|
57
|
+
- [ ] Update the "Plan Clarifications" table with the latest Q&A
|
|
58
|
+
- [ ] Update the plan file ($PLAN_FILE) with the refinements from steps above
|
|
59
|
+
- [ ] Re-run `.ai/task-manager/config/hooks/POST_PLAN.md`
|
|
60
|
+
|
|
61
|
+
## Stage 1: Baseline Review
|
|
62
|
+
|
|
63
|
+
1. Capture key metadata (plan title, summary, creation date, related initiatives).
|
|
64
|
+
2. Provide a concise plan overview for the user and highlight the strongest sections.
|
|
65
|
+
|
|
66
|
+
## Stage 2: Clarification Loop
|
|
67
|
+
|
|
68
|
+
- Use the "Total Clarification Algorithm" to get the missing clarification from the user
|
|
69
|
+
- After receiving answers, append them to the "Plan Clarifications" section in the plan Markdown using the existing format (table with question/answer pairs).
|
|
70
|
+
- If the user cannot answer, record the unresolved questions along with mitigation notes so downstream assistants know the risk.
|
|
71
|
+
|
|
72
|
+
### Total Clarification Algorithm
|
|
73
|
+
|
|
74
|
+
Think harder before interrupting the userβonly trigger this loop when you can cite concrete uncertainties.
|
|
75
|
+
|
|
76
|
+
1. Ask yourself: **βAre there any aspects of the plan that could benefit from further clarification?β** Identify gaps using these lenses:
|
|
77
|
+
- **Context gaps**: missing background, assumptions, competing priorities.
|
|
78
|
+
- **Technical gaps**: underspecified architecture, unclear interfaces, missing diagrams.
|
|
79
|
+
- **Risk gaps**: untracked risks, missing mitigations, hand-wavy success metrics.
|
|
80
|
+
- **Scope issues**: gold-plating, ambiguous boundaries, requirements that contradict YAGNI.
|
|
81
|
+
2. Document each gap with `{section, issue, severity, proposed fix}` so you can reference it when refining the plan.
|
|
82
|
+
3. If the answer is **No**, stop here and continue refining the plan with the context already available.
|
|
83
|
+
4. If the answer is **Yes**:
|
|
84
|
+
- Build a clarification packet grouped by theme.
|
|
85
|
+
- Prefill each question with the most plausible answer so the user can confirm/deny quickly.
|
|
86
|
+
- Always include an **βOther / open-endedβ** option to capture nuances you did not anticipate.
|
|
87
|
+
5. Send the packet, capture the responses (including open-ended notes), update the Plan Clarifications table, then jump back to Step 1 to ensure no new gaps remain.
|
|
88
|
+
|
|
89
|
+
```mermaid
|
|
90
|
+
flowchart TD
|
|
91
|
+
A[Inspect current plan] --> B{Need more clarification?}
|
|
92
|
+
B -- No --> C[End Β· proceed with refinement]
|
|
93
|
+
B -- Yes --> D[Collect question set\nβ’ targeted prompts\nβ’ prefilled answers\nβ’ open-ended field]
|
|
94
|
+
D --> B
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Stage 3: Refinement Implementation
|
|
98
|
+
|
|
99
|
+
Once you have sufficient context (or have documented the missing context), refine the plan directly in-place:
|
|
100
|
+
|
|
101
|
+
1. **Maintain Identity**: Keep the existing `id` and directory. Do not create a new plan ID.
|
|
102
|
+
2. **Structure Compliance**: Ensure the plan still follows `.ai/task-manager/config/templates/PLAN_TEMPLATE.md`. Add missing sections if necessary.
|
|
103
|
+
3. **Content Updates**:
|
|
104
|
+
- Refresh the executive summary to reflect clarifications and new insights.
|
|
105
|
+
- Update architectural sections, diagrams, and risk mitigations to resolve the identified gaps.
|
|
106
|
+
- Trim any scope creep that is not explicitly required.
|
|
107
|
+
- Clearly reference clarifications in the relevant plan sections (e.g., italicized notes that point back to the Q&A table).
|
|
108
|
+
4. **Net-New Sections**: If the plan needs a new subsection (e.g., Decision Log, Data Contracts), add it under `Notes` with a clearly labeled section so it remains discoverable.
|
|
109
|
+
5. **Change Log**: Append a bullet list in the `Notes` section that briefly states what changed in this refinement session (e.g., `- 2025-03-16: Clarified auth flow tokens and updated architecture diagram`).
|
|
110
|
+
6. **Validation Hooks**: Execute `.ai/task-manager/config/hooks/POST_PLAN.md` to ensure the refined plan still meets quality bars.
|
|
111
|
+
|
|
112
|
+
## Output Requirements
|
|
113
|
+
|
|
114
|
+
1. Present a concise "Refinement Report" to the user containing:
|
|
115
|
+
- Snapshot of the updated plan summary (title, summary line, plan path).
|
|
116
|
+
- Key clarifications added (with links to sections if applicable).
|
|
117
|
+
- Major improvements and remaining open questions (if any).
|
|
118
|
+
2. Ensure the plan file on disk is fully updated before finishing.
|
|
119
|
+
|
|
120
|
+
## Structured Output (MANDATORY)
|
|
121
|
+
|
|
122
|
+
Always end with the standardized summary so orchestrators can chain commands:
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
Plan Refinement Summary:
|
|
128
|
+
- Plan ID: [numeric-id]
|
|
129
|
+
- Plan File: [full-path-to-plan-file]
|
|
130
|
+
```
|