promptgarten 🌱
🌍 DE
术语●●○4 分钟 · +40 XP

Skills:你的 agent 能加载的知识

Skill 是一个装着说明的文件夹,任务匹配时你的 agent 会自动加载它。

什么是 skill?

Skill 是一个包含名为 SKILL.md 文件的文件夹,里面写着操作说明。当任务与某个 skill 匹配时,Claude 会自动加载这份说明。你也可以直接调用一个 skill,用 /skill 名称

SKILL.md 的结构

每个 SKILL.md 开头都有一段 YAML 头部,夹在两行 --- 之间,里面是 namedescription 这类字段。头部之后是正文:也就是 Claude 收到的实际说明。一个 skill 还可以在同一文件夹里带上其他文件,比如 reference.md 或者一个脚本。Claude 只有在真正需要时才会加载这些额外文件。

Skill 还是斜杠命令?

斜杠命令最初只是 .claude/commands/ 里的普通 markdown 文件,这些文件现在依然能用。但 custom commands 已经并入了 skills。.claude/commands/deploy.md 这个文件和 .claude/skills/deploy/SKILL.md 这个 skill 都会生成同一个 /deploy 命令。一个 skill 还能额外带上一整个文件夹的文件,而且 Claude 可以在它匹配任务时自动加载。

什么时候值得写一个 skill?

你是不是老在聊天里反复输入同样的说明?你的 CLAUDE.md 里某一段是不是已经长成了一整套流程?这就是把它变成 skill 的好时机。Skill 只在需要时才加载自己的文字,比起始终整个加载的长篇 CLAUDE.md,这样能省下不少上下文。

Skill 放在哪里

  • 个人级:~/.claude/skills/<名称>/SKILL.md —— 你所有项目都能用
  • 项目级:.claude/skills/<名称>/SKILL.md —— 只对这个项目生效
  • 插件级:<plugin>/skills/<名称>/SKILL.md —— 插件启用的任何地方都能用

示例

文件 `.claude/skills/commit-message/SKILL.md`: --- description: 根据当前的 git diff 写一条 commit message。 --- 看一下当前的 git diff,为它写一条简短清晰的 commit message。 之后这样调用:`/commit-message`

小测验

custom commands 并入 skills 意味着什么?

来源

相关主题

斜杠命令、Hooks 等:如何操控 Claude Code ●●○CLAUDE.md / AGENTS.md:给你的 agent 一份记忆和规则 ●●○什么是 subagent? ●●○