This file tracks the current sprint's tasks, blockers, and open questions. It is the first thing Claude Code checks after reading CLAUDE.md and PROJECT_UNDERSTANDING.md. Reset this file when starting a new sprint — move completed work to PLAN.md.
TASKS.md is the sticky note wall for the current sprint. It is not documentation — it is a live working tool. It should feel urgent and specific, not archived and polished.
- At the start of every session: review blockers and open questions first
- During a session: move tasks between In Progress / Done as work happens
- When something is deferred: add it to the Deferred section with a reason
- When a decision is made: add a dated note in the Decisions section
- At the end of a sprint: copy Done tasks to PLAN.md, then reset this file for the next sprint
TASKS.md = this sprint, this session, right now
PLAN.md = the full project roadmap, all sprints, all phases
If you find yourself writing future-sprint tasks here, move them to PLAN.md backlog instead.
Tasks must be specific enough to execute without asking a follow-up question.
Bad: "Fix the bug"
Good: "pieces.service.ts claimPiece — validate workstation assignment before write, return 403 if no UserWorkstation row matches"
Copy everything below this line into your project's TASKS.md and fill it in.
# TASKS.md — [Project Name]
> Sprint: [N.N — Name]
> Goal: [one sentence]
> Started: [date]
> Target: [date or milestone]
---
## Active Tasks
### In Progress
- [ ] [task — specific enough to execute]
### Up Next
- [ ] [task]
- [ ] [task]
### Done This Sprint
- [x] [task] — [brief note: how resolved or any gotcha]
---
## Blockers
Anything preventing progress. Must be resolved before sprint can complete.
| Blocker | Blocks what | Resolution path |
| ------- | ----------- | --------------- |
| [blocker] | [what it prevents] | [what needs to happen] |
---
## Open Questions
Questions that need answers before a task can be written or executed.
| Question | Who answers | Priority |
| -------- | ----------- | -------- |
| [question] | Bob / client / external | High / Medium / Low |
---
## Deferred From This Sprint
Tasks that were in scope but moved out.
- [ ] [task] — deferred because: [reason], moved to: [PLAN.md backlog / Sprint N.N]
---
## Decisions Made This Session
Anything decided that affects current or future work.
- [date] [decision]: [reason]
---
## Next Sprint Preview
[Sprint N.N+1 — Name]: [one sentence goal]