✅ Open source (MIT) · ✅ Model-agnostic — runs in any agent
Keep the thread — within a session, and across them.
A small, agent-agnostic skill that keeps work on-thread — within a single session, and across the seam between sessions or agents. (Task Track + Handoff.)
It packages two linked habits:
The point that ties them together: the ⭐️ MAIN tag is the shared goal anchor. Task Track holds it within a run; the handoff’s ⭐️ Goal carries it across runs. One sentence: don’t lose the thread — within a session, or between them.
New in 0.3.0 — the rules live in one data file (rules/task-rules.json) that the checker reads and the flow is drawn from;
the handoff has nine sections found by name, and a skeleton every project can share. See the CHANGELOG.
New in 0.2.0 — disciplines extracted from another year of daily use:
LANDED / PARTIAL / NOT-LANDED (evidence attached; silence is not
a verdict). A redirect appends a new goal — it never rewrites the old one.built and verified tick separately; verified only after the
named check actually ran.A single, self-contained SVG — opens in any browser or Markdown viewer, nothing to install. For the rules themselves there is an interactive rule map (open the HTML in a browser): every rule in
rules/task-rules.jsonas a card under the moment it first fires — hover a card for its why, its pass condition and what checks it. The map is generated from the rule file, so it changes when the rules do; the picture above is the idea, and stays. Both are drawn with Arcgram — the project Throughline’s disciplines were lived on before they were extracted here.
The thread runs: a session’s ⭐️ MAIN is written into the handoff’s ⭐️ Goal, picked up by the next session, re-derived against ground truth, and carried forward as the next ⭐️ MAIN — which loops back to begin the cycle again.
| Path | What it is |
|---|---|
skills/throughline/SKILL.md |
The skill — the two habits and how they connect. Works as a skill or a paste-in prompt. |
.claude-plugin/plugin.json |
Plugin manifest (so it installs as a Claude Code / Cowork plugin). |
commands/handoff.md |
The write operation: compact a session into a handoff doc. |
commands/resume.md |
The read operation: pick up a handoff and re-derive before trusting it. |
templates/handoff.template.md |
The single source of truth for a handoff’s structure. |
references/task-track.md |
The within-session discipline, in depth. |
references/handoff.md |
The across-session protocol (the seven anti-drift mechanisms + the multi-agent rules), in depth. |
examples/example-handoff.md |
A filled-in handoff to copy the shape from. |
rules/task-rules.json |
Every rule as data — the one source the checker reads and the flow is drawn from. |
tools/handoff.py |
Optional, zero-dependency helper: new (scaffold), check (validate against the rules), brief. |
tools/test_handoff.py |
Its tests: python3 tools/test_handoff.py. |
assets/logic-flow.svg |
The diagram above — how the two halves share one goal anchor (an Arcgram flow, exported as SVG). |
assets/throughline-flow.html |
The rule map, interactive: every rule under the moment it first fires, drawn from the rule file (hover a card for its why, pass condition and what checks it). |
As a prompt (any agent — Claude, OpenAI, Gemini, Cursor, Cline, a local model). Paste the relevant file into your agent. Nothing assumes a particular platform; every capability degrades gracefully (no file write → emit inline; no live access → re-derive from the artifacts you have; no code execution → skip the helper).
As a skill / slash command (Claude Code, Cursor, etc.). Drop the folder where your tool reads
skills/commands. Then handoff to wrap up and resume to pick up.
The optional helper (only where you can run code) does the mechanizable half — it never summarizes:
python3 tools/handoff.py new # scaffold a blank handoff from the template
python3 tools/handoff.py check HANDOFF.md # validate: sections, one ⭐️ MAIN, re-derive note, secret sweep
It reads the required sections from the template at runtime, so the prompt and the validator can’t drift apart — the skill dogfoods its own single-source-of-truth rule.
Long or multi-agent work fails two ways: reasoning drifts off the goal within a session, and the thread gets dropped between sessions. The same goal anchor closes both gaps. The handoff is deliberately light — a plain-text artifact, capability-agnostic, with a write side and a read side — because the next agent might be anyone, anywhere, and a heavy protocol that assumes your platform is a protocol nobody else can pick up.
MIT — see LICENSE.