Claude Code skill health dashboard - security scan, token cost, budget analysis, hook conflicts, usage tracking. ~225ms full scan.
Overview
Skill Monitor AI Coding Agent 技能生态健康管理 你的 Agent 装了 200 个 Skill,但只有 30 个在工作。 安全扫描 / Token 成本审计 / 描述预算诊断 / Hook 冲突 / 使用追踪 — 225ms 全面洞察。 Landing Page · 安装 · 功能 · 更新日志 You install 5 plugins, get 200+ skills, and have into what's happening: - goes to plugin description injection you can't see - get silently truncated, losing trigger keywords - between plugins cause duplicate processing on every tool call - like credential+network combos go undetected - You don't know which skills you actually use vs. which are dead weight Most monitoring tools only count user skill descriptions. Plugin descriptions are invisible but injected every conversation. Skill Monitor counts and shows the breakdown. Claude Code caps each skill description at 250 characters when budget is tight. Trigger keywords after char 250 are lost. Skill Monitor shows which skills are affected and how many characters of trigger keywords are at risk. When multiple skills register hooks for the same matcher (e.g.
README
Skill Monitor AI Coding Agent 技能生态健康管理 你的 Agent 装了 200 个 Skill,但只有 30 个在工作。安全扫描 / Token 成本审计 / 描述预算诊断 / Hook 冲突 / 使用追踪 — 225ms 全面洞察。 Landing Page · 安装 · 功能 · 更新日志
The Problem
You install 5 plugins, get 200+ skills, and have zero visibility into what’s happening:
- 74% of your token budget goes to plugin description injection you can’t see
- 50+ skill descriptions get silently truncated, losing trigger keywords
- Hook conflicts between plugins cause duplicate processing on every tool call
- Security patterns like credential+network combos go undetected
- You don’t know which skills you actually use vs. which are dead weight
The Solution
/skill-monitor
┌─────────────────────────────────────────────────────┐
│ Skill Monitor Dashboard │
└─────────────────────────────────────────────────────┘
SKILLS 120 total (27 user / 93 plugin / 8 packages)
SECURITY (pattern scan: 120 skills)
Score 86/100 █████████████████░░░
Findings 0 critical 2 high 4 medium
TOKEN COST (all skill descriptions injected per conversation)
Total ~12507/conv ████████████████████
User skills: ~3300 tok (27 skills)
Plugin skills: ~9207 tok (93 skills)
BUDGET (skill description budget: ~35K chars, 120 skills)
Used 28,534/35,000 chars ████████████████░░░░ (81%)
Truncated 50 skills have desc >250c (losing ~9,531 chars of trigger keywords)
Quality 120 skills Critical - too many skills competing for attention
HOOKS (settings.json + skill-embedded)
Hooks 8 total
Conflicts 4
Features
| Command | What it does |
|---|---|
/skill-monitor |
Overview dashboard with all key metrics |
/skill-monitor security |
Pattern-based security scan (CRITICAL/HIGH/MEDIUM) |
/skill-monitor cost |
Token cost breakdown: user vs plugin, top 10 most expensive |
/skill-monitor budget |
Description budget vs 250-char truncation analysis |
/skill-monitor hooks |
Hook conflict detection across settings.json + skills |
/skill-monitor usage |
Skill invocation tracking (requires setup-tracking) |
/skill-monitor versions |
Plugin version staleness check |
/skill-monitor diff |
What changed since last snapshot |
/skill-monitor full |
Everything above in one report |
LLM-Powered Analysis
| Command | What it does |
|---|---|
/skill-monitor overlap |
Find user skills that duplicate plugin capabilities |
/skill-monitor profile |
Flag skills irrelevant to your tech stack |
/skill-monitor compress |
Shorten descriptions to preserve trigger keywords |
/skill-monitor project-config |
Generate project-specific skill whitelist |
/skill-monitor clusters |
Semantic grouping to find redundant skills |
/skill-monitor deep-audit |
Full LLM security audit with isolated subagents |
Management
| Command | What it does |
|---|---|
/skill-monitor disable |
Disable a skill (reversible) |
/skill-monitor quarantine |
Move skill to quarantine (recoverable) |
/skill-monitor restore |
Restore disabled/quarantined skill |
/skill-monitor setup-tracking |
Install usage tracking hooks |
Key Findings This Tool Surfaces
1. Your real token cost is 3x what you think
Most monitoring tools only count user skill descriptions. Plugin descriptions are invisible but injected every conversation. Skill Monitor counts both and shows the breakdown.
2. Descriptions get silently truncated at 250 chars
Claude Code caps each skill description at 250 characters when budget is tight. Trigger keywords after char 250 are lost. Skill Monitor shows which skills are affected and how many characters of trigger keywords are at risk.
3. Hook conflicts slow down every tool call
When multiple skills register hooks for the same matcher (e.g., both guard and settings.json hook into Bash), every tool call triggers multiple scripts. Skill Monitor detects these overlaps.
4. 220 skills is way too many
Community consensus: Claude handles 30 skills well, starts conflicting at 8-10 mixed skills. If you have 200+, Claude needs to choose from a crowded candidate pool, reducing matching accuracy.
Installation
Claude Code Plugin (推荐)
claude plugin add luxuzhou/skill-monitor-plugin
Git Clone (适用所有平台)
git clone https://github.com/Luxuzhou/skill-monitor-plugin.git
# Claude Code / Codex / OpenCode
cp -r skill-monitor-plugin/skills/skill-monitor ~/.claude/skills/
# Gemini CLI
cp -r skill-monitor-plugin/skills/skill-monitor ~/.gemini/skills/
# Cursor
cp -r skill-monitor-plugin/skills/skill-monitor .cursor/skills/
Skill Monitor 遵循 Agent Skills 开放标准,兼容所有支持 SKILL.md 的 AI Coding Agent。
Setup Usage Tracking (Optional)
After installation, enable skill invocation tracking:
/skill-monitor setup-tracking
This adds a PreToolUse[Skill] hook to settings.json that logs every explicit skill invocation.
Performance
| Environment | Scan Time (220 skills) |
|---|---|
| Python (any OS) | ~225ms |
| Bash fallback (Linux/Mac) | ~5s |
| Bash fallback (Windows Git Bash) | ~150s |
The Python scanner runs a single-pass analysis: read all SKILL.md files once, extract descriptions, run security checks, analyze hooks, and render the dashboard. No subprocess spawning per file.
Requirements
- Claude Code 2.0+
- Python 3.8+ (recommended, for fast scanner)
- Works without Python (falls back to bash, much slower on Windows)
How It Works
Skill Monitor follows Claude Code’s progressive disclosure architecture:
- Description (always loaded): Short summary for Claude to decide when to trigger
- SKILL.md (loaded when triggered): Full instructions for dashboard commands
- scanner.py (executed, not loaded): Fast Python scanner that reads all skills and outputs the dashboard
Script-based commands (overview, security, cost, budget, hooks, usage, versions, diff, full) run the Python scanner directly. LLM-powered commands (overlap, profile, compress, project-config, clusters, deep-audit) use Claude’s reasoning to analyze skill descriptions semantically.
Based On
- Claude Code Skills Documentation
- Skill Budget Research
- Skill Invocation Tracking Feature Request
- Community best practices from r/ClaudeCode and Claude Code Discord
License
MIT - see LICENSE
Author
Lex Lu (luxuzhou) - R&D Lead, AI tooling enthusiast
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add luxuzhou/skill-monitor-plugin