Description 833 -> 239 chars, body 370 -> 387 words, Gotchas 41% -> 20%. The file-type enumeration moves to a new references/provider-matrix.md; the composition note was already in README.md. Three defects a clean-context audit found, all fixed: The 'never edits AGENTS.md' prohibition had become a justification clause on the false branch of a conditional, so the common path never read a sentence binding it. That matters because the bundled validator's own remediation text tells the agent to move content into AGENTS.md, so a size FAIL actively invited the prohibited edit. Restored as a standing imperative, plus a counter at the step where the trap fires. A Gotcha asserted that validate-adapter.sh fails without --no-import-syntax. The flag is a no-op -- both branches reduce to the same expression. Reverted to an instruction; the script defect is #115. The boundary clauses used pronouns to dodge the #110 regex, and 'Not auditing it' resolved to CLAUDE.md as readily as to AGENTS.md -- routing 'audit my CLAUDE.md' to a skill whose own description declines it. Refs #99
provider-adapter-author
Convert a target repo's provider-specific instruction file (CLAUDE.md, .cursor/rules, copilot-instructions.md, etc.) into a thin adapter over AGENTS.md.
What it does
Detects a provider-specific AI instruction file in a target repo, diffs it against the repo's AGENTS.md, and rewrites it down to a minimal reference — an @AGENTS.md-style import for providers that support one, or a text pointer for those that don't — plus only genuinely provider-specific additions. Self-validates its own output with a bundled deterministic script (no LLM judgment, no separate audit skill) before finishing.
Before you start
The target repo must already have an AGENTS.md. If it doesn't, run agentsmd-author first — this skill never creates or edits AGENTS.md itself.
Usage
/provider-adapter-author
Provide the path to the provider-specific file to convert (and the target repo root, if not inferable). Can be invoked directly, or composed into by agentsmd-author when it detects an existing provider file with content overlapping AGENTS.md.
Files
| File | Purpose |
|---|---|
SKILL.md |
Skill instructions for agents |
references/provider-matrix.md |
Loaded at Step 1 before searching, unless the target is already a known root CLAUDE.md: known files per provider, which ones resolve a cross-file import, and the validator flag each needs |
references/sources.md |
Provenance record — the in-repo ADR precedent this skill's design is modeled on |
scripts/validate-adapter.sh |
Self-check gate: reference to AGENTS.md present, no excessive duplication, adapter stays thin |
scripts/README.md |
Directory documentation for scripts/ |
tests/README.md |
(source-only) Bats test dependency and run instructions |
tests/validate-adapter.bats |
(source-only) Bats test suite for scripts/validate-adapter.sh |
Rows marked (source-only) exist in the authoring source (.apm/skills/provider-adapter-author/)
but are not present in an installed plugin: scripts/sync-plugin-content.sh strips
<category>/<name>/tests when it generates the flat mirror, because these are dev-time fixtures no
plugin host needs to discover (ADR-0017). Run them from a repo checkout, not from an install.