A Store Without Discipline Drifts
Persistent memory solves one problem and immediately creates another. Once your AI coding assistant can write durable state — tasks, progress breadcrumbs, lessons learned — the question becomes: who makes sure that state stays accurate?
Without a consistent protocol, breadcrumbs go stale. Completed tasks sit open. Sprint-resume notes pile up instead of replacing each other. The store that was supposed to provide reliable recovery becomes a liability — a pile of half-truths that the next session has to sort through before it can do anything useful.
This is not a hypothetical. It is the failure mode we hit repeatedly before skills existed. The four-system architecture gives todo-mcp the right places to store things. Skills are what keep those places clean.
What Skills Actually Are
A skill is a versioned, reusable procedure that an AI agent follows to perform a recurring kind of work. It is not code that runs automatically — it is a protocol the agent reads and executes, the same way every time.
Think of it as the difference between having a database and trusting the database. Todo-mcp is the database. Skills are the transactions that keep it consistent.
Each skill is self-contained: it defines when to use it, what steps to follow, what state to read and write, and how to clean up when done. The agent does not need to remember the choreography because the skill spells it out. This matters because agents forget choreography — that is the whole problem.
The Iron Rules Skills Enforce
The reliability of crash recovery and session resume depends on a small set of invariants. Break any of them and the next context_resume returns misleading information. Skills enforce these rules automatically:
- One task in progress at a time. If two tasks are marked active, the agent cannot know which one it was actually working on after a crash. The
task-executionskill starts exactly one task and does not start another until the first is closed. - A progress breadcrumb for every active task, updated every meaningful step. This is the write-ahead breadcrumb that makes crash recovery possible. The skill writes it at natural checkpoints — after each subtask, before long operations, after build results — so the agent never has to remember to do it.
- On completion, the task closes and its breadcrumbs are cleaned up. A completed task with orphaned breadcrumbs creates noise for future sessions. The skill pairs
todo_completewithcontext_delete pattern:"task_#N_*"in the same move. - A new sprint-resume note replaces the old one. Sprint-resume state in auto-memory should reflect the current position, not accumulate a history. The skill deletes the predecessor when writing the new one.
None of these rules are complicated. The hard part is doing them consistently, every time, across every session — which is exactly what agents are bad at without external structure.
How a Skill Reads in Practice
Here is the shape of the task-execution skill — the one that governs working a single strategic task:
1. Confirm exactly one task is in_progress (if not, select and start one)
2. Decompose into subtasks — surface them in TaskCreate for the user
3. Work each subtask sequentially:
a. Do the work
b. Update the progress breadcrumb: DONE / NOW / NEXT / BUILD
c. Mark the subtask complete in TaskCreate
4. After all subtasks: verify the task's acceptance criteria
5. Close out:
a. todo_complete the strategic task
b. context_delete pattern:"task_#N_*"
c. Clear the TaskCreate checklist Every step that touches the store is explicit. The agent does not improvise the order or skip the cleanup. The skill is the transaction boundary around a unit of work.
Central Skills, Project-Specific Parameters
Skills are reusable across every project. Each project supplies a thin layer of its own values — build commands, test commands, excluded directories, naming conventions — through a project overlay and auto-memory.
The skill says "run the baseline health check." The project says "here is the exact build and test command for this repo." The baseline-health skill is identical everywhere. In a Go project, the overlay fills in go vet and go build with the correct flags. In a TypeScript project, the same skill runs that project's commands.
This means improvements to a central skill benefit every project at once. Local quirks stay local. One playbook, many stages.
The Compounding Effect
Skills close a loop that makes the workflow self-improving. Here is the cycle:
- A sprint runs. The agent follows skills to maintain consistent state.
- A retrospective surfaces a lesson — "tests must exclude the external-reference folder."
- The
sprint-closeoutskill files that lesson into auto-memory. - Next session, auto-memory auto-loads. The agent never re-learns it the hard way.
Multiply across dozens of sprints and the practice quietly sharpens itself. The methodology gets better with use — not because the model got smarter, but because the skills captured what it learned and fed it back in.
What Happens Without Skills
An agent can use todo-mcp without skills. It works — inconsistently. Some sessions the breadcrumbs are thorough. Other sessions they are skipped. Sometimes completed tasks get cleaned up; sometimes they don't. The store accumulates a mix of current and stale state, and the next context_resume cannot tell which is which.
The result feels like a capable tool with an unreliable operator. The tool never lost a byte of data. The process lost the discipline to keep that data meaningful.
Skills are the fix. They externalize the discipline so it does not depend on the agent remembering to be disciplined — which, across sessions and model switches, it will not.
Skills and the Four Systems
Each of the four memory systems has a different maintenance cadence, and skills are what enforce it:
| System | What skills do with it |
|---|---|
| Auto-memory | Write durable lessons at sprint close; replace stale resume notes |
| Todo-mcp tasks | Start one at a time; complete with cleanup; respect dependencies |
| Todo-mcp context | Write breadcrumbs at every checkpoint; delete on task close |
| TaskCreate | Decompose the active task; clear when task completes |
Without this mapping, state ends up in the wrong place — lessons crammed into context keys, ephemeral subtasks logged as strategic tasks, breadcrumbs never cleaned. Skills enforce not just the choreography, but the placement.
A Place for Every Thought
Most "AI loses context" pain is really state sprawl — everything jammed into one megaprompt or one catch-all store. The quiet superpower of this architecture is placement discipline: every kind of information has exactly one correct home, and skills are what route it there.
Stable facts and preferences go to auto-memory. Strategic work units go to todo-mcp tasks. In-flight crash protection goes to context breadcrumbs. The current task's subtask checklist goes to TaskCreate, visible to the user in real time. And how all of this recurring work is performed — that is the skills themselves.
The result: nothing competes, nothing is lost, and the prompt stays lean.
Getting Started with Skills
If you are already using Todo-MCP, the mastery documentation included with your installation covers the full skill protocol — starting with 00_FIRST_TIME_SETUP.md. The core skills (task-execution, sprint-closeout, baseline-health, and others) are ready to use. Each project adds its own overlay for local conventions.
If you have not tried it yet, skills are one of the reasons Todo-MCP exists: turning a capable but forgetful AI agent into one that maintains its own state with the consistency of a senior engineer who never skips a step.