You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Local Markdown tracker: lifecycle conventions (BACKLOG queue, extract-then-archive, handoffs dir, status transitions)
#1108
issue-tracker-local.md says where files go, but not how an effort ends, what the cross-effort queue is, or how a session hands off to the next one. After a few weeks of running the Local Markdown backend on three private repos, we converged on the same small set of additions in each, so I am offering them here in case they are useful upstream.
What is missing today
Nothing says when an effort is finished or what happens to .scratch/<effort>/ afterwards, so finished efforts sit beside live ones and the next session cannot tell which is which.
There is no cross-effort queue. Follow-ups discovered inside one effort ("should do X later") have nowhere to go except that effort's own files, which are exactly the files nobody reads once it is done.
The handoff skill writes to a temp dir by default; on a fresh machine or after a reboot the note is gone.
Nothing says whether .scratch/ is committed or gitignored, and walk evidence (logs, diffs, captures) ends up in history when it is committed.
What we added (full text in the gist below)
.scratch/BACKLOG.md: the one cross-effort live queue. Numbered items with a source pointer; numbers are never reused; an item leaves the file in the commit that closes it. Every session starts by reading it.
Extract-then-archive: an effort is finished when every ticket is terminal and its closure doc has a ## Closure block. Then walk every deferred line and ticket comment, turn each into a BACKLOG item or a ticket, or drop it by name; prune evidence; git mv the effort to .scratch/archive/; log a row in archive/README.md; rewrite inbound paths.
.scratch/handoffs/<date>-<slug>.md as the handoff location (overrides the skill's temp-dir default). The newest note is the one the next session reads; the note points at BACKLOG, never embeds it.
Explicit status transitions on top of the existing triage strings: ready-for-agent → claimed → done — <sha>, with wontfix and superseded — <pointer> as terminal alternatives, and a dated ## Comments entry naming the evidence for each change.
.scratch/ is committed; a four-line .gitignore block keeps **/evidence/, **/worktrees/, *.log, *.diff out.
One "re-verify before scheduling" rule: a BACKLOG item's evidence was true when it was written, not necessarily now.
It adds no new backend and no CLI shape; it only completes the Local Markdown one. The additions are convention text, so /to-spec, /to-tickets, /triage, /wayfinder and /handoff keep working unchanged; the handoff skill would just gain one sentence about the .scratch/handoffs/ location when the local backend is selected.
Happy to open a PR against issue-tracker-local.md (and the matching setup-matt-pocock-skills scaffolding for BACKLOG.md, the gitignore block and the AGENTS.md section) if you want it, and to trim to whichever subset you think belongs. If it does not fit, no problem; we will keep carrying it as a small scaffold skill of our own.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
issue-tracker-local.mdsays where files go, but not how an effort ends, what the cross-effort queue is, or how a session hands off to the next one. After a few weeks of running the Local Markdown backend on three private repos, we converged on the same small set of additions in each, so I am offering them here in case they are useful upstream.What is missing today
.scratch/<effort>/afterwards, so finished efforts sit beside live ones and the next session cannot tell which is which.handoffskill writes to a temp dir by default; on a fresh machine or after a reboot the note is gone..scratch/is committed or gitignored, and walk evidence (logs, diffs, captures) ends up in history when it is committed.What we added (full text in the gist below)
.scratch/BACKLOG.md: the one cross-effort live queue. Numbered items with a source pointer; numbers are never reused; an item leaves the file in the commit that closes it. Every session starts by reading it.## Closureblock. Then walk every deferred line and ticket comment, turn each into a BACKLOG item or a ticket, or drop it by name; prune evidence;git mvthe effort to.scratch/archive/; log a row inarchive/README.md; rewrite inbound paths..scratch/handoffs/<date>-<slug>.mdas the handoff location (overrides the skill's temp-dir default). The newest note is the one the next session reads; the note points at BACKLOG, never embeds it.ready-for-agent→claimed→done — <sha>, withwontfixandsuperseded — <pointer>as terminal alternatives, and a dated## Commentsentry naming the evidence for each change..scratch/is committed; a four-line.gitignoreblock keeps**/evidence/,**/worktrees/,*.log,*.diffout.Gist with the doc as we ship it plus the BACKLOG header, archive README, gitignore block and the AGENTS.md section: https://github.com/proxy/gist.github.com/astarktc/7ee5422eddff1ecaf76d954ad1b268e7
Why it might fit here
It adds no new backend and no CLI shape; it only completes the Local Markdown one. The additions are convention text, so
/to-spec,/to-tickets,/triage,/wayfinderand/handoffkeep working unchanged; thehandoffskill would just gain one sentence about the.scratch/handoffs/location when the local backend is selected.Happy to open a PR against
issue-tracker-local.md(and the matchingsetup-matt-pocock-skillsscaffolding for BACKLOG.md, the gitignore block and the AGENTS.md section) if you want it, and to trim to whichever subset you think belongs. If it does not fit, no problem; we will keep carrying it as a small scaffold skill of our own.All reactions