plan-task
Scannednpx machina-cli add skill LevNas/ccmemo/plan-task --openclawPlan & Task Persistence
Goal
Maintain plans and task progress across Claude Code sessions so that work can be resumed without losing context.
When to Use
- Starting a multi-step task that may span multiple sessions
- Resuming work — check
.claude/tasks/readme.mdfor incomplete plans - Updating progress on an existing plan
- Closing out or archiving a completed plan
Directory Naming
.claude/tasks/<slug>-<account>-<date>/ # Without issue reference
.claude/tasks/<slug>-i<issue>-<account>-<date>/ # With issue reference
- Separate components with
-(hyphen) - Separate words within slug with
_(underscore) - Slug uses lowercase alphanumeric only; date is YYYYMMDD
- Example:
docker_migration-alice-20260304/ - Example:
auth_refactor-i42-bob-20260304/
Directory Structure
.claude/tasks/
├── readme.md # Index of all plans (status and summary)
├── <slug>-<account>-<date>/
│ ├── readme.md # Purpose, current state, file listing
│ ├── plan-v1.md # Initial plan (approach, design decisions, context)
│ ├── plan-v2.md # Revised plan (v1 remains unchanged)
│ ├── todo.md # Current task progress (frequently updated)
│ └── ...
Creating a Plan
- Create
.claude/tasks/<slug>-<account>-<date>/following the naming convention - Write
plan-v1.mdwith: approach, design decisions, background, completion criteria - Write
todo.mdwith a checkbox task list - Write
readme.mdwith the plan's purpose and current state - Add an entry to
.claude/tasks/readme.md
Working on Tasks
- Update
todo.mdonly — do not modify plan files - Mark task status:
- [ ](pending) →- [~](in progress) →- [x](done) - Record discovered issues or blockers indented below the relevant task
- Add new task lines to
todo.mdas work expands
Issue Tracker Sync (Optional)
If the plan is linked to an issue in your project's issue tracker:
- Check the issue for updates before starting work on
.claude/tasks/ - Reflect any direction changes or new comments into
.claude/tasks/ - Include the issue reference in commit messages
- Post progress comments to the issue when milestones are reached
Revising a Plan
- Do NOT edit existing
plan-vN.mdfiles — createplan-vN+1.mdinstead - Reset
todo.mdto match the new plan (carry over incomplete items) - Update
<slug>/readme.mdwith which version is current and why the revision was needed - Claude Code reads only the latest
plan-vN.mdandtodo.md
Committing Progress
- Commit when task progress changes (completion, blockers found, etc.)
- If linked to an issue, report progress there as well
Pausing or Completing Work
On session end or interruption
- Update
<slug>/readme.mdwith current state and handoff notes - Next session starts by checking
.claude/tasks/readme.mdfor incomplete plans
On plan completion
- Mark all tasks in
todo.mdas done - Update
<slug>/readme.mdstate to "completed" - Move the entry in
.claude/tasks/readme.mdfrom the active table to the completed table
Overview
Plan & Task Persistence helps you organize multi-step work across Claude Code sessions. It uses a standardized folder structure, versioned plan files, and a living to-do list to resume, update progress, and archive completed work without losing context.
How This Skill Works
You create a dedicated .claude/tasks/ directory named with slug-account-date, then populate plan-v1.md, todo.md, and readme.md. Claude Code uses the latest plan-vN.md and todo.md to guide work; progress is tracked with checkbox states and optional issue-tracker syncing for direction changes and commits.
When to Use It
- Starting a multi-step task that may span multiple sessions
- Resuming work — check .claude/tasks/readme.md for incomplete plans
- Updating progress on an existing plan
- Closing out or archiving a completed plan
- Syncing with an issue tracker to reflect updates and commits
Quick Start
- Step 1: Create .claude/tasks/<slug>-<account>-<date>/ following the naming convention
- Step 2: Write plan-v1.md with approach, decisions, background, and completion criteria; write todo.md and readme.md
- Step 3: Start work by updating readme.md, then update todo.md as tasks progress and commit changes when milestones are reached
Best Practices
- Update only todo.md while working on tasks; do not modify plan-vN.md files
- Mark progress with - [ ] → - [~] → - [x] to reflect status
- Indent blockers or issues under the relevant task in todo.md
- Add new task lines to todo.md as work expands
- If linked to an issue, reflect changes in commit messages and issue comments
Example Use Cases
- Create .claude/tasks/docker_migration-alice-20260304/ with plan-v1.md, todo.md, and readme.md to start a multi-step migration
- Resume work by opening .claude/tasks/readme.md to view incomplete plans and their current state
- Update progress by editing only todo.md and leaving plan-v1.md unchanged
- Complete all tasks, mark them as done, update readme.md to completed, and archive the entry in readme.md
- Sync with an issue tracker: check the issue for updates, reflect changes in .claude/tasks, and include the reference in commits