skill-installer-vetter — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited skill-installer-vetter (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.
Bundled commands use $PLUGIN_ROOT ($env:PLUGIN_ROOT in PowerShell; same path suffix) for the plugin root. Set it once: use the host's plugin-root variable when defined (Claude Code: PLUGIN_ROOT="$CLAUDE_PLUGIN_ROOT"), otherwise the absolute path of this skill folder's ../...
Install only after provenance and safety are clear. Discovery candidates are not executable until the user requested installation and the vetting result supports it.
Read $PLUGIN_ROOT/references/skill-runtime-model.md when choosing a skill install/update destination, explaining restart or live-reload behavior, or comparing Codex, Claude Code, Cursor, and open Agent Skills discovery surfaces.
For explicit skill installation, use the active agent's skills dir unless the user or repo instructions select another destination — Codex: ${CODEX_HOME:-$HOME/.codex}/skills/<skill-name>, Claude: ${CLAUDE_HOME:-$HOME/.claude}/skills/<skill-name>, Cursor: ${CURSOR_HOME:-$HOME/.cursor}/skills/<skill-name>. Detect the active agent with $PLUGIN_ROOT/scripts/agent_target.py. For repository source work, audit and validate the skill in place instead of copying it globally unless installation was requested.
python3 "$PLUGIN_ROOT/scripts/install/list-skills.py"
python3 "$PLUGIN_ROOT/scripts/install/list-skills.py" --format json
python3 "$PLUGIN_ROOT/scripts/install/list-skills.py" --path skills/.experimentalThese commands use GitHub network access. If unavailable, report the error and continue with local inventory:
python3 "$PLUGIN_ROOT/scripts/capability_inventory.py" --query "<topic>" --jsonFor every candidate, record:
Use:
python3 "$PLUGIN_ROOT/scripts/synthesis/audit_skill_candidate.py" <skill-dir> --output candidate-audit.json
python3 "$PLUGIN_ROOT/scripts/skill/quick_validate.py" <skill-dir>
# Optional external scan; pin a release tag once upstream publishes one; skips cleanly when absent:
command -v skillspector >/dev/null 2>&1 && skillspector scan <skill-dir> --format json || echo "skillspector absent; rely on audit_skill_candidate.py"SkillSpector is an optional external first-pass scanner that supplements audit_skill_candidate.py; treat its output as triage, never a gate, and proceed when it is not installed.
Reject or isolate candidates that require paid APIs, API keys, telemetry, hidden network dependencies, unsafe shell execution, obscure installers, or unrelated infrastructure.
Only run after user intent is clear:
python3 "$PLUGIN_ROOT/scripts/install/install-skill-from-github.py" --repo <owner>/<repo> --path <path/to/skill>
python3 "$PLUGIN_ROOT/scripts/install/install-skill-from-github.py" --url https://github.com/<owner>/<repo>/tree/<ref>/<path>Private repos may use existing git credentials or optional GITHUB_TOKEN/GH_TOKEN. Never print or copy token values.
quick_validate.py.Read current SKILL.md, inspect git status or existing modifications, and preserve user work. Prefer patching in place with a small diff over replacing the whole folder. Re-run validation and tell the user whether the agent must restart to pick up changes.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.