EpicSpine
Talk. It becomes a plan.
The memory is the repo.
A skill that turns loose chat into a tracked goal tree, kept as plain files in git next to the code, so every agent and every human picks up exactly where the last one stopped.
Navigate with ← → or Space; press G for the part-grouped index. Deep-link with #5. Diagrams do the explaining; the text is only a caption.
Agents lose the plot between chats.
Intent disappears
Long projects drift when the only memory is a transcript no future agent will read completely.
Tickets lack the whole story
A ticket is excellent for one bounded step, but too narrow to carry scope, direction and acceptance.
Agents overreach
Workers start planning, reviewers rewrite, and state gets buried in comments. The system needs boundaries.
The fix is two ideas: talk becomes a plan, and the memory is the repo.
Talk. It becomes a plan.
Say it loosely. It is structured for you into goals that are tracked and delivered.
What you say
for you
What the repo keeps: a goal tree
Unstructured in, structured out. Nothing said is lost; everything said becomes trackable.
The memory is the repo.
Goals, status, decisions and lessons are plain files, committed in git next to the code.
① Agents write
├─ src/ ← the code
└─ docs/ ← the memory
├─ EPIC-0-root.md
└─ EPIC-4-google-sign-in.md
## Decisions
03-12 Google only, Apple later
why: 9 of 10 asks name Google
## Operating Learnings
L-2 Always run e2e before merging
git log
a41c9e2 EPIC-4 S1 OAuth app verified
7be03d1 L-2 learned: e2e before merge
19f0c55 EPIC-4 created from chat
③ A new agent starts
--bind EPIC-4In seconds. No handover call.
Status and lineage travel with the code. Any new agent binds and has the whole build trace.
One living spine carries intent; everything else carries detail.
Readskill/epic-spine/SKILL.md
Intent to issues to proof to Book, then round again.
Readskill/epic-spine/SKILL.md skill/epic-spine/references/book-companion.md
Eight principles everything else follows from.
wt/<task> worktree.Source of truth: the Default Behaviors card in skill/epic-spine/SKILL.md and the root spine's Always list.
Everything the skill does, and where to dig in.
A spine is small on purpose.
Readskill/epic-spine/references/spine-model.md skill/epic-spine/references/compact-state.md skill/epic-spine/references/sprint-dialect-v2.md skill/epic-spine/assets/compact-spine-template.md
One root. Children own local truth.
Readskill/epic-spine/references/execution-rollups.md skill/epic-spine/references/spine-model.md skill/epic-spine/references/persona-tasks.md
Bind first. Then read three hops.
Readskill/epic-spine/SKILL.md skill/epic-spine/references/role-protocols.md
Independence comes from fresh context.
Readskill/epic-spine/references/roles-and-dispatch.md skill/epic-spine/references/dispatch-prompts.md skill/epic-spine/assets/dispatch-prompt-preamble.md
Task instruction beats repo profile beats default.
Readskill/epic-spine/references/roles-and-dispatch.md
Settle the forks. Launch only the ready frontier.
Readskill/epic-spine/references/roles-and-dispatch.md skill/epic-spine/references/role-protocols.md
Stay in main. Isolate execution. Merge verified.
Readskill/epic-spine/references/git-doctrine.md
Verify on two axes before anything merges.
Readskill/epic-spine/references/roles-and-dispatch.md
Memory, at the depth where it applies.
Readskill/epic-spine/references/learnings.md
Documents have a contract. Checks prove it.
Readskill/epic-spine/references/structural-validation.md skill/epic-spine/references/execution-rollups.md skill/epic-spine/references/operating-model.md skill/epic-spine/scripts/validate_spine.py skill/epic-spine/scripts/spine_fix.py skill/epic-spine/scripts/close_rows.py skill/epic-spine/scripts/tree_audit.py skill/epic-spine/references/tree-cleanse.md
Leave the repo clean and the next agent a map.
Readskill/epic-spine/references/hygiene.md skill/epic-spine/assets/sweep-brief.md
One source, installed once, linked everywhere.
Readskill/epic-spine/references/skill-update.md SYNC.md
Bound on the first reply, on every harness.
Readskill/epic-spine/assets/agents-block.md skill/epic-spine/assets/global-block.md skill/epic-spine/scripts/agents_block.py skill/epic-spine/scripts/global_install.py skill/epic-spine/scripts/install_guard.py skill/epic-spine/scripts/pre_commit.py
Freshness is checked by content, once a day.
Readskill/epic-spine/references/skill-update.md skill/epic-spine/references/session-sync.md skill/epic-spine/scripts/skill_update.py skill/epic-spine/scripts/session_sync.py skill/epic-spine/scripts/repo_sync.py skill/epic-spine/scripts/fetch_guard.py skill/epic-spine/scripts/vendored_skill.py skill/epic-spine/scripts/stop_push.py skill/epic-spine/scripts/codex_hooks.py skill/epic-spine/scripts/rehook.py skill/epic-spine/scripts/background_sync.py skill/epic-spine/scripts/local_mess.py skill/epic-spine/scripts/local_servers.py skill/epic-spine/scripts/auto_return.py skill/epic-spine/scripts/deploy_gate.py skill/epic-spine/scripts/repo_state.py skill/epic-spine/scripts/sync_schedule.py skill/epic-spine/assets/epicspine-profile.md
The spine owns development. The Book owns understanding.
Readskill/epic-spine/references/book-companion.md
Declare it once. Every bound agent then authors.
Readskill/epic-spine/assets/book-companion-contract.md skill/epic-spine/references/book-companion.md
A shortlist is a first-class deliverable.
Readskill/epic-spine/references/shortlists.md skill/epic-spine/assets/shortlist.template.html skill/epic-spine/assets/shortlist-sample.json skill/epic-spine/references/artifacts.md
GitHub by default. Local files when declared.
Readskill/epic-spine/references/ticket-backends.md skill/epic-spine/assets/github-issue-template.md
A ticket moves from draft to done on evidence.
Readskill/epic-spine/references/operating-model.md skill/epic-spine/references/compact-state.md
Draft until stamped ready: the repo delivers itself.
draft; spine_new.py scaffolds it so. Never touched by a wake.ready child, starts its rows and sets it active.deferred, review, done, superseded: runnable is false in spines.py --json.The user writes into the spine and stamps what is ready; the manager stays on and does the rest. See skill/epic-spine/references/spine-model.md (Running).
Readskill/epic-spine/references/spine-model.md skill/epic-spine/scripts/run_state.py
One full task, goal to merged and recorded.
Readskill/epic-spine/references/role-protocols.md skill/epic-spine/references/git-doctrine.md
This repo is the skill, its own spine, and its own Book.
Readskill/epic-spine/SKILL.md docs/EPIC-0-OPERATING-SYSTEM.md tests/test_book_drift.py
Three surfaces, three checks, one final gate.
Readtests/test_book_drift.py tools/epicspine-manifest.sh skill/epic-spine/scripts/validate_spine.py
Read the source, not the summary.
- README.mdThe concept, install steps, and the spine-versus-issues rule.
- skill/epic-spine/SKILL.mdThe kernel and the Default Behaviors card.
- skill/epic-spine/references/roles-and-dispatch.mdBase roles, the dispatch profile, and binding prompts.
- skill/epic-spine/references/git-doctrine.mdWorktrees, integration, rollback and the clean-repo contract.
- docs/EPIC-0-OPERATING-SYSTEM.mdThe root spine: authoritative for current state.
- examples/EPIC-0-CLI-EXAMPLE.mdA populated spine you can validate locally.
- github.com/AlfaBlok/epicspine-skillThe canonical source repository and issue tracker.
skill/epic-spine/references/operating-model.md
skill/epic-spine/references/spine-creation.md
skill/epic-spine/references/spine-model.md
skill/epic-spine/references/compact-state.md
skill/epic-spine/references/sprint-dialect-v2.md
skill/epic-spine/references/execution-rollups.md
skill/epic-spine/references/structural-validation.md
skill/epic-spine/references/learnings.md
skill/epic-spine/references/personas.md
skill/epic-spine/references/standing-spines.md
skill/epic-spine/references/packs.md
skill/epic-spine/references/hygiene.md
skill/epic-spine/references/machine-dispatcher.md
skill/epic-spine/references/role-protocols.md
skill/epic-spine/references/dispatch-prompts.md
skill/epic-spine/references/book-companion.md
skill/epic-spine/references/shortlists.md
skill/epic-spine/references/ticket-backends.md
skill/epic-spine/references/artifacts.md
skill/epic-spine/references/skill-update.md
skill/epic-spine/scripts/validate_spine.py
skill/epic-spine/scripts/rollup_spine.py
skill/epic-spine/scripts/migrate_spine.py
skill/epic-spine/scripts/spine_new.py
skill/epic-spine/scripts/pack.py
skill/epic-spine/scripts/pack_init.py
skill/epic-spine/scripts/pack_validate.py
skill/epic-spine/scripts/pack_checks.py
skill/epic-spine/scripts/pack_md.py
skill/epic-spine/scripts/pack_export.py
skill/epic-spine/scripts/pack_intake.py
skill/epic-spine/scripts/pack_role.py
skill/epic-spine/scripts/spines.py
skill/epic-spine/scripts/bind.py
skill/epic-spine/scripts/agents_block.py
skill/epic-spine/scripts/global_install.py
skill/epic-spine/scripts/artifact_host.py
skill/epic-spine/scripts/url_gate.py
skill/epic-spine/scripts/skill_update.py
skill/epic-spine/scripts/build_shortlist.py
Tooling
tools/epicspine-manifest.sh
tests/test_book_drift.py
skill/epic-spine/assets/agents-block.md
skill/epic-spine/assets/global-block.md
skill/epic-spine/assets/book-companion-contract.md
skill/epic-spine/assets/compact-spine-template.md
skill/epic-spine/assets/dispatch-prompt-preamble.md
skill/epic-spine/assets/epic-spine-template.md
skill/epic-spine/assets/github-issue-template.md
skill/epic-spine/assets/shortlist-sample.json
skill/epic-spine/assets/shortlist.template.html
skill/epic-spine/assets/sweep-brief.md