name: skills-manager description: 上下文感知的路由到技能和钩子管理。用于故障排除技能激活、精细调优关键词或管理自动化文档系统。
技能管理器(智能路由器)
目的
上下文感知的路由到技能和钩子管理。帮助您进行故障排除、精细调优和管理自动化文档系统。
自动激活时
- 讨论技能激活或钩子
- 创建新技能
- 关键词:技能激活、钩子、故障排除、精细调优、关键词、skill-rules.json、创建技能、新技能、agentskills
- 调试为什么技能未激活或激活不正确
🚨 关键规则
- 日志是您的朋友 - 始终首先检查
.claude/logs/skill-activations.log - 更改后测试 - 始终验证对
skill-rules.json的修改是否有效 - 验证 JSON - 使用
jq在提交前验证 skill-rules.json - 关键词应具体 - 过于宽泛的关键词会导致误报
📋 快速诊断工作流程
问题:技能未激活
-
检查日志:
tail -20 .claude/logs/skill-activations.log -
检查当前关键词:
cat .claude/hooks/skill-rules.json | jq '.skills."SKILL-NAME".promptTriggers.keywords' -
添加缺失关键词:
- 询问 Claude:“添加 ‘KEYWORD’ 到 SKILL-NAME”
- 或直接编辑
.claude/hooks/skill-rules.json
-
测试:
echo '{"prompt":"测试提示"}' | .claude/hooks/skill-activation-prompt.sh
问题:技能本不应激活时激活
-
识别触发器 - 检查日志查看匹配了哪个关键词
-
删除或使其更具体:
- 删除:“从 localization-developer 中删除 ‘text’”
- 使具体:将 “text” 替换为 “localized text”
-
验证:
tail .claude/logs/skill-activations.log
🎯 常见任务
添加关键词
快速:询问 Claude
"添加 'refactoring' 到 ios-dev-guidelines 关键词"
手动:编辑 .claude/hooks/skill-rules.json
"keywords": [
"swift",
"refactoring" // ← 在此添加
]
删除关键词
快速:询问 Claude
"从 localization-developer 中删除 'text',它太宽泛了"
手动:编辑并从关键词数组中删除
检查激活了什么
tail -20 .claude/logs/skill-activations.log
查找:
✓ 匹配:skill-name # ← 此技能已激活
未找到匹配项 # ← 未激活任何技能
手动测试激活
echo '{"prompt":"添加功能标志"}' | .claude/hooks/skill-activation-prompt.sh
如果找到匹配,应输出技能建议。
自动学习功能
功能:当一个实质性提示(100+ 字符或 3+ 行)未激活任何技能时,系统会向您显示可用技能,并根据您的反馈自动更新关键词。
工作流程:
- 您提交一个实质性提示
- 未激活任何技能
- 系统显示:“应激活任何这些技能吗?”
- 您响应:“是,localization-developer 应激活”
- Claude 从您的提示中提取关键词
- Claude 运行:
.claude/hooks/utils/add-keywords-to-skill.sh localization-developer <keywords> - skill-rules.json 更新
- 未来类似提示自动激活
手动关键词提取:
# 测试关键词提取
echo "更新会员层级的空间设置本地化" | .claude/hooks/utils/extract-keywords.sh
# 输出:membership、settings、localization、tiers、update
# 手动添加关键词
.claude/hooks/utils/add-keywords-to-skill.sh localization-developer "membership" "tiers"
日志:
- 未命中的激活:
.claude/logs/skill-activations-missed.log - 学习更新:
.claude/logs/skill-learning.log
🔧 系统组件
钩子(自动化)
位置:.claude/hooks/
功能:
skill-activation-prompt.sh- 根据您的提示建议技能post-tool-use-tracker.sh- 跟踪文件编辑swiftformat-post-edit.sh- 编辑后立即自动格式化 Swift 文件notification-alert.sh- 当 Claude 需要输入时发送 macOS 通知
技能(路由器)
位置:.claude/skills/*/SKILL.md
7 个技能:
ios-dev-guidelines- Swift/iOS 模式localization-developer- 本地化code-generation-developer- 功能标志、make generatedesign-system-developer- 图标、排版、颜色skills-manager- 此技能(元技能!)code-review-developer- 代码审查标准feature-toggle-developer- 功能切换移除、清理检测
配置
位置:.claude/hooks/skill-rules.json
内容:
- 每个技能的关键词
- 意图模式(正则表达式)
- 文件路径模式
- 优先级设置
📊 配置结构
{
"skills": {
"skill-name": {
"type": "domain",
"priority": "high", // 或 "medium"、"low"
"description": "智能路由器到...",
"promptTriggers": {
"keywords": ["keyword1", "keyword2"],
"intentPatterns": ["(create|add).*?something"]
},
"fileTriggers": {
"pathPatterns": ["**/*.swift"],
"contentPatterns": ["SomePattern"]
}
}
},
"config": {
"maxSkillsPerPrompt": 2,
"logActivations": true
}
}
📝 创建新技能(agentskills.io 规范)
技能必须遵循 agentskills.io 规范。
必需 SKILL.md 格式
每个技能必须以 YAML 前情提要开始:
---
name: skill-name
description: 此技能的功能及何时使用(最大 1024 字符)。
---
# 技能标题
## 目的
...
名称字段规则
- 1-64 字符
- 仅小写:
a-z、0-9、- - 无起始/结束连字符:
skill-name✅、-skill-❌ - 无连续连字符:
my-skill✅、my--skill❌ - 必须匹配目录名称:
skills/my-skill/SKILL.md→name: my-skill
描述字段
- 1-1024 字符
- 必须描述:功能和何时使用
- 包含关键词 以帮助代理识别相关任务
良好示例:
description: 上下文感知路由到 iOS 本地化系统。使用于处理 .xcstrings 文件、Loc 常量或用户界面文本时。
可选前情提要字段
---
name: skill-name
description: 必需的描述。
license: MIT
compatibility: 为 Claude Code 设计
metadata:
author: anytype
version: "1.0"
---
目录结构
skill-name/
├── SKILL.md # 必需 - 主技能文件
├── scripts/ # 可选 - 可执行脚本
├── references/ # 可选 - 附加文档
└── assets/ # 可选 - 模板、图像
新技能快速清单
- [ ] 目录名称匹配
name字段 - [ ] YAML 前情提要包含
name和description - [ ] 名称仅小写带连字符
- [ ] 描述解释功能和何时
- [ ] SKILL.md 不超过 500 行(使用 references/ 获取详细信息)
- [ ] 添加到
skill-rules.json并带关键词 - [ ] 用示例提示测试激活
⚠️ 常见问题
钩子未执行
症状:无激活消息、空日志
修复:
# 使钩子可执行
chmod +x .claude/hooks/*.sh
# 验证
ls -l .claude/hooks/*.sh # 应显示 rwx
无效 JSON
症状:钩子静默失败
修复:
# 验证
jq . .claude/hooks/skill-rules.json
# 如果有错误,请 Claude 修复它
过多误报
症状:技能激活过于频繁
修复:使关键词更具体
- ❌ “text” → 为所有内容激活
- ✅ “localized text” → 更具体
📚 完整文档
完整指南:.claude/SKILLS_MANAGEMENT_GUIDE.md
涵盖:
- 详细故障排除工作流程
- 意图匹配的高级正则表达式模式
- 从零创建新技能
- 监控和维护
- 日志轮换和清理
- 完整 skill-rules.json 参考
- 每个场景的示例
✅ 健康检查命令
# 检查钩子权限
ls -l .claude/hooks/*.sh
# 验证配置
jq . .claude/hooks/skill-rules.json
# 查看最近激活
tail -20 .claude/logs/skill-activations.log
# 按技能计数激活
grep "Matched:" .claude/logs/skill-activations.log | sort | uniq -c
# 测试特定提示
echo '{"prompt":"您的测试"}' | .claude/hooks/skill-activation-prompt.sh
💡 专业提示
- 请 Claude 检查日志 - “检查我最后提示的日志”
- 使用日志进行调优 - 定期查看以发现模式
- 从宽泛开始 - 添加宽泛关键词,如果误报过多则缩小范围
- 测试所有内容 - 修改 skill-rules.json 后始终测试
- 记录更改 - 在 skill-rules.json 中添加注释
🔗 相关文档
.claude/hooks/README.md- 完整钩子文档.claude/skills/README.md- 技能系统概览CLAUDE.md- 主文档
导航:这是一个智能路由器。如需深入故障排除和管理细节,请始终参考 SKILLS_MANAGEMENT_GUIDE.md。
快速帮助:只需询问 “检查技能系统健康” 或 “为什么 X 技能未激活?”