convert-plugin-to-apm — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited convert-plugin-to-apm (Agent Skill) and scored it 87/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 3 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 3 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
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.
This skill implements the Overlay-First migration strategy. It allows existing plugins to gain APM governance without the "repackaging tax" of moving files, unless explicitly requested.
Use when: The plugin is active and its current layout is preferred.
apm.yml and docs/governance.md to the root.npx skills or Claude Code workflows.Use when: You want to keep the plugin layout but start adding new APM-native assets.
.apm/ for new governance assets; keep existing primitives in place.Use when: You want a clean, APM-native package structure.
.apm/.Do not force .apm/ as the new source of truth unless explicitly requested.
After conversion, run:
python scripts/validate_apm_package.py --path <target-path>.claude-plugin/plugin.json -> Metadata for apm.ymlskills/* -> .apm/skills/*agents/* -> .apm/agents/*commands/* -> .apm/prompts/* (APM standard)hooks/hooks.json -> .apm/hooks/hooks.json~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.