A project-agnostic operating contract for coding agents. It standardizes how agents isolate changes, publish pull requests, maintain durable project documentation, and share project skills across agent-specific discovery paths.
It deliberately does not choose a programming language, engine, test framework, CI service, or deployment platform.
The tools require Git, Python 3.11 or newer, and GitHub CLI only for merged-worktree cleanup.
- an
AGENTS.mdcontract that routes work to project knowledge and skills; - a
CLAUDE.mdadapter that imports the same contract for Claude Code; change-workflow, covering worktree creation through pull request and cleanup;document-governance, defining where durable knowledge and work records belong;skill-governance, maintaining.agents/skillsas the canonical project skill source;- preview-first tools for worktrees, contract checks, and skill mirrors.
Run from this repository:
python scripts/install.py --target ../your-project
The command only reports files it would create. Apply the same plan explicitly:
python scripts/install.py --target ../your-project --apply
The installer never overwrites a conflicting file. After installation, customize the read
triggers in AGENTS.md and add project validation commands to .agents/project.toml.
If the project already has an AGENTS.md or matching tool files, merge the previewed content
manually; conflict refusal is intentional.
AGENTS.md remains the single instruction source. CLAUDE.md starts with @AGENTS.md, and
the skill mirror tool publishes canonical .agents/skills into .claude/skills. Claude Code
can verify both surfaces with /memory and /skills.
python tools/agent_task.py start <actor> <change>
python tools/agent_task.py start <actor> <change> --apply
python tools/agent_task.py status
python tools/agent_task.py preflight
python tools/agent_task.py cleanup <actor> <change>
python tools/agent_task.py cleanup <actor> <change> --apply
Creating a worktree, publishing a pull request, and merging it are separate human approval boundaries. Merge approval includes cleanup only when the tool verifies that the exact merged branch is clean and contained in the base branch.