What done means
Problem, scope, numbered acceptance criteria, approach and tasks. Each task names the criteria it covers, the files it owns and the test that proves it.
You read it before code is written.Your agent writes the code. SpecWeave keeps what done means, what actually happened and where you stopped, as plain files in git. Any tool, any account and any model can read them.

The agent reads a short spec. The CLI appends task events and evidence to the ledger. Git review and access controls protect the history; these ordinary files are not a tamper-proof audit system.
Problem, scope, numbered acceptance criteria, approach and tasks. Each task names the criteria it covers, the files it owns and the test that proves it.
You read it before code is written.Append-only claims, completions with the commit and the real test output, notes between threads, and every handoff. A criterion is met when every task covering it is done.
Evidence, not a checkbox.The reason, the next step, open questions and your work in progress, pushed to a wip branch that a cloud thread or another machine can fetch.
Picked up in one read.Say "hand off" in the tool you are leaving and "pick up where I left off" in the next one. Codex can continue what Claude Code started, and a second subscription can continue the first. Nothing is copied between tools; the handoff is a commit and a ledger event.
Handoff and pickup in detail ↗Releases your claims, records why and what is next, pushes your branch and uncommitted edits.
specweave handoffFetches the handoff, applies your edits, prints the next task with its criteria.
specweave pickupPicked up the handoff from claude@cloud (out of tokens): applied 7 uncommitted files. SpecWeave pickup · you are codex@laptop Increment 0001-resumable-checkout "Resumable checkout" (active) · tasks 1/2 done Next: T-02 Restore the draft on return AC-01: Returning within 24 hours restores the cart and shipping choice AC-02: A paid order is never restored Files: src/restore.js | Test: npm test Branch: main · in sync with origin/main · 3 uncommitted files Last handoff: claude@cloud: out of tokens · next: finish restore on return Notes: - claude@cloud: Payment thread: drafts must never store card dataReal output from a second clone running as Codex, after Claude Code handed off.
A thread works on one branch and opens one pull request, which is exactly an increment's shape. The thread's checklist is the increment's task list. Threads leave each other notes in the ledger instead of editing each other's files, and decisions go into a committed memory folder in the same format as project memory, so they reach another account and another tool.
Claude Code Projects guide ↗
The dashboard reads the same files: intents, increments, claims and evidence. Reading it needs no model call. Moving a card is planning; only verification closes work.
The next agent gets the same acceptance criteria, completed task evidence, and next action.
Explore the work modelIllustrative board. Run specweave dashboard in your project for the real one.
Measured on a real project before and after the redesign.
AGENTS.md is the one instruction file every tool reads. CLAUDE.md imports it. In 2.x the same rules were written twice, about 3,300 tokens together.
Read once, by every tool.task next prints one task with the text of its criteria, so the agent stops rereading the whole spec for every task.
No tasks.md to rewrite.Everything no command reached, and the commands nobody called, are gone. Issues are only created when you run sync push.
Nothing behind your back.Keep the workflow, reusable expertise and native workspace easy to understand.
Define done. Keep the spec, task claims, verification and handoff in your repository.
Start the open-source workflow ↗Inspect and install skills. Evaluate their behavior against a baseline in a dedicated workspace.
Explore skills and evaluations ↗A private pilot for native coding sessions across your machines, with explicit accounts and approvals.
Explore the private pilot ↗