Use when one repo must serve Claude, Codex, and other harnesses from a single canonical config without duplicated rules. Triggers on \"agnostic repo\", \"same brain\", \"AGENTS.md canonical\", \"claude code and codex\", \"skills symlink\", \"drift audit\". Non-triggers: memory handoff between agents (use unified-memory). Outcome: AGENTS.md as source of truth with thin per-harness imports, linked skills dir, and a passing drift audit.
Scanned 9/19/2026
Install to Claude Code
npx -y skills add majinmagros/magros.ai-skills --skill agnostic-repo-mirror --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Agnostic Repo Mirror?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majinmagros-agnostic-repo-mirror)More formats (shields.io, HTML) on the badges page.
---
name: agnostic-repo-mirror
description: "Use when one repo must serve Claude, Codex, and other harnesses from a single canonical config without duplicated rules. Triggers on \"agnostic repo\", \"same brain\", \"AGENTS.md canonical\", \"claude code and codex\", \"skills symlink\", \"drift audit\". Non-triggers: memory handoff between agents (use unified-memory). Outcome: AGENTS.md as source of truth with thin per-harness imports, linked skills dir, and a passing drift audit."
metadata:
origin: ECC
---
# Agnostic Repo Mirror
One repo, many harnesses. Keep `AGENTS.md` as the canonical source of
truth, shrink `CLAUDE.md` to a thin import, serve one shared skills
directory through a link, and audit drift on a schedule. File-level
mirror, not memory handoff: `unified-memory` moves context between
agents, this skill keeps the repo surfaces identical.
## When To Activate
- The user says same brain, stop choosing between harnesses, Claude
plus Codex, repo agnostic, or skills in two places.
- Rules live in both `CLAUDE.md` and `AGENTS.md` and already disagree.
- Skills are duplicated under per-harness folders and fixes land in
only one copy.
- A team adds a second harness to a repo that was Claude-only.
## Layout
```text
repo/
|-- AGENTS.md # canonical rules, edit here
|-- CLAUDE.md # thin import, do not extend
|-- .agents/
| `-- skills/ # canonical skills
`-- .claude/
`-- skills -> ../.agents/skills # link, not a copy
```
- Canonical content lives in exactly one place. Every other surface
imports or links to it.
- No rule text is typed twice. Duplicated text is drift waiting to
happen.
## Workflow
### 1. Promote AGENTS.md to canon
- Move all durable rules into `AGENTS.md`: identity, routing, model
policy, tool policy, style, done criteria.
- Delete harness-specific paths from the canon. Keep generic tokens
like `<repo>` and `<skills-dir>` instead of per-tool paths.
- Commit the canon before touching any import.
### 2. Shrink CLAUDE.md to an import
- Reduce `CLAUDE.md` to a short header plus one import line pointing
at the canon:
```text
@AGENTS.md
```
- Keep at most a small Claude-only appendix below the import for
genuinely Claude-only behavior. Anything shared moves up.
- Rule: edits to shared behavior go to `AGENTS.md`, never to the
appendix.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!