Deep planning - comprehensive research and analysis
Performs comprehensive planning with deep research, dependency analysis, and risk assessment for complex tasks. Use for major features, refactoring, or security work that requires thorough analysis before implementation.
/plugin marketplace add duongdev/ccpm/plugin install ccpm@duongdev-ccpm-marketplace<issue-id|title> [project]Comprehensive planning with thorough research, stakeholder analysis, and detailed implementation strategy.
# Deep plan existing issue
/ccpm:plan:deep PSN-29
# Deep plan new task
/ccpm:plan:deep "Implement OAuth2 with multiple providers"
# With project context
/ccpm:plan:deep "Build recommendation engine" ml-service
| Aspect | /ccpm:plan | /ccpm:plan:deep |
|---|---|---|
| Codebase analysis | Standard (5-10 files) | Comprehensive (20+ files) |
| External research | Basic (Jira, Confluence) | Extended (docs, APIs, libraries) |
| Dependency analysis | Simple | Full dependency graph |
| Risk assessment | Brief | Detailed with mitigations |
| Architecture review | Skip | Include |
| Estimated time | 30-60 seconds | 2-5 minutes |
const input = args[0];
const project = args[1];
if (!input) {
return error('Usage: /ccpm:plan:deep "<issue-id|title>" [project]');
}
console.log('š¬ Deep Planning Mode');
console.log(' This may take 2-5 minutes for thorough analysis...');
console.log('');
const isExistingIssue = /^[A-Z]+-\d+$/.test(input);
let issueId = isExistingIssue ? input : null;
let title = isExistingIssue ? null : input;
// Phase 1: Architecture understanding
const archAnalysis = await Task({
subagent_type: 'Explore',
prompt: `
Deep architecture analysis for: ${title || issueId}
Analyze:
1. **Project Structure**: Identify all relevant modules, packages, layers
2. **Data Flow**: How data moves through the system
3. **Integration Points**: APIs, databases, external services
4. **Existing Patterns**: Design patterns, conventions, standards
5. **Test Coverage**: Testing approach, coverage areas
Explore at least 20 files. Return structured analysis.
`
});
console.log('ā
Architecture analysis complete');
// Phase 2: Dependency analysis
const depAnalysis = await Task({
subagent_type: 'Explore',
prompt: `
Dependency analysis for: ${title || issueId}
Identify:
1. **Internal Dependencies**: Which modules depend on what
2. **External Dependencies**: npm/pip packages involved
3. **Circular Dependencies**: Any risky circular deps
4. **Version Constraints**: Package version requirements
5. **Breaking Changes**: Potential breaking change risks
Create a dependency graph summary.
`
});
console.log('ā
Dependency analysis complete');
// Phase 3: External documentation research
const externalResearch = [];
// Check for relevant library docs
const libraries = extractLibraries(archAnalysis);
for (const lib of libraries.slice(0, 3)) {
const docs = await Task({
subagent_type: 'general-purpose',
prompt: `
Research latest best practices for: ${lib}
Focus on:
1. Current recommended patterns
2. Common pitfalls to avoid
3. Performance considerations
4. Security best practices
Use Context7 MCP or web search. Return key findings.
`
});
externalResearch.push({ library: lib, findings: docs });
}
console.log('ā
External research complete');
// Phase 4: Risk analysis
const riskAnalysis = await Task({
subagent_type: 'Plan',
prompt: `
Risk assessment for: ${title || issueId}
Context:
${archAnalysis.summary}
${depAnalysis.summary}
Identify:
1. **Technical Risks**: Complexity, performance, scalability
2. **Integration Risks**: Breaking changes, API compatibility
3. **Security Risks**: Auth, data exposure, injection
4. **Timeline Risks**: Scope creep, blockers, dependencies
5. **Resource Risks**: Skills, tooling, infrastructure
For each risk, provide:
- Likelihood (low/medium/high)
- Impact (low/medium/high)
- Mitigation strategy
Return structured risk matrix.
`
});
console.log('ā
Risk assessment complete');
// Phase 5: Comprehensive plan generation
const plan = await Task({
subagent_type: 'Plan',
prompt: `
Generate comprehensive implementation plan for: ${title || issueId}
Context:
- Architecture: ${archAnalysis.summary}
- Dependencies: ${depAnalysis.summary}
- Research: ${externalResearch.map(r => r.findings).join('\n')}
- Risks: ${riskAnalysis.summary}
Create:
1. **Executive Summary** (1 paragraph)
2. **Technical Approach** (detailed strategy)
3. **Implementation Phases** (with milestones)
4. **Detailed Checklist** (15-25 items, grouped by phase)
5. **Testing Strategy** (unit, integration, e2e)
6. **Rollout Plan** (staging, canary, production)
7. **Success Metrics** (how we know it's done)
Return as structured markdown.
`
});
console.log('ā
Plan generation complete');
const description = `
## Deep Planning Summary
${plan.executiveSummary}
## Technical Approach
${plan.technicalApproach}
## Architecture Impact
${archAnalysis.impactedAreas}
## Risk Matrix
| Risk | Likelihood | Impact | Mitigation |
|------|------------|--------|------------|
${riskAnalysis.risks.map(r => `| ${r.name} | ${r.likelihood} | ${r.impact} | ${r.mitigation} |`).join('\n')}
## Implementation Checklist
${plan.checklist.map(item => `- [ ] ${item}`).join('\n')}
## Testing Strategy
${plan.testingStrategy}
## Dependencies
${depAnalysis.externalDeps.join(', ')}
## External Research Notes
${externalResearch.map(r => `### ${r.library}\n${r.findings}`).join('\n\n')}
## Success Metrics
${plan.successMetrics}
---
*Created via /ccpm:plan:deep - Comprehensive planning mode*
`;
// Update or create issue
if (issueId) {
await Task({
subagent_type: 'ccpm:linear-operations',
prompt: `operation: update_issue
params:
issueId: "${issueId}"
description: |
${description.split('\n').map(l => ' ' + l).join('\n')}
context:
command: "plan:deep"
`
});
} else {
// Create new issue
const result = await Task({
subagent_type: 'ccpm:linear-operations',
prompt: `operation: create_issue
params:
team: "${project || 'Personal'}"
title: "${title}"
description: |
${description.split('\n').map(l => ' ' + l).join('\n')}
labels: ["deep-plan"]
context:
command: "plan:deep"
`
});
issueId = result.issue.identifier;
}
console.log('\nāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
console.log('š¬ Deep Planning Complete');
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
console.log(`š Issue: ${issueId}`);
console.log(`š Checklist: ${plan.checklist.length} items`);
console.log(`ā ļø Risks: ${riskAnalysis.risks.length} identified`);
console.log(`š Research: ${externalResearch.length} libraries analyzed`);
console.log('');
console.log('š” Next: /ccpm:work ' + issueId);
console.log(' Review the full plan in Linear before starting');
ā Good for:
ā Use /ccpm:plan instead for:
š¬ Deep Planning Mode
This may take 2-5 minutes for thorough analysis...
ā
Architecture analysis complete
ā
Dependency analysis complete
ā
External research complete
ā
Risk assessment complete
ā
Plan generation complete
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
š¬ Deep Planning Complete
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
š Issue: PSN-43
š Checklist: 22 items
ā ļø Risks: 5 identified
š Research: 3 libraries analyzed
š” Next: /ccpm:work PSN-43
Review the full plan in Linear before starting