Keep all your custom skills up-to-date
SaferSkills independently audited update-skills (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.
Scan and update manually installed Claude Code skills in ~/.claude/skills/.
echo ${GITHUB_TOKEN:+set} ${GITHUB_TOKEN:-(not set)}If not set: tell the user to add it to ~/.bashrc and ~/.zshrc, then reload with:
export $(grep GITHUB_TOKEN ~/.bashrc | head -1)ls ~/.claude/skills/*/.skill-source 2>/dev/null | wc -l
ls -d ~/.claude/skills/*/ 2>/dev/null | wc -lIf all skills have .skill-source → skip to Step 4.
For each skill missing .skill-source:
WebFetch: https://html.duckduckgo.com/html/?q=github+<skill-name>+<verbatim+phrase+url-encoded> Extract all github.com URLs from results
{
"repo": "owner/repo",
"path": "path/to/skill/in/repo",
"confidence": "verbatim-match",
"last_sha": null,
"previous_sha": null
}Do this for all unresolved skills before continuing. If WebSearch finds nothing → mark as unresolvable, skip.
Do skills in batches of 5 to avoid burning too many tokens at once. Offer to continue to the next batch or stop after each batch.
python ~/.claude/skills/update-skills/scripts/check_updates.pyPresent results:
⬆️ Updates available (3):
• vibe (pcx-wave/vibe-skill) a1b2c3 → d4e5f6 (5 commits behind)
• geo (owner/repo) 111111 → 222222 (1 commit behind)
• gemini (pcx-wave/gemini-skill) aaaaaa → bbbbbb (3 commits behind)
✅ Up-to-date (30)
⚠️ No source found (3): skill-x, skill-y, skill-zIf updates available:
python ~/.claude/skills/update-skills/scripts/update_skill.py all
# or
python ~/.claude/skills/update-skills/scripts/update_skill.py vibe geo gemini✅ Updated 3 skills:
• vibe a1b2c3 → d4e5f6 (14 files)
• geo 111111 → 222222 (2 files)
• gemini aaaaaa → bbbbbb (6 files)
Backups saved to ~/.claude/skills/.backups/
To revert: "revert vibe" or "revert all"python ~/.claude/skills/update-skills/scripts/update_skill.py --revert vibeexport GITHUB_TOKEN=... in ~/.bashrc and ~/.zshrc): full SHA-based comparison via GitHub API. Reliable for any number of checks. Recommended.check_updates.py and update_skill.py. Source resolution (Step 3) uses DuckDuckGo — no token needed.echo 'export GITHUB_TOKEN=<token>' >> ~/.bashrc && echo 'export GITHUB_TOKEN=<token>' >> ~/.zshrc~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.