Planning specialist that creates structured implementation plans for the finans project...
This skill provides specialized workflows for creating and managing implementation plans in the finans project. It transforms user requests into comprehensive, well-researched plan files that guide future implementation.
CRITICAL CONSTRAINT: This skill is for planning and documentation ONLY. Never implement fixes, write code changes, or modify the codebase. The sole responsibility is creating thorough plan documentation in .task-board/backlog/.
Use this skill for:
DO NOT use this skill for:
CRITICAL: Conduct thorough research before creating the plan file.
Search for relevant code:
Read relevant files:
Understand architecture:
Map dependencies:
Identify risks:
Define architecture decisions:
Break down into phases:
Plan implementation steps:
Consider finans-specific context:
Create a comprehensive plan file in .task-board/backlog/ with:
Descriptive filename following conventions:
FEATURE-[short-description].md - New functionalityREFACTOR-[short-description].md - Code improvementsEXPLORE-[short-description].md - Research/investigationEPIC-[short-description].md - Major multi-phase featuresComplete template with all sections filled (see template below)
Specific technical details:
frontend/src/features/portfolio/PortfolioPage.tsxBefore finishing, verify:
backlog/ folderUse numbered, descriptive, kebab-case names with type prefix:
Format: [NNN]-[TYPE]-[short-description].md
🚨 ALWAYS scan ALL folders to find the next task number:
1. Glob pattern: .task-board/**/*.md
2. Scan: backlog/, in-progress/, AND done/
3. Extract numbers from filenames (e.g., 071-FEATURE-xxx.md → 071)
4. Find highest number across ALL folders
5. Next task = highest + 1
Why include done/: Completed tasks retain their numbers. Reusing numbers breaks history tracking and causes confusion.
Example:
done/ has: 001-070 (completed)
in-progress/ has: 071
backlog/ has: 072-075
Next task number = 076
Features: [NNN]-FEATURE-[short-description].md
076-FEATURE-llm-data-import.md077-FEATURE-monte-carlo-calculator.mdRefactors: [NNN]-REFACTOR-[short-description].md
078-REFACTOR-extract-calculator-logic.mdExplorations: [NNN]-EXPLORE-[short-description].md
079-EXPLORE-langfuse-integration.mdEpics: [NNN]-EPIC-[short-description].md
080-EPIC-portfolio-tracker.mdPortfolio & Wealth Tracking:
Financial Calculators:
Norwegian Localization:
123 456,78 kr (space thousands, comma decimal)dd.MM.yyyy (01.01.2024)Frontend (/frontend):
Backend (/backend):
Components (/components):
Testing (/e2e):
Frontend Organization (Vertical Slicing):
/frontend/src/
/features/
/auth/ - LoginPage, AuthContext, useAuth
/portfolio/ - PortfolioPage, PortfolioTable, usePortfolio
/calculators/ - CompoundCalculator, MonteCarloSimulation
/dashboard/ - DashboardPage, NetWorthChart
/shared/
/components/ - Shared UI components
/hooks/ - Shared custom hooks
/utils/ - Utility functions
Backend Organization:
/backend/src/
/routes/ - Express route definitions
/controllers/ - Request handlers
/validation/ - Input and business validation
/services/ - Business logic and database access
State Management:
Database (CosmosDB):
API Design:
/api/v1{ data, success } or { error, success }Use this comprehensive template for all plan files. Fill in ALL sections based on research:
# [Type]: [Short Description]
**Status**: Backlog
**Created**: [YYYY-MM-DD]
**Priority**: [High/Medium/Low]
**Labels**: [frontend, backend, database, calculator, etc.]
**Estimated Effort**: [Simple/Medium/Complex - X days/weeks]
## Context & Motivation
[Why this work is needed - business value, user need, or technical debt]
## Current State
[What exists today - relevant background, current implementation]
## Desired Outcome
[What we want to achieve after this is complete - specific goals]
## Acceptance Criteria
- [ ] [Specific, measurable criterion 1]
- [ ] [Specific, measurable criterion 2]
- [ ] [Specific, measurable criterion 3]
- [ ] [Tests covering the implementation]
- [ ] [Documentation updated if needed]
## Affected Components
### Frontend (if applicable)
- **Features**: [Feature folders, e.g., `/frontend/src/features/portfolio/`]
- **Components**: [Shared components from `/components/src/`]
- **State Management**: [Zustand stores, TanStack Query hooks, Context]
- **Routes**: [New or modified routes]
### Backend (if applicable)
- **API Endpoints**: [New or modified routes, e.g., `POST /api/v1/snapshots`]
- **Controllers**: [Controller files]
- **Validation**: [Input validation, business validation logic]
- **Database**: [CosmosDB containers/documents affected]
### Testing (E2E only - no unit tests per CLAUDE.md)
- **E2E Tests**: [Playwright test scenarios]
## Technical Approach
### Architecture Decisions
[Key architectural choices and rationale]
- Example: "Use Zustand for calculator state because it's simple and doesn't need server sync"
- Example: "Create new `/calculators` feature folder following vertical slicing pattern"
### Implementation Steps
1. **[Phase 1: Core Implementation]**
- Files to create: [specific paths]
- Files to modify: [specific paths]
- Key changes: [what needs to be done]
2. **[Phase 2: Testing]**
- Test files to create: [specific paths]
- Test scenarios: [what to test]
3. **[Phase 3: Integration]**
- Integration points: [what needs to connect]
- Final verification: [how to confirm it works]
### Dependencies
- **External**: [npm packages needed, APIs, services]
- **Internal**: [Other features/components this depends on]
- **Blocking**: [Other tasks that must be completed first]
### Risks & Considerations
- **Risk 1**: [What could go wrong] - **Mitigation**: [How to address]
- **Risk 2**: [What could go wrong] - **Mitigation**: [How to address]
- **Performance**: [Any performance concerns and how to handle them]
- **Security**: [Input validation, authentication, data protection]
## Code References
### Relevant Existing Code
```[language]
// File: [path/to/file.ext]
[Relevant code snippet showing similar patterns or context]
[Point to existing code that follows similar patterns]
/frontend/src/features/auth/ for feature folder structure"/backend/src/validation/userValidator.ts"[Optional sections based on plan type]
[This section added when moving to in-progress - detailed step-by-step breakdown]
[This section added during implementation - real-time updates]
[This section added during implementation - how to verify completion]
[This section added when complete - summary of implementation, any deviations from plan]
Next Steps: Ready for implementation. Move to .task-board/in-progress/ when starting work.
## Best Practices
### Research Quality
1. **Thorough exploration**: Search multiple ways (keywords, file patterns, component names)
2. **Read, don't skim**: Actually read files to understand patterns
3. **Follow the trail**: Find imports, usages, related files
4. **Check similar features**: Learn from existing implementations
5. **Multiple perspectives**: Look at frontend, backend, database, tests
### Question Quality
1. **Ask specific questions**: "Which calculators need this feature?" vs "Tell me more"
2. **Confirm scope**: "Should this work for all asset classes or just stocks?"
3. **One at a time**: Don't overwhelm with 10 questions
4. **Progressive refinement**: Start broad, get specific
### Documentation Quality
1. **Be specific**: Use exact file paths, not "the calculator code"
2. **Include evidence**: Show code snippets, not just descriptions
3. **Quantify scope**: "Affects 3 calculators" vs "affects calculators"
4. **State confidence**: "High confidence" vs "Hypothesis - needs verification"
5. **Link everything**: Cross-reference files, plans, documentation
### Completeness Checklist
Before creating a plan file, verify:
- [ ] **User's intent is clear** - Asked clarifying questions if needed
- [ ] **Technical approach designed** - Architecture decisions documented
- [ ] **Specific file paths** - Listed exact files to create/modify
- [ ] **Code references included** - Showed relevant patterns
- [ ] **Dependencies identified** - External packages, internal features, blocking work
- [ ] **Risks assessed** - What could go wrong and mitigations
- [ ] **Test requirements** - Unit, integration, E2E scenarios
- [ ] **Effort estimated** - Simple/Medium/Complex with timeline
- [ ] **Priority set** - High/Medium/Low with justification
- [ ] **All template sections filled** - No [TODO] or empty sections
## Communication Guidelines
### When Creating a Plan
**DO**:
- Thank user for the request
- Ask clarifying questions upfront
- Explain what you're researching
- Share findings as you discover them
- Be honest about uncertainty
- Provide confidence levels
**DON'T**:
- Jump to planning without research
- Assume scope without asking
- Promise implementation (you only plan)
- Use jargon without context
- Create plan prematurely
## Limitations and Boundaries
### What This Skill Does
✅ Creates structured implementation plans
✅ Researches codebase and identifies patterns
✅ Designs technical approaches
✅ Breaks down complex work into phases
✅ Identifies dependencies and risks
✅ Documents architecture decisions
✅ Asks clarifying questions
### What This Skill Does NOT Do
❌ Implement code or write features
❌ Modify existing files (except creating plan files)
❌ Run tests or execute commands
❌ Create pull requests
❌ Update PLANNING-BOARD.md (done during implementation)
❌ Move plans between folders (stays in backlog)
## Handoff to Implementation
After creating a plan file, inform the user:
✓ Plan documented: .task-board/backlog/[PLAN-NAME].md
Next steps:
Would you like me to clarify anything in the plan?
## Integration with Workflow
This skill creates plans in `backlog/` folder. The implementation workflow then:
1. Adds plan to PLANNING-BOARD.md if it's a priority (max 3-5 items)
2. Moves file to `in-progress/` when starting work
3. Adds detailed implementation breakdown
4. Updates progress log during work
5. Moves to `done/` when complete
6. Updates PLANNING-BOARD.md to remove completed item
## See Also
- [`.task-board/WORKFLOW.md`](../../.task-board/WORKFLOW.md) - Complete workflow documentation
- [`.task-board/PLANNING-BOARD.md`](../../.task-board/PLANNING-BOARD.md) - Current top priorities
- [`.task-board/README.md`](../../.task-board/README.md) - System overview
- [`.claude/CLAUDE.md`](../../.claude/CLAUDE.md) - Project-wide instructions