agents-mdlisted
Install: claude install-skill jwogrady/spark
# agents-md — the agent behavioral-contract skill
A repo speaks to its AI contributors through **one canonical contract body**:
- **`AGENTS.md`** — the contract. Tool-agnostic: repo map, commands, workflow,
and the doctrine every AI agent must follow. Any agent reads it directly.
- **`CLAUDE.md`** — a pointer stub whose body is `@AGENTS.md`, so Claude Code
imports the same contract other tools read. Claude-specific notes may follow
the import, but only when genuinely tool-specific.
One body means the two files **cannot drift** — the dual-body model this skill
previously maintained required editing every rule twice, and the two paid a
truth-pass tax on every change. This skill owns both files.
## Division with native `/init`
Claude Code's native `/init` already *creates* a first `CLAUDE.md` by scanning a
repo. **Do not reimplement that.** This skill's jobs are the ones `/init` does
not do:
- **Author `AGENTS.md`** — the canonical body has no native generator. When
`/init` produced a full `CLAUDE.md`, move its body into `AGENTS.md` and leave
the `@AGENTS.md` stub behind.
- **Maintain & audit** the contract — patch missing sections, refresh stale
content, inject Spark's required doctrine (attribution, GitHub guardrails,
agent safety).
- **Migrate** a legacy dual-body pair (full `CLAUDE.md` + full `AGENTS.md`) to
the single-body model: merge, dedupe, keep the stricter rule on conflict, and
present the diff before writing.
## What the contract carries
The