Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the user asks to copy, install, refresh, or update a repo-root AGENTS.md file from their canonical global instruction source. Also use when the user says "agent copy" or wants a repo-local AGENTS.md with global operating rules plus project-specific guidance.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-18 | ✗→✓ | ▲ Improved | -19% | 0% |
This skill creates or refreshes a repo-root AGENTS.md file by copying the user's canonical global agent instructions, then appending a repo-specific guide for the current project.
Architecture:
textcanonical global instructions -> repo-local AGENTS.md -> repo-specific tail
Use one agent-copy skill for this workflow. Do not create separate runtime-specific variants such as agent-copy-codex, agent-copy-claude, or agent-copy-cursor; change the source path instead.
Default source:
$HOME/.codex/AGENTS.mdDefault target:
./AGENTS.mdCodex is the default because this repo demonstrates a Codex-first setup. If the user's canonical instructions live somewhere else, use that source path instead. Examples include a Claude project instruction file, an OpenCode context file, or another agent-compatible global instruction file.
Only AGENTS.md files should be created, copied, or updated unless the user explicitly asks for another instruction file.
The repo-root ./AGENTS.md file must:
## Repo-Specific Guide.TBD - ask the user before implementing this area.Do not paraphrase, summarize, or partially copy the canonical source file.
Check for the default source:
bashtest -f "$HOME/.codex/AGENTS.md" && echo "$HOME/.codex/AGENTS.md"
If the file does not exist and the user wants Codex as the canonical source, tell the user to install the repo's root AGENTS.md template into their Codex root first:
bashmkdir -p "$HOME/.codex" cp AGENTS.md "$HOME/.codex/AGENTS.md"
If the user is not using Codex, ask for the exact path to their equivalent canonical instruction file before copying anything.
Run before editing:
bashpwd git status --short --branch git branch --show-current git remote -v find . -maxdepth 2 -type f \( -name 'package.json' -o -name 'pnpm-lock.yaml' -o -name 'package-lock.json' -o -name 'yarn.lock' -o -name 'pyproject.toml' -o -name 'requirements.txt' -o -name 'go.mod' -o -name 'Cargo.toml' -o -name '.env.example' -o -name 'README.md' -o -name 'DESIGN.md' \) -print find . -maxdepth 3 \( -name AGENTS.md -o -name CLAUDE.md \) -print
Scan and read existing repo docs/manifests before writing repo-specific details.
If ./AGENTS.md already exists:
If existing repo instructions conflict with the selected canonical source, keep the canonical source rules unless the user explicitly says the repo is an exception.
Append this section after the global preamble. Populate known fields from the user's project description, README.md, DESIGN.md, package manifests, lockfiles, env examples, app directory structure, existing scripts, and tests.
Never invent production credentials, live deployment state, database schema, auth policy, or external integrations.
md## Repo-Specific Guide ### Project Overview ### Product Goal ### Audience / Users ### Key Directories / Docs / Scripts ### Stack / Architecture ### Local Dev Commands ### Build / Test / Verification ### Branch / Git Workflow ### Boundaries / Do Not Touch ### Implementation Notes
After writing:
bashSOURCE_AGENTS="${SOURCE_AGENTS:-$HOME/.codex/AGENTS.md}" head -n "$(wc -l < "$SOURCE_AGENTS")" ./AGENTS.md | cmp "$SOURCE_AGENTS" - rg -n "Repo-Specific Guide|Project Overview|Product Goal|Stack / Architecture|Build / Test / Verification|Boundaries / Do Not Touch|Implementation Notes" ./AGENTS.md git status --short --branch
If a non-default source was used, set SOURCE_AGENTS to that path before verification.
Report whether the global preamble verification passed.
Final response should include:
Commit only when the user explicitly asked for commit/push or the current task includes publishing.
Other measured skills in the registry, with their headline benchmark lift.