.claude/skills/planning/SKILL.md
Planning work in small, known-good increments. Use when starting significant work or breaking down complex tasks.
npx skillsauth add taewook486/real-estate-mcp planningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
All work must be done in small, known-good increments. Each increment leaves the codebase in a working state where all tests pass.
Document Management:
localdocs/plan.<topic>.mdlocaldocs/backlog.<topic>.mdworklog skill (localdocs/worklog.todo.md, localdocs/worklog.doing.md, localdocs/worklog.done.md)localdocs/learn.<topic>.mdplanning skill at planning time (before implementation starts).progress-guardian to track progress/learning snapshots and step-by-step status.tdd-guardian.For significant work, maintain one long-term plan, worklog files, and a learning note:
| Document | Purpose | Lifecycle |
|----------|---------|-----------|
| localdocs/backlog.<topic>.md | Future ideas before planning | Optional, persistent |
| localdocs/plan.<topic>.md | What we're doing | Created at start, changes need approval |
| localdocs/worklog.todo.md | Pending phase/session tasks | Persistent |
| localdocs/worklog.doing.md | In-progress phase/session tasks | Persistent |
| localdocs/worklog.done.md | Completed phase/session log | Persistent |
| localdocs/learn.<topic>.md | Learning notes / gotchas / decisions | Temporary, merged then archived/removed |
`localdocs/plan.<topic>.md` (static) `worklog.todo/doing/done` (execution log) `localdocs/learn.<topic>.md` (learning notes)
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Goal │ │ Current step │ │ Gotchas │
│ Acceptance │ ──► │ Status │ ──► │ Patterns │
│ Steps 1-N │ │ Blockers │ │ Decisions │
│ (approved) │ │ Next action │ │ Edge cases │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
└─────────────────────────┴─────────────────────────┘
│
▼
END OF FEATURE
│
┌─────────────┴─────────────┐
│ │
▼ ▼
Keep worklog logs Merge architectural learnings into:
- CLAUDE.md (`learn`)
- ADRs (`adr`)
Each step MUST:
If you can't describe a step in one sentence, break it down further.
Too big if:
Right size if:
Every step follows RED-GREEN-REFACTOR. See testing skill for factory patterns.
FOR EACH STEP:
│
├─► RED: Write failing test FIRST
│ - Test describes expected behavior
│ - Test fails for the right reason
│
├─► GREEN: Write MINIMUM code to pass
│ - No extra features
│ - No premature optimization
│ - Just make the test pass
│
├─► REFACTOR: Assess improvements
│ - See `refactoring` skill
│ - Only if it adds value
│ - All tests still pass
│
└─► STOP: Wait for commit approval
No exceptions. No "I'll add tests later."
NEVER commit without user approval.
After completing a step (RED-GREEN-REFACTOR):
localdocs/worklog.doing.md with progressworklog skill (todo → doing → done)localdocs/learn.<topic>.md when discoveredOnly proceed with commit after explicit approval.
localdocs/plan.<topic>.md Structure# Plan: [Feature Name]
## Goal
[One sentence describing the outcome]
## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
## Steps
### Step 1: [One sentence description]
**Test**: What failing test will we write?
**Implementation**: What code will we write?
**Done when**: How do we know it's complete?
### Step 2: [One sentence description]
**Test**: ...
**Implementation**: ...
**Done when**: ...
If the plan needs to change:
Plans are not immutable, but changes must be explicit and approved.
worklog StructureUse the worklog skill as the source of truth for:
localdocs/worklog.todo.mdlocaldocs/worklog.doing.mdlocaldocs/worklog.done.mdDo not maintain separate manual templates for these files in planning docs.
Update localdocs/worklog.doing.md:
If localdocs/worklog.doing.md doesn't reflect reality, update it immediately.
localdocs/worklog.done.mdAppend-only execution history grouped by date. Update via worklog done ....
Don't wait until the end. When you discover something:
localdocs/worklog.done.md via worklog done ...localdocs/learn.<topic>.md Structure# Learnings: [Feature Name]
## Gotchas
- [What happened and why]
## Patterns
- [What worked and when to apply]
## Decisions
- [Decision + rationale + trade-offs]
When all steps are complete:
localdocs/worklog.doing.mdUse localdocs/learn.<topic>.md as the source for knowledge merge (learn/adr):
| Learning Type | Destination | Method |
|---------------|-------------|--------|
| Gotchas | CLAUDE.md | Use learn agent |
| Patterns | CLAUDE.md | Use learn agent |
| Architectural decisions | ADR | Use adr agent |
| Domain knowledge | Project docs | Direct update |
After learnings are merged:
rm localdocs/plan.feature.md
git add -A
git commit -m "chore: complete [feature], remove planning docs"
The knowledge lives on in:
❌ Committing without approval
❌ Steps that span multiple commits
❌ Writing code before tests
❌ Letting localdocs/worklog.doing.md become stale
❌ Confusing worklog and learning docs
learn/adr capture lasting knowledge❌ Putting future ideas directly into plan
localdocs/backlog.<topic>.md❌ Plans that change silently
❌ Deleting worklog files
START FEATURE
│
├─► Create `localdocs/plan.<topic>.md` (get approval)
├─► Use `worklog todo` to queue phase/session tasks
├─► Use `worklog doing` to start tasks
│
│ FOR EACH STEP:
│ │
│ ├─► RED: Failing test
│ ├─► GREEN: Make it pass
│ ├─► REFACTOR: If valuable
│ ├─► Update `worklog` states
│ ├─► Record completions in `localdocs/worklog.done.md`
│ └─► **WAIT FOR COMMIT APPROVAL**
│
END FEATURE
│
├─► Verify all criteria met
├─► Merge learnings (learn agent, adr agent)
└─► Close/remove only `localdocs/plan.<topic>.md` (keep worklog files)
testing
--- name: worklog description: Update worklog files by moving tasks between todo/doing/done states. Use when recording task progress, starting new work, or marking tasks complete. Requires explicit arguments: worklog [done|doing|todo] [description]. --- # Worklog Update task state in worklog files. Requires explicit arguments. ## Worklog Files - `localdocs/worklog.todo.md` — backlog - `localdocs/worklog.doing.md` — in progress - `localdocs/worklog.done.md` — completed (grouped by date, appen
development
Test-Driven Development workflow. Use for ALL code changes - features, bug fixes, refactoring. TDD is non-negotiable.
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
development
Refactoring assessment and patterns. Use after tests pass (GREEN phase) to assess improvement opportunities.