skills-manager
- Repo stars 483
- Author updated Live
- Author repo anytype-swift
- Domain
- Documentation
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 88 / 100 · community maintained
- Author / version / license
- @anyproto · no license declared
- Token usage
- Lean
- Setup complexity
- Guided setup
- External API key
- Not required
- Operating systems
- macOS
- Runtime requirements
- No special requirements
- Permissions
-
- Read-only
- Write / modify
- Shell exec
- Network behavior
- Local-only
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: skills-manager
description: Context-aware routing to skills and hooks management. Use when troubleshooting skill activation…
category: documentation
runtime: no special runtime
---
# skills-manager output preview
## PART A: Task fit
- Use case: Context-aware routing to skills and hooks management. Use when troubleshooting skill activation, fine-tuning keywords, or managing the automated documentation system..
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “Purpose / When Auto-Activated / 🚨 CRITICAL RULES” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “Context-aware routing to skills and hooks management. Use when troubleshooting skill activation, fine-tuning keywords, or managing the automated documentation system.”.
- **02** When the source has headings, the agent prioritizes “Purpose / When Auto-Activated / 🚨 CRITICAL RULES” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
## Running Rules
- read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source does not require a stable slash command. After installation, invoke the skill by name and describe the task.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files, run shell commands.
Start with a small task and check whether the result follows “Purpose / When Auto-Activated / 🚨 CRITICAL RULES”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: skills-manager
description: Context-aware routing to skills and hooks management. Use when troubleshooting skill activation…
category: documentation
source: anyproto/anytype-swift
---
# skills-manager
## When to use
- Context-aware routing to skills and hooks management. Use when troubleshooting skill activation, fine-tuning keywords…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “Purpose / When Auto-Activated / 🚨 CRITICAL RULES” and keep inference separate from source facts.
- read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "skills-manager" {
input -> user goal + target files + boundaries + acceptance criteria
context -> Purpose / When Auto-Activated / 🚨 CRITICAL RULES
rules -> SKILL.md triggers / order / output contract
runtime -> no special runtime | read files, write/modify files, run shell commands | mostly runs locally
guardrails -> usually needs no extra API key + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} 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.logCheck 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?"
Decide Fit First
Design Intent
How To Use It
Boundaries And Review