Skip to content

v0.2.0

Latest

Choose a tag to compare

@zaventh zaventh released this 31 Jul 21:52
69da4f6

Guards the AGENTS.md router against context leaking back into it.

The value of the dotagents layout depends on the router staying a router. The most common way that decays: an agent learns something durable and writes it into AGENTS.md, because that file is already in its context while .agents/ is not. Repeat a few times and the router is the monolith again. This release makes the write path explicit.

Install

npx skills add zaventh/dotagents-standard-skill

What changed

  • SKILL.md — new "Writing context back (the append trap)" section. States the order: classify the context, write it into .agents/, and only then add a routing line — never the content itself. Includes a self-check to run before any AGENTS.md write, and a worked trap-vs-correct example.
  • Names the second sink: host-local agent memory. ~/.claude/ and similar tool-local memory features are machine-local, uncommitted, and invisible to other tools and teammates — knowledge that lands there is lost to the repo just as surely as knowledge appended to the router.
  • ## Maintenance block added to assets/templates/AGENTS.md, to the router example in SKILL.md, and to the worked example in examples/sample-project/.
  • Dropped the permissive You may append durable decisions to .agents/memory/decisions.md capability line from both routers — it read as an allowance rather than a constraint.

A note on validation

These changes were measured with a behavioral eval — 60 runs across two fixture shapes and both router versions — and the append failure they guard against did not reproduce in any run. So this is preventive hardening, not a fix for observed behavior.

The leak that did reproduce is the other one: a "remember I prefer X" instruction landed in host agent-memory rather than .agents/memory/ in most runs, and the router guardrail did not change that. It originates above the project-context layer, so it is documented here but not solved.

Full notes in the changelog.