Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Manage structured communication files (PLAN.md, TODO.md, SPEC.md, etc.) to coordinate work across agents and sessions. Use when starting complex tasks, delegating to subagents, or maintaining project state.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 118% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 95% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 262% | 0% |
Standard files for coordinating work across agents and sessions. These files serve as the single source of truth for project state.
The 3 core files for agent coordination:
markdown# Plan: <Project> ## Goal One-line objective. ## Strategy High-level approach. ## Phases ### Phase 1: <Name> [IN_PROGRESS] - Objective: What this achieves - Success criteria: How we know it's done
markdown# TODO ## Current Sprint ### In Progress - [ ] agent: Task description ### Ready - [ ] agent: Task description ### Blocked - [ ] agent: Task (blocked by: X)
markdown# Session: YYYY-MM-DD HH:MM ## Context What we were working on. ## Current State - PLAN phase: X, TODO items: Y, Blockers: None ## Next Actions 1. Complete X (assigned to: agent) 2. Start Y
| File | Purpose | Updated By | Read By | |------|---------|------------|---------| | PLAN.md | High-level strategy and approach | Lead agent | All agents | | TODO.md | Current tasks and queue | Working agents | All agents | | SPEC.md | Technical requirements and design | Architect/planner | Implementation agents | | DECISIONS.md | Architecture decisions (ADRs) | Any agent | All future agents | | SESSION.md | Session context and handoff | Current session | Next session | | STATUS.md | Current project state | Any agent | Status checks | | CHANGELOG.md | Completed work log | Working agents | Review agents |
Strategic direction. Updated when approach changes.
markdown# Plan: <Feature/Project Name> ## Goal One-line objective. ## Strategy High-level approach (2-3 paragraphs). ## Phases ### Phase 1: <Name> [IN_PROGRESS] - Objective: What this phase achieves - Success criteria: How we know it's done ### Phase 2: <Name> [PENDING] - Objective: ... ## Constraints - Must use X technology - Must maintain Y compatibility ## Risks - Risk: Mitigation strategy
State markers: [PENDING], [IN_PROGRESS], [COMPLETED], [BLOCKED]
Active work queue. Updated continuously.
markdown# TODO ## Current Sprint ### In Progress - [ ] <agent-name>: Task description (blocked by: X, ETA: Y) ### Ready - [ ] <agent-name>: Task description (depends on: X) - [ ] <agent-name>: Task description ### Blocked - [ ] <agent-name>: Task description (blocked by: X, reason: Y) ## Backlog - [ ] Future task ## Completed (Last 5) - [x] <agent-name>: Task description (completed: DATE)
Assignment format: <agent-name>: <task> (e.g., architect: Design auth API)
Technical specification. Updated during planning.
markdown# SPEC: <Component/Feature> ## Overview What this component does. ## Interface ### API/Exports
function doThing(input: Input): Output
### Typesinterface Input { ... } interface Output { ... }
## Behavior
- Given X, should Y
- Error cases: Z
## Dependencies
- Requires: module-a
- Used by: module-b
## Open Questions
- [ ] Question to resolveArchitecture Decision Records. Append-only.
markdown# Decisions ## ADR-001: <Title> **Date:** YYYY-MM-DD **Status:** Proposed | Accepted | Deprecated | Superseded by ADR-XXX ### Context What problem were we solving? ### Decision What did we decide? ### Consequences Positive: - Benefit 1 Negative: - Trade-off 1
ADR numbering: Sequential (ADR-001, ADR-002...)
Session handoff. Updated at end of session.
markdown# Session: YYYY-MM-DD HH:MM ## Context What we were working on and why. ## Current State - PLAN phase: X - TODO items in progress: Y, Z - Blockers: None | X ## Files Modified - `src/auth/login.ts` - Added validation - `tests/auth.test.ts` - Added tests ## Next Actions 1. Complete X (assigned to: agent-name) 2. Start Y (ready to go) ## Notes for Next Session - Watch out for: potential issue - Remember to: check Z
Quick status dashboard. Updated as needed.
markdown# Status **Last Updated:** YYYY-MM-DD HH:MM **Current Phase:** Implementation **Overall Health:** 🟢 On Track | 🟡 At Risk | 🔴 Blocked ## Progress - [x] Planning complete - [x] Design approved - [ ] Implementation (60%) - [ ] Testing - [ ] Deployment ## Blockers None. ## Recent Changes - Change 1 - Change 2
Completed work history. Append-only.
markdown# Changelog ## [Unreleased] ### Added - Feature X implemented by @agent-name - API endpoint Y added ### Fixed - Bug Z resolved ## [DATE] - Release Name ### Added - Initial implementation
Follows Keep a Changelog format.
bash# 1. Create PLAN.md with high-level strategy cat > PLAN.md << 'EOF' # Plan: User Authentication ## Goal Implement secure JWT-based authentication. ## Strategy ... EOF # 2. Create TODO.md with initial tasks cat > TODO.md << 'EOF' # TODO ## Current Sprint ### Ready - [ ] architect: Design auth API (SPEC.md) - [ ] security: Review threat model EOF # 3. Create initial SPEC.md template cat > SPEC.md << 'EOF' # SPEC: Authentication API ## Overview ... EOF
When using spawn-subagents or mixture-of-experts:
bash# Read context files before spawning PLAN=$(cat PLAN.md) TODO=$(cat TODO.md) SPEC=$(cat SPEC.md) # Spawn expert with full context tmux send-keys -t subagent-architect \ "pi -p 'Review PLAN.md, TODO.md, and SPEC.md. Then: $TASK' ..." C-m
At end of session:
bash# 1. Update TODO.md - mark completed, move in-progress to ready # 2. Update SESSION.md with current state # 3. Update CHANGELOG.md with completed work cat >> CHANGELOG.md << 'EOF' ### Added - Implemented user login flow (SESSION.md for details) EOF
Use files to share context between experts:
bash# Pre-populate files for experts to read for expert in architect security performance; do # Each expert reads PLAN/TODO/SPEC, writes to DECISIONS tmux send-keys -t "moe-$expert" \ "cat PLAN.md SPEC.md | pi -p 'Review and add decisions to DECISIONS.md' ..." C-m done
[IN_PROGRESS], [BLOCKED], [DONE]PLAN.md → Created at project start, updated when strategy shifts
TODO.md → Created with first tasks, updated continuously
SPEC.md → Created during design phase, refined during implementation
DECISIONS.md → Created on first ADR, appended forever
SESSION.md → Created at session end, archived after next session starts
STATUS.md → Created when needed, kept current
CHANGELOG.md → Created at project start, appended foreverbash# Check current status cat STATUS.md # See what's in progress grep -A 5 "In Progress" TODO.md # View recent decisions tail -50 DECISIONS.md # Find previous session context cat SESSION.md # See what changed recently tail -30 CHANGELOG.md
Other measured skills in the registry, with their headline benchmark lift.