技能侦查员 是做什么的?
在创建新技能之前使用此技能。目标是避免重复已有的社区或市场工作,同时在使用任何外部内容前进行审查。
来源:来自社区 PR #1232,由 redminwang 保存。
什么时候使用
- 用户说“创建技能”、“构建技能”、“制作技能”或“新技能”。
- 用户问“有没有适用于 X 的技能?”或“是否存在能做 Y 的技能?”
- 用户描述一个工作流,而你正要建议创建一个新技能。
- 用户想要派生或扩展现有技能。
如果用户明确表示要跳过搜索或从头创建,确认该请求并继续执行所要求的创建工作流。
工作原理
步骤 1 - 捕获意图
提取:
- 技能应该执行的任务。
- 使用技能的触发条件。
- 涉及的领域、工具、框架或数据源。
- 三到五个搜索关键词以及有用的同义词。
步骤 2 - 搜索本地源
首先搜索已安装的技能和市场技能名称。本地源更受青睐,因为它们已存在于用户的环境中。
find ~/.claude/skills -maxdepth 2 -name SKILL.md 2>/dev/null | grep -iE "keyword|synonym"
find ~/.claude/plugins/marketplaces -path '*/skills/*/SKILL.md' 2>/dev/null | grep -iE "keyword|synonym"
然后搜索前置描述:
grep -RilE "keyword|synonym" ~/.claude/skills ~/.claude/plugins/marketplaces 2>/dev/null
步骤 3 - 搜索远程源
使用可用的 GitHub 和网络搜索工具。优先使用简洁的查询:
gh search repos "claude code skill keyword" --limit 10 --sort stars
gh search code "name: keyword" --filename SKILL.md --limit 10
对于网络搜索,最多使用三个有针对性的查询,例如:
"claude code skill" keyword
"SKILL.md" keyword
"everything-claude-code" keyword
步骤 4 - 审查外部匹配项
在推荐任何外部技能供采用或派生之前:
- 阅读
SKILL.md的前置信息和说明。 - 检查是否有意外的 shell 命令、文件写入、网络调用、凭证处理或软件包安装。
- 检查仓库是否似乎仍在维护。
- 更倾向于复制到一个新的本地分支并审查差异,而不是直接编辑市场原始文件。
步骤 5 - 对结果排序
按以下标准对候选排序:
- 技能名称中的精确关键词匹配。
- 描述中的关键词或同义词匹配。
- 本地已安装或市场来源。
- 有近期活动的已维护 GitHub 来源。
- 仅限网络提及。
最终列表上限为 10 个结果。
步骤 6 - 提供决策选项
给用户一个简短的表格:
| 选项 | 含义 |
|---|---|
| 使用现有 | 按原样调用或安装匹配的技能。 |
| 派生或扩展 | 复制最接近的技能并进行修改。 |
| 新建 | 在确认没有接近匹配项后,构建一个新技能。 |
只有在用户选择了该路径,或者搜索没有找到接近匹配项之后,才创建新技能。
示例
结果表格
| # | 技能 | 来源 | 匹配原因 | 差距 |
| --- | --- | --- | --- | --- |
| 1 | article-writing | 本地 ECC | 草拟文章和指南 | 不专注于发布说明 |
| 2 | content-engine | 本地 ECC | 多格式内容工作流 | 比需要的更复杂 |
| 3 | blog-writer | GitHub | 博客写作技能,有近期提交 | 需要安全审查 |
面向用户的总结
我找到了两个接近的本地匹配和一个外部候选。最接近的是 `article-writing`;它涵盖了起草和修订,但不包含您要求的发布说明清单。我可以直接使用它,将其派生为发布说明变体,或者创建一个全新的技能。
反模式
- 在可以进行合理搜索时,不要直接跳到新建技能。
- 没有先阅读外部技能就安装它们。
- 不要呈现一长串未排序的弱匹配项。
- 不要将仅限网络提及视为可信来源。
- 不要直接编辑已安装的市场原始文件。
相关
search-first- 在构建之前先进行搜索的通用工作流。skill-stocktake- 审计已安装技能的健康状况、重复项和缺口。agent-sort- 对现有代理和技能进行分类和整理。