agents-to-claude-md — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited agents-to-claude-md (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Global, project-agnostic skill. It finds every AGENTS.md in the current repo, identifies directories that have no matching CLAUDE.md, translates each source file using the Codex → Claude substitution table, and — with per-item approval — writes the draft or invokes /init inline for a richer code-derived alternative.
Use when: you've opened a Codex-first repo in Claude Code and there are zero or few CLAUDE.md files; the existing AGENTS.md files already describe the directory's purpose and conventions, so translation is a near-free win over starting from scratch.
find . -name AGENTS.md \
-not -path '*/node_modules/*' \
-not -path '*/.git/*' \
-not -path '*/vendor/*' \
-not -path '*/.venv/*'Also detect AGENTS.override.md files with a parallel find. Keep them in a separate list — they will be reported but not translated (no CLAUDE.override.md equivalent exists in Claude Code).
For each <dir>/AGENTS.md found, check whether <dir>/CLAUDE.md already exists. Separate results into three buckets:
AGENTS.md but no CLAUDE.md (action candidates)AGENTS.override.md, no AGENTS.md (skipwith note)
If there are no gaps, report "All directories with AGENTS.md already have a CLAUDE.md — nothing to do." and stop.
Present the gap list before doing anything else:
Directories with AGENTS.md but no CLAUDE.md
- src/backend/ (AGENTS.md: 34 lines)
- scripts/ (AGENTS.md: 12 lines)
Already in sync (skipped)
- . (both files exist)
Skipped — no Claude equivalent
- .github/ (AGENTS.override.md only — create CLAUDE.md manually if needed)Ask the user which items to act on. Do not proceed without explicit per-item approval.
Before presenting the translated draft for a given directory, apply the /where-claude scoring heuristic as a quick sanity check.
Positive signals (the directory likely warrants its own CLAUDE.md):
package.json, pyproject.toml, go.mod, Cargo.toml,setup.py, *.csproj, pom.xml, etc.
services/<x>, packages/<x>, apps/<x>, cmd/<x>.Negative signals (the directory may not need one):
CLAUDE.md.If the directory scores negatively, warn before showing the draft:
"Warning: this directory may not warrant its own CLAUDE.md — it has no module boundary and a parent instruction file may already cover it. Proceed anyway?"
If it scores positively, note the signal in the approval prompt (e.g., "This directory has its own package.json — a CLAUDE.md here is well-motivated.").
Read the AGENTS.md and apply the substitution table in order:
| Find | Replace with |
|---|---|
AGENTS.md / AGENTS.override.md | CLAUDE.md |
$<skill-name> invocation syntax | /<skill-name> |
where-agents-md cross-references | where-claude |
audit-agent-docs cross-references | audit-claude-md |
Codex config paths (~/.codex/, $CODEX_HOME, .codex/) | Claude config paths (~/.claude/, .claude/) |
| "Codex" when referring to the product | "Claude Code" |
| "AGENTS" as a generic concept for instruction files | "CLAUDE.md" |
Show the full translated draft to the user. For each item, offer two choices:
Option 1 — Write this translated draft as <dir>/CLAUDE.md Fast path; content mirrors the AGENTS.md. Best when the source is high-quality and detailed.
Option 2 — Invoke `/init` inline for this directory Claude invokes /init targeted at <dir> in this same session — no navigation needed. Produces a fresh, code-derived doc that may be richer than the translation. Best when the AGENTS.md is sparse or generic and the directory has substantial source code worth deriving context from.
Require an explicit choice (1, 2, or skip) before moving to the next item.
On choice 1: write <dir>/CLAUDE.md with the translated content. Create intermediate directories if needed.
On choice 2: invoke /init with <dir> as the target directory. /init will analyze that directory's code and write its own CLAUDE.md; record the outcome in the wrap-up.
On skip: record the directory in the wrap-up; do not write anything.
Report a summary in three sections:
Created (translated draft)
<dir>/CLAUDE.md
Created (via /init)
<dir>/CLAUDE.md
Skipped
<dir> — already existed
<dir> — user declined
<dir> — negative /where-claude signal, user chose not to proceedNote: CLAUDE.md files are picked up automatically in the next Claude Code session opened in that directory — no ./install.sh step or restart required.
CLAUDE.md. Skip with a per-item warning if the targetalready exists.
AGENTS.md.~/.claude/, ~/.codex/).AGENTS.override.md — skip it with an explanatory note./where-claude sanity check and surface the result in the approval prompt;never silently create a file in a directory that clearly does not warrant one.
/init) over option 1.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.