Start Implementation Task
Workflow Overview
Check Plan → [Create if missing] → TEST FIRST → Implement → Test & Lint → Commit → Session Hand-off
TDD is NON-NEGOTIABLE: Every code change requires a failing test BEFORE implementation.
Phase 1: Initialize
1.1 Get Issue Context
# Extract issue ID from branch
git branch --show-current
The issueID follows format XXX-XXXX (e.g., IDE-1718).
1.2 Check for Implementation Plan
Look for: ${issueID}implementationplan/${issueID}implementationplan.md
If plan exists: Read it, note current progress, continue from last checkpoint.
If no plan: use skill create-implementation-plan to create one
Phase 1: Planning
Analysis
- Files to modify: [list files]
- Files to create: [list files]
- Packages affected: [list packages]
Flow Diagrams
See: docs/diagrams/${issueID}_*.png
Phase 2: Implementation (TDD)
read and use testing skill for TDD instructions
Steps
Phase 3: Review
Progress Tracking
| Step |
Status |
Notes |
| Step 1 |
pending |
|
Session Log
Session 1 - [DATE]
Started: [time] Completed: [list of completed items] Next: [next steps for hand-off]
````
Create Diagrams
- Create mermaid files in
docs/diagrams/${issueID}_*.mmd
- Run:
make generate-diagrams
- Reference PNGs in implementation plan
Get Confirmation
Stop here. Present the plan and wait for user confirmation before proceeding.
Phase 3: Implementation (Outside-In TDD)
CRITICAL: TDD is MANDATORY
NEVER write production code before writing a failing test.
This applies to:
- New features
- Bug fixes
- Security fixes
- Refactoring
- ANY code change
TDD Gate Check
ALWAYS use the testing skill.
Before writing ANY production code, verify:
If ANY answer is NO → STOP and write the test first.
TDD Cycle
For each feature/change:
- STOP - Do not touch production code yet
- READ and USE testing skill.
- Write failing test first (outside-in: ensure smoke tests. also write unit tests)
- Run test - confirm it fails for the right reason
- Write minimal code to make test pass
- Run test - confirm it passes
- Refactor if needed (tests must still pass)
Commands
# Run unit tests
make test
# Run smoke tests
SMOKE_TESTS=1 make test
# Format and lint
make format
Progress Updates
Before each step:
## Progress Tracking
| Step 1 | **in-progress** | Started [time] |
After each step:
## Progress Tracking
| Step 1 | **completed** | Finished [time] |
Phase 4: Finalize
4.1 Run All Tests
make test
INTEG_TESTS=1 make test
SMOKE_TESTS=1 make test
All tests must pass. Fix any failures before proceeding.
4.2 Lint
make format
Zero linting errors required. Fix any issues.
4.3 Security Scan
Run before commit:
snykcodescan with absolute project path
snykscascan with absolute project path
Fix any security issues (except in test data).
4.4 Generate & Update Docs
make generate
make generate-diagrams
Update documentation in ./docs as needed.
4.5 Commit
Pre-commit checklist:
Commit format:
type(scope): description [XXX-XXXX]
Body explaining what and why.
Never skip hooks. Never use --no-verify.
Phase 5: Session Hand-off
Update implementation plan with session summary according to the plan session handoff section.
Quick Reference
| Action |
Command |
| Unit tests |
make test |
| Integration tests s |
INTEG_TESTS=1 make test |
| Smoke tests |
SMOKE_TESTS=1 make test |
| Format & lint |
make format |