Skip to content
雲里
里雾

Skill 🌱 Seed

AI

Content

Claude Code 中的一种插件机制。本质上是一个包含 SKILL.md 文件的文件夹,里面写着特定任务的最佳实践和指令。Claude Code 在执行任务前会先读取相关 Skill 的说明,相当于给 AI 一份”操作手册”。

个人见解觉得它能让 Agent 尽可能稳定地干好一件事情。因为其在遇见符合技能描述场景时才被调用的特性,也能节省上下文的使用。

两个平台的 Skill

Claude CodeOpenClaw
位置~/.claude/skills/ 或项目内 skills/workspace 内 skills/
格式SKILL.md(frontmatter: name, description)同左
触发Claude Code 根据 description 自动匹配,或用 /skill-name 手动调用agent 在对话中根据 description 匹配,或 cron prompt 中显式引用
作用域~/.claude/skills/ = 全局(所有项目),项目内 = 仅当前项目workspace 内 = 该 agent 专属

设计要点

description 是核心 — 它决定了 skill 何时被触发。好的 description 像搜索引擎的关键词,要覆盖用户可能说的各种表达方式。

Skill vs CLAUDE.md — CLAUDE.md 是”始终加载”的全局指令,Skill 是”按需加载”的专项指令。把所有东西塞进 CLAUDE.md 会浪费上下文窗口。

Skill 可以引用脚本 — Skill 不只是文字说明,可以指导 agent 调用具体的脚本(如 add.ts 记账脚本),实现”指令 + 工具”的组合。

实际案例(Ghost-in-the-Shell)

Skill用途特点
bookkeeping记账指导 agent 调用 add.ts 脚本,而非手动编辑 .bean 文件
cron-manager管理定时任务记录 schedules.json 结构、同步命令、踩坑记录
doctor健康检查两阶段:Phase 1 跑脚本测试,Phase 2 LLM 语义分析
knowledge-distiller知识蒸馏从对话中提炼 SlipBox 卡片草稿
hat:distill知识蒸馏(Claude Code 版)~/.claude/skills/ 中,支持前置依赖检查和已有卡片编辑

Question

  • Skill 的 description 匹配是精确匹配还是语义匹配?如果两个 skill 的 description 有交集会怎样?
  • 有没有办法测试一个 skill 的触发准确率?(提示:superpowers 的 skill-creator 有 eval 功能)
  • Skill 之间能否互相引用(A 的流程中调用 B)?

See Also

MCP
Claude Code
Hook
Agent
OpenClaw

Reference

Answer

Q: description 匹配是精确还是语义?交集怎么办?
语义匹配。Claude Code 用 LLM 判断用户意图和 description 的相关性,不是关键词精确匹配。两个 skill 的 description 有交集时,LLM 会选它认为最相关的那个。如果不确定,可能两个都不触发。所以 description 要写得有区分度——避免两个 skill 用相似的触发词。

Q: 怎么测试触发准确率?
superpowers 的 skill-creator 插件有 eval 功能:给定一组测试用例(用户输入 + 期望触发的 skill),跑一遍看命中率。还能做 variance analysis 找出哪些输入容易误触发。

Q: Skill 之间能否互相引用?
可以。在 Skill A 的流程中写”调用 skill B”或”按 hat:distill 的格式写入”,LLM 会去加载并执行 B。实际案例:hat:task_complete 的 Step 2.5 调用 hat:distill 做知识蒸馏。不是硬编码的函数调用,是通过 prompt 指令实现的软引用。

分享这张卡片:
分享到 X

Skill

反向链接