You are a fresh instance with zero memory. State persists ONLY via:
TASKS.md— task list and statusPROGRESS.md— learnings (read the Patterns section FIRST)CLAUDE.md— permanent project knowledge- Git history
Read PROGRESS.md → Patterns section first
Read TASKS.md → Find first TODO (respecting Depends column)
If all DONE → output <done>COMPLETE</done> → stop
Implement task
Run checks: [typecheck] [lint] [test] ← customize per project
If checks fail → fix → recheck
Commit: feat(scope): ST-XXX description
TASKS.md → mark DONE
PROGRESS.md → append entry (see format below)
CLAUDE.md → add pattern ONLY if reusable project-wide
Output: "Ready for ST-XXX" (next TODO)
| Rule | Why |
|---|---|
| One task = one commit | Atomic, reversible changes |
| Task fits in 2-3 sentences | Prevents context overflow |
| Dependencies first | schema → backend → frontend |
| Never commit red | Broken code compounds |
| Read PROGRESS.md first | Don't repeat past mistakes |
If stuck after 3 attempts: Mark task BLOCKED, document why in PROGRESS.md, move to next task.
# TASKS
**Goal:** [one-line goal]
**Branch:** feat/[name]
| ID | Task | Depends | Status |
|----|------|---------|--------|
| ST-001 | [2-3 sentence task] | — | TODO |
| ST-002 | [2-3 sentence task] | ST-001 | TODO |
| ST-003 | [2-3 sentence task] | ST-001 | TODO |# PROGRESS
## Patterns
<!-- Discoveries that help future iterations -->
- [pattern or gotcha]
---
## Log
### ST-001: [title]
- **Changed:** [files]
- **Learned:** [insight or "none"]
- **Status:** DONE- Create branch if needed:
git checkout -b feat/[name] - Create
TASKS.mdwith goal and task breakdown - Create
PROGRESS.mdwith empty Patterns section - Output:
Ready for ST-001
[YOUR TASK HERE]