137 skills installed. Only 15 get called. Find your blind spots.
SaferSkills independently audited skill-lens (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.
<!-- LEVEL 1 — Read this first (15 lines) -->
| What | Action |
|---|---|
| Goal | Find installed skills that NEVER auto-invoke because they're missing from the hot-trigger list |
| Input | ~/.claude/skills/ (real) + ~/.claude/CLAUDE.md hot-trigger list |
| Output | Coverage report: ✅ Covered · ⚠️ Blind Spots · 👻 Ghosts + coverage % |
| Optional | --apply flag auto-adds top 10 blind spots to hot-trigger list |
| Manual trigger | "skill-lens" / "check my skills" / "检查盲区" / "有哪些 skill 漏了" |
| Auto-trigger | After brain-sync completes |
<!-- LEVEL 2 — Full pipeline starts here -->
You have 100+ skills installed. Only a fraction are in the hot-trigger list that actually gets auto-invoked. The rest are installed but invisible — they exist on disk but will never be called because:
Cross-references installed skills (~/.claude/skills/) against the hot-trigger list in ~/.claude/CLAUDE.md:
~/.claude/skills/ CLAUDE.md hot-trigger list
│ │
▼ ▼
installed skills auto-invoked skills
│ │
└────────── cross-reference ───────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
✅ Covered ⚠️ Blind 👻 Ghosts
in both in skills in hot list
but NOT in but NOT in
hot list installed# Show report only
node ~/.claude/skills/skill-lens/lens.cjs
# Auto-apply top 10 to hot-trigger list (with backup)
node ~/.claude/skills/skill-lens/lens.cjs --apply
# Auto-apply top N
node ~/.claude/skills/skill-lens/lens.cjs --apply --top 5## Skill Lens Report — 2026-06-07
📊 **Coverage: 25.7% (37/144)** ↑ 0.69% vs last run
✅ Covered: 37 skills
⚠️ Blind: 107 skills (installed but NOT auto-invoked)
👻 Ghosts: 0 skills (in hot list but NOT installed)
### ⚠️ Top 10 Blind Spots (by priority)
1. baoyu-comic (priority 75)
2. baoyu-danger-gemini-web (priority 75)
3. baoyu-infographic (priority 75)
4. canary (priority 65)
5. careful (priority 65)
6. connect-chrome (priority 65)
...The lens.cjs script handles all the dirty work so you don't have to:
| Step | What it does | Why |
|---|---|---|
| 1. Extract | ls ~/.claude/skills/ filtered by SKILL.md existence | Real source of truth, not docs.md |
| 2. Extract | Parse CLAUDE.md hot-trigger section, split multi-skill rows (**a / b**) | Avoid double-counting |
| 3. Compare | Three-set: covered / blind / ghosts | Standard Venn diagram |
| 4. Score | Priority = 50 (base) + 40 (own product) + 25 (baoyu-) + 15 (gstack) | Rank by importance |
| 5. Apply (opt) | Backup CLAUDE.md → insert top N rows → update "If none of the {N} match" | Reversible |
| 6. History | Append to ~/.claude/.cache/skill-lens-history.json | Track coverage over time |
# Source A: All installed skills (real)
ls ~/.claude/skills/ | grep -v "^_\|^\."
# Source B: Skills in hot-trigger list
sed -n '/Hot Trigger List/,/If none of the {N} match/p' ~/.claude/CLAUDE.md | \
grep -oP '\*\*[a-z][a-z0-9_-]*[a-z0-9]\*\*' | sort -uBuild three sets using comm:
Sort blind spots by:
baoyu-* high-frequency skillsgstack curated suite (browse, canary, careful, codex, etc.)To add a blind spot to the hot-trigger list, edit ~/.claude/CLAUDE.md:
## Skill Auto-Discovery — Hot Trigger List**If none of the {N} match:**{N} in the "If none of" lineOr just run: node lens.cjs --apply
Each run appends to ~/.claude/.cache/skill-lens-history.json:
[
{"date": "2026-06-07", "total": 144, "covered": 36, "coverage": 25.0, "delta": null},
{"date": "2026-06-07", "total": 144, "covered": 37, "coverage": 25.7, "delta": 0.69}
]Use this to spot regressions (coverage drop = someone removed hot-trigger rows).
brain-sync-complete event.--apply mode auto-backs up to ~/.claude/.cache/skill-lens-backups/.SKILL.md are not counted (avoids framework/ repo false positives).lens.cjs script with --apply auto-mode~/.claude/.cache/skill-lens-history.json**a / b** → 2 skills)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.