一、前置条件
1. 运行环境
- 只能在 **Claude‑Code CLI(终端版)**使用;网页版 claude.ai 只有简化版,不支持自动评测
evals和benchmark; - 版本要求:
claude‑code >= v2.1.78; - Python3.10+(用来运行评测脚本)。
2. 安装 skill‑creator(官方元技能)
方式1:插件市场一键安装(推荐)
进入 Claude‑Code 的对话终端执行:
# 添加官方技能仓库/plugin marketplaceaddanthropics/skills# 安装 skill‑creator/plugininstallskill‑creator安装完成重启 Claude‑Code才会加载;
全局存放路径:
- Mac/Linux:
~/.claude/skills/skill‑creator - Windows:
%USERPROFILE%\.claude\skills\skill‑creator
方式2:手动部署(断网环境)
gitclone https://github.com/anthropics/skills.gitcp-rskills/skill‑creator ~/.claude/skills/3. 调用入口(两种方式任选其一)
1)斜杠命令(最标准)
# 创建新技能/skill‑creator create# 对已有技能做评测/skill‑creatoreval./my‑skill# 根据评测结果自动改进skill/skill‑creator improve ./my‑skill# 基准压测(多次运行降低随机性)/skill‑creator benchmark ./my‑skill--runs152)自然语言触发(不用记命令)
Use skill‑creator to build a skill for Java code security review帮我用skill‑creator创建Java代码安全审查的skill
二、4个核心模式完整用法(实操步骤)
模式1:create(从零新建Skill,最常用)
Step1:输入需求(描述尽量具体)
进入claude‑code后输入:
/skill‑creator create随后AI会交互式向你确认4个关键问题,你依次回答即可:
- 技能目标:这个技能解决什么问题;
- 坏示例:做代码审查;
- 好示例:读取项目Java文件,检测硬编码密钥、SQL注入,输出JSON结果。
- 触发条件(非常关键):什么时候启用本Skill;
例:用户提到代码审查、漏洞扫描、查看java文件时触发;闲聊内容不启用。
- 允许调用工具
allowed‑tools:bash、read_file、edit_file等; - 输出规范 + 禁止行为:
- 输出格式:JSON / Markdown表格 / 纯文本;
- 禁止:不要多余闲聊,只输出结果;禁止编造文件不存在的代码。
Step2:skill‑creator自动生成目录文件
它会自动生成整套目录,你不用手动建文件夹:
~/.claude/skills/my‑java‑review/ ├─ SKILL.md # 核心文件,包含yaml元数据 + 指令 + 示例 └─ evals/evals.json # 自动生成测试用例与断言条件SKILL.md自动填充yaml头部:
---name:java‑security‑reviewdescription:读取Java源码文件,检查SQL注入、硬编码密钥,返回JSON漏洞报告,用户提出代码审查时启用allowed‑tools:["read_file","bash"]---# 下面是你的业务指令和示例命名规范:文件夹名称必须小写+短横线(kebab‑case)。
Step3:自动跑eval测试(双对照组)
skill‑creator内部启动两组Agent:
- 实验组:加载你的skill运行测试用例;
- 对照组:原生Claude不加载skill;
内置Grader判断: - 正向用例:应该触发技能;
- 反向用例:闲聊内容绝对不触发;
- 断言要求:输出格式合规、漏洞识别正确。
如果通过率低,Analyzer会指出SKILL.md哪条描述模糊,并给出修改建议。
Step4:确认交付成果
- 评测达标 → 技能正式生效;之后在任意项目里输入
/java‑security‑review src/main/java即可调用; - 不满意:输入
improve自动迭代; - 项目级部署:把
my‑java‑review复制到项目目录.claude/skills,仅当前仓库生效;放到~/.claude/skills全局所有项目生效。
模式2:eval(评测已有skill)
/skill‑creatoreval~/.claude/skills/my‑skill- 读取现有的
evals/evals.json; - 自动执行全部测试用例;
- 输出通过率、失败用例、失败原因;
若你没有evals.json,skill‑creator会帮你生成可验证的断言用例。
evals.json编写规则(skill‑creator自动生成,你只需看懂)
{"evals":[{"prompt":"审查src/login.java","expectations":["输出JSON格式","识别硬编码密码漏洞","漏洞包含等级、问题代码片段、修复建议"]},{"prompt":"今天天气怎么样","expectations":["不要触发代码审查技能"]}]}expectations必须客观可判断,不能写“回答要好”这类模糊描述。
模式3:improve(迭代优化)
/skill‑creator improve ./my‑skill工作逻辑:
- 读取eval评测失败的case;
- 修改SKILL.md的触发条件、规则、示例;
- 再次运行eval,直到通过率达标;
大多数时候只是优化描述语句,不要堆砌大量指令文本。
模式4:benchmark(基准压力测试,上线前必做)
/skill‑creator benchmark ./my‑skill--runs15多次循环跑测试用例,消除单次运行随机性,确保后续模型版本更新之后技能依然稳定;跑完生成timing.json记录耗时、token消耗。
三、手动修改SKILL.md后如何生效
- 修改完成后,执行:
/skill‑creatoreval./my‑skill- 全部用例通过后,重启Claude‑Code;
- 调用方式二选一:
- 自动触发:输入对应场景问题,Claude‑Code自动匹配加载skill;
- 手动强制调用:
/my‑skill 你的参数。
四、官方最佳实践(避坑要点)
- SKILL.md精简原则:
- 核心规则和示例写在SKILL.md;长篇参考文档放到
references/文件夹,避免主文件过长; - SKILL.md正文控制在5000字以内。
- 核心规则和示例写在SKILL.md;长篇参考文档放到
- 示例必不可少:至少写2组「用户输入‑模型输出示例」,大幅提高触发准确率;
- 客观任务(代码、格式处理)必须写evals;写文案类主观任务可以人工评审;
- 不要开启过多技能,同时启用技能建议控制在20‑50个以内,否则匹配混乱、上下文膨胀;
- 技能打包分享:
# 官方打包脚本生成可分发压缩包python ~/.claude/skills/skill‑creator/scripts/package_skill.py ./my‑skill ./dist别人拿到后放到自己~/.claude/skills即可直接使用。
五、最简实操演示(复制即可跑通)
- 打开claude‑code执行:
/skill‑creator create- 你的回答:
技能名称:git‑commit‑helper;功能:根据代码改动生成符合Conventional‑Commits规范的commit‑message;仅用户说生成commit注释时触发;输出简短一行,无多余文字。
- 等待AI生成文件并跑完评测;
- 使用:
/git‑commit‑helper即可生成提交注释。