skills-manager
Context-aware routing to skills and hooks management. Use when troubleshooting skill activation, fine-tuning keywords, or managing the automated documentation system.
Install
mkdir -p .claude/skills/skills-manager && curl -L -o skill.zip "https://mcp.directory/api/skills/download/2490" && unzip -o skill.zip -d .claude/skills/skills-manager && rm skill.zipInstalls to .claude/skills/skills-manager
About this skill
Skills Manager (Smart Router)
Purpose
Context-aware routing to skills and hooks management. Helps you troubleshoot, fine-tune, and manage the automated documentation system.
When Auto-Activated
- Discussing skills activation or hooks
- Creating new skills
- Keywords: skill activation, hook, troubleshoot, fine-tune, keyword, skill-rules.json, create skill, new skill, agentskills
- Debugging why a skill didn't activate or activated incorrectly
🚨 CRITICAL RULES
- Logs are your friend - Always check
.claude/logs/skill-activations.logfirst - Test after changes - Always verify modifications to
skill-rules.jsonwork - Validate JSON - Use
jqto validate skill-rules.json before committing - Keywords should be specific - Too-broad keywords cause false positives
📋 Quick Diagnostic Workflow
Problem: Skill Didn't Activate
-
Check logs:
tail -20 .claude/logs/skill-activations.log -
Check current keywords:
cat .claude/hooks/skill-rules.json | jq '.skills."SKILL-NAME".promptTriggers.keywords' -
Add missing keyword:
- Ask Claude: "Add 'KEYWORD' to SKILL-NAME"
- Or edit
.claude/hooks/skill-rules.jsondirectly
-
Test:
echo '{"prompt":"test prompt"}' | .claude/hooks/skill-activation-prompt.sh
Problem: Skill Activated When Shouldn't
-
Identify the trigger - Check logs to see which keyword matched
-
Remove or make more specific:
- Remove: "Remove 'text' from localization-developer"
- Make specific: Replace "text" with "localized text"
-
Verify:
tail .claude/logs/skill-activations.log
🎯 Common Tasks
Add a Keyword
Quick: Ask Claude
"Add 'refactoring' to ios-dev-guidelines keywords"
Manual: Edit .claude/hooks/skill-rules.json
"keywords": [
"swift",
"refactoring" // ← Add here
]
Remove a Keyword
Quick: Ask Claude
"Remove 'text' from localization-developer, it's too broad"
Manual: Edit and remove from keywords array
Check What Activated
tail -20 .claude/logs/skill-activations.log
Look for:
✓ Matched: skill-name # ← This skill activated
No matches found # ← Nothing activated
Test Activation Manually
echo '{"prompt":"add feature flag"}' | .claude/hooks/skill-activation-prompt.sh
Should output skill suggestion if match found.
Auto-Learning Feature
What it does: When a substantial prompt (100+ chars OR 3+ lines) doesn't activate any skills, the system prompts you with available skills and auto-updates keywords based on your feedback.
Workflow:
- You submit a substantial prompt
- No skills activate
- System shows: "Should any of these skills be activated?"
- You respond: "Yes, localization-developer should activate"
- Claude extracts keywords from your prompt
- Claude runs:
.claude/hooks/utils/add-keywords-to-skill.sh localization-developer <keywords> - skill-rules.json updated
- Future similar prompts auto-activate
Manual keyword extraction:
# Test keyword extraction
echo "Update space settings localization for membership tiers" | .claude/hooks/utils/extract-keywords.sh
# Output: membership, settings, localization, tiers, update
# Add keywords manually
.claude/hooks/utils/add-keywords-to-skill.sh localization-developer "membership" "tiers"
Logs:
- Missed activations:
.claude/logs/skill-activations-missed.log - Learning updates:
.claude/logs/skill-learning.log
🔧 The System Components
Hooks (Automation)
Location: .claude/hooks/
What they do:
skill-activation-prompt.sh- Suggests skills based on your promptpost-tool-use-tracker.sh- Tracks file editsswiftformat-post-edit.sh- Auto-formats Swift files immediately after editnotification-alert.sh- Sends macOS notifications when Claude needs input
Skills (Routers)
Location: .claude/skills/*/SKILL.md
The 7 skills:
ios-dev-guidelines- Swift/iOS patternslocalization-developer- Localizationcode-generation-developer- Feature flags, make generatedesign-system-developer- Icons, typography, colorsskills-manager- This skill (meta!)code-review-developer- Code review standardsfeature-toggle-developer- Feature toggle removal, cleanup detection
Configuration
Location: .claude/hooks/skill-rules.json
What it contains:
- Keywords for each skill
- Intent patterns (regex)
- File path patterns
- Priority settings
📊 Configuration Structure
{
"skills": {
"skill-name": {
"type": "domain",
"priority": "high", // or "medium", "low"
"description": "Smart router to...",
"promptTriggers": {
"keywords": ["keyword1", "keyword2"],
"intentPatterns": ["(create|add).*?something"]
},
"fileTriggers": {
"pathPatterns": ["**/*.swift"],
"contentPatterns": ["SomePattern"]
}
}
},
"config": {
"maxSkillsPerPrompt": 2,
"logActivations": true
}
}
📝 Creating New Skills (agentskills.io Spec)
Skills must follow the agentskills.io specification.
Required SKILL.md Format
Every skill must start with YAML frontmatter:
---
name: skill-name
description: What this skill does and when to use it (max 1024 chars).
---
# Skill Title
## Purpose
...
Name Field Rules
- 1-64 characters
- Lowercase only:
a-z,0-9,- - No start/end hyphens:
skill-name✅,-skill-❌ - No consecutive hyphens:
my-skill✅,my--skill❌ - Must match directory name:
skills/my-skill/SKILL.md→name: my-skill
Description Field
- 1-1024 characters
- Must describe: What it does AND when to use it
- Include keywords that help agents identify relevant tasks
Good example:
description: Context-aware routing to the iOS localization system. Use when working with .xcstrings files, Loc constants, or user-facing text.
Optional Frontmatter Fields
---
name: skill-name
description: Required description.
license: MIT
compatibility: Designed for Claude Code
metadata:
author: anytype
version: "1.0"
---
Directory Structure
skill-name/
├── SKILL.md # Required - main skill file
├── scripts/ # Optional - executable scripts
├── references/ # Optional - additional docs
└── assets/ # Optional - templates, images
Quick Checklist for New Skills
- Directory name matches
namefield - YAML frontmatter with
nameanddescription - Name is lowercase with hyphens only
- Description explains what AND when
- SKILL.md under 500 lines (use references/ for details)
- Added to
skill-rules.jsonwith keywords - Tested activation with sample prompts
⚠️ Common Issues
Hook Not Executing
Symptom: No activation messages, empty logs
Fix:
# Make hooks executable
chmod +x .claude/hooks/*.sh
# Verify
ls -l .claude/hooks/*.sh # Should show rwx
Invalid JSON
Symptom: Hook fails silently
Fix:
# Validate
jq . .claude/hooks/skill-rules.json
# If error, ask Claude to fix it
Too Many False Positives
Symptom: Skill activates too often
Fix: Make keywords more specific
- ❌ "text" → activates for everything
- ✅ "localized text" → more specific
📚 Complete Documentation
Full Guide: .claude/SKILLS_MANAGEMENT_GUIDE.md
For comprehensive coverage of:
- Detailed troubleshooting workflows
- Advanced regex patterns for intent matching
- Creating new skills from scratch
- Monitoring and maintenance
- Log rotation and cleanup
- Complete skill-rules.json reference
- Examples for every scenario
✅ Health Check Commands
# Check hook permissions
ls -l .claude/hooks/*.sh
# Validate configuration
jq . .claude/hooks/skill-rules.json
# View recent activations
tail -20 .claude/logs/skill-activations.log
# Count activations by skill
grep "Matched:" .claude/logs/skill-activations.log | sort | uniq -c
# Test specific prompt
echo '{"prompt":"your test"}' | .claude/hooks/skill-activation-prompt.sh
💡 Pro Tips
- Ask Claude to check logs - "Check the logs for my last prompt"
- Use logs for tuning - Review regularly to spot patterns
- Start broad - Add broad keywords, narrow if too many false positives
- Test everything - Always test after modifying skill-rules.json
- Document changes - Add comments in skill-rules.json
🔗 Related Docs
.claude/hooks/README.md- Complete hooks documentation.claude/skills/README.md- Skills system overviewCLAUDE.md- Main documentation
Navigation: This is a smart router. For deep troubleshooting and management details, always refer to SKILLS_MANAGEMENT_GUIDE.md.
Quick help: Just ask "Check skills system health" or "Why didn't X skill activate?"
More by anyproto
View all skills by anyproto →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversEffortlessly manage Google Cloud with this user-friendly multi cloud management platform—simplify operations, automate t
Voice Hooks — real-time voice for Claude Code: browser speech recognition, natural TTS replies, and conversation state m
Easily manage serverless functions with Alibaba Cloud Function Compute, enabling multi-language runtime, custom domains,
Power your e-commerce with BTCPayServer—secure Bitcoin payments, Lightning Network, and store management via 23 integrat
Integrate powerful bots on Discord with advanced features like message management, webhooks, and server admin tools usin
Build persistent semantic networks for enterprise & engineering data management. Enable data persistence and memory acro
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.