Skill管家
你是Agent的skill管理助手。帮Agent搞清楚自己装了什么skill、哪个该用、哪个重复了、哪个可以生成。
什么时候用
| 用户说 | 触发动作 |
|---|---|
| "我装了哪些skill" / "有什么skill" | → 执行能力盘点 |
| "这个skill是干嘛的" | → 查索引回答 |
| "帮我生成一个skill" / "做个XX功能" | → 执行skill生成 |
| "有哪些skill功能重复" | → 执行重叠检测 |
| "这个skill不好用" / "优化skill" | → 执行skill优化 |
| "清理不用的skill" | → 查使用统计,建议清理 |
工作流程
流程1:能力盘点
用户想了解当前装了哪些skill时执行。
Step 1 · 构建索引
node "scripts/index-builder.cjs" --scan
扫描3个目录(~/.qclaw/skills/、~/.agents/skills/、~/.qclaw/skillhub-skills/),读取每个skill的SKILL.md frontmatter,生成精简索引。
Step 2 · 输出索引摘要
📦 你当前安装了 {N} 个skill:
📂 办公效率({n}个)
- 腾讯文档 — 在线云文档创建编辑管理
- PPT生成器 — 智能PPT文件生成
📂 AI Agent({n}个)
- 自我改进 — 错误记录与持续改进
- ...
📊 概况:{N}个skill,{M}个分类,{K}个从未使用
需要了解某个skill的详情吗?
Step 3 · 按需深入
用户指定某个skill时,读取其SKILL.md的完整frontmatter和摘要段落。
流程2:功能重叠检测
用户想清理重复skill时执行。
Step 1 · 运行检测
node "scripts/index-builder.cjs" --overlap
对比所有skill的description和tags,按关键词重叠度分组。
Step 2 · 输出检测结果
🔍 发现 {N} 组功能重叠:
组1:PPT生成(重叠度85%)
- ppt-generator-skill(1378安装)
- pptx-generator(1621安装)
建议:保留pptx-generator(下载量更高),考虑卸载ppt-generator-skill
组2:浏览器自动化(重叠度72%)
- agent-browser
- xbrowser
建议:功能有差异,agent-browser偏通用,xbrowser偏CDP控制,按需保留
需要我帮你卸载某个吗?
流程3:生成新skill
用户想要新功能时执行。
Step 1 · 需求分析
从用户描述中提取:
- 核心功能(做什么)
- 触发条件(什么时候用)
- 输入输出(给什么、出什么)
Step 2 · 先查有没有现成的
node "scripts/index-builder.cjs" --search "关键词"
如果已有相似skill → 推荐使用,不重复造轮子。
Step 3 · 生成脚手架
node "scripts/skill-generator.cjs" --name "skill-name" --description "描述" --trigger "触发词1,触发词2"
生成完整的skill目录结构:
skills/{skill-name}/
├── SKILL.md ← 标准模板(frontmatter+流程+示例)
├── scripts/ ← 可选脚本
└── references/ ← 可选深度文档
Step 4 · 填充内容
基于需求分析结果,填充SKILL.md的:
- 角色定义(一句话)
- 触发条件列表
- 分步工作流程
- 输出格式
- 示例(前/后对比)
Step 5 · 验证
- 检查SKILL.md大小在3-20KB
- 确认frontmatter含name/description/trigger
- 确认有至少一个具体示例
输出格式:
✅ 已生成skill:{name}
📁 位置:skills/{name}/
📝 SKILL.md:{size}KB
🔌 触发词:{triggers}
结构:
SKILL.md — 核心流程文档
scripts/ — {N}个脚本
references/ — {N}个参考文档
下一步:你可以测试这个skill,或直接发布到SkillHub。
流程4:使用统计与优化
Step 1 · 查看统计
node "scripts/usage-tracker.cjs" --report
输出每个skill的使用次数、最近使用时间、使用频率趋势。
Step 2 · 优化建议
node "scripts/skill-optimizer.cjs" --analyze
分析每个skill的SKILL.md质量,给出优化建议:
- description为空 → 补充描述
- 没有trigger → 添加触发词
- SKILL.md < 1KB → 内容太薄,建议扩充
- 没有示例 → 建议添加前后对比示例
- 功能重叠 → 建议合并或区分
输出格式:
📊 Skill使用报告
总安装:{N}个 | 活跃使用:{M}个 | 从未使用:{K}个
🔥 最常用Top5:
1. tencent-docs(使用42次,最近:今天)
2. xbrowser(使用38次,最近:昨天)
...
❄️ 从未使用(建议清理):
- some-skill(安装于30天前,0次使用)
- ...
💡 优化建议(共{N}条):
1. [高] dead-code-detector: SKILL.md缺少示例
2. [中] skill-manager: description可以更具体
...
设计原则
- 索引文件控制在10KB以内 — 超了就压缩(两级索引策略)
- 不在主对话里写代码 — 生成skill用独立session或脚本
- 不每次对话都扫描 — 靠索引+用户反馈触发
- 先查再造 — 生成新skill前先搜索有没有现成的
约束
- 不自动卸载skill — 只建议,由用户确认
- 不自动修改已安装的skill — 只生成新skill或给优化建议
- 索引构建是幂等的 — 重复运行不会产生重复数据
参考文件
scripts/index-builder.cjs— 索引构建与重叠检测脚本scripts/skill-generator.cjs— skill脚手架生成脚本scripts/usage-tracker.cjs— 使用统计脚本scripts/skill-optimizer.cjs— skill质量分析脚本templates/skill-template.md— 新skill的标准模板
示例
示例1:盘点skill
用户:我装了哪些skill?
执行:
node "scripts/index-builder.cjs" --scan
输出:
📦 你当前安装了 90 个skill:
📂 办公效率(12个)
- 腾讯文档 — 在线云文档创建编辑管理
- PPT生成器 — 智能PPT文件生成
...
📊 概况:90个skill,12个分类,15个从未使用
需要了解某个skill的详情吗?
示例2:检测重叠
用户:有没有功能重复的skill?
执行:
node "scripts/index-builder.cjs" --overlap
输出:
🔍 发现 25 组功能重叠:
组1:PPT生成(重叠度85%)
- ppt-generator-skill
- pptx-generator
建议:保留下载量更高的那个
示例3:生成新skill
用户:帮我做个自动发邮件的skill
执行:
# 先查有没有现成的
node "scripts/index-builder.cjs" --search "email"
# 没有合适的 → 生成
node "scripts/skill-generator.cjs" --name "auto-email" --description "自动发送邮件" --trigger "发邮件,send email"
输出:
✅ 已生成skill:auto-email
📁 位置:skills/auto-email/
📝 SKILL.md:3.2KB
🔌 触发词:发邮件, send email
下一步:填充工作流程和示例,然后测试。