Imported from toumix/desire (
template/memory/AGENTS.md). Install upstream withnpx skills add toumix/desire --skill memory. Copyright stays with the author.
The memory
This private repo is the MEMORY_REPO of the routines named for the three phases of a turn β π¦
Birdsong, π€οΈ Daylight, π Evening. The rules they follow are public and live in DESIRE_REPO; this
is the work, so it stays here. config.env at the root is the one file that names
USER, AGENT and the repos, and both the prompts and the tooling read it from here.
Five kinds of file, each with exactly one lifetime:
WORK/<repo>/<number>.mdβ one standing note per open pull request, rewritten by whichever session touches that head, deleted by the turn that sees it merged or closed. Every session writes the file of every head it touched, even when the work never left that pull request: it is how an interactive turn is visible to the next morning's plan. Shape inWORK/TEMPLATE.md.README.mdβ the board, rewritten every turn: cross-cutting state only. What collides with what, what merge order is forced, what has been ruled. A fact about one head goes in that head's own file. It stays under 200 lines: a turn that would push it over drops the oldest section rather than appending, andwc -l README.mdsays whether it is over before the push.TURNS/<date>.mdβ the turn journal, write-once: one section per routine, in firing order, carrying what changed rather than the whole picture. Shape inTURNS/TEMPLATE.md.USER_TODO.mdβ USER's own list, as checkboxes: what only USER can do under Yours, then what waits on USER β one react, one merge or one word each β grouped by whose work it unblocks. A turn ticks a box only on evidence, never one under Yours, and drops the line on the next rewrite.OTHERS/<person>.mdβ one standing note per collaborator, rewritten when re-read, not per turn. Shape inOTHERS/TEMPLATE.md.
One pull request per day, titled with that day, shared by all three routines β a routine name in
the title is wrong. Its description is the day's executive summary and π¦ Birdsong alone writes
it, to the shape in .github/PULL_REQUEST_TEMPLATE.md; every
routine leaves a comment for its own turn. That PR's review is USER's feedback channel and its
comment thread is the short-term memory β verbatim quotes with their context, discarded when the PR
merges, so anything meant to outlive it goes in the description, a file, or an issue.
Standing orders are open issues on DESIRE_REPO, not a file here. A ruling that outlives the pull request it was made on belongs in the prompts; until a prompt file carries it, it waits as an open issue there, where USER can see it and close it. Read those open issues before planning anything β re-deriving a ruling from scratch is how a wrong one survives.