核心理念
Skill-Creator 从一个简单的创建指南,进化成了完整的技能开发框架。核心理念:评估驱动开发——写完技能不是终点,跑测试、量化对比、人工评审、迭代优化才是正经事。
技能地址:github.com/anthropics/skills/tree/main/skills/skill-creator
12.1 新版 vs 旧版:核心变化
2 min
| 维度 | 旧版 | 新版 |
|---|---|---|
| 定位 | 简单的技能创建指南 | 完整的技能开发框架 |
| 流程 | 写 SKILL.md → init → validate → package | 6 步评估驱动循环 |
| 测试 | 无 | 自动化 eval + 量化打分 |
| 对比 | 无 | with-skill vs baseline 盲测 |
| 评审 | 手动试几次凭感觉 | 浏览器端 eval-viewer |
| Description 优化 | 无 | 自动化 train-test split 循环 |
| 迭代 | 无 | 反馈 → 改进 → 重跑 → 循环 |
12.2 技能创建流程(6 步循环)
3 min
完整工作流
1. 明确意图 → 2. 写 SKILL.md 草稿 → 3. 创建测试用例
↑ ↓
6. 优化 description ← 5. 迭代改进 ← 4. 运行 + 评估
- Step 1:明确意图(Capture Intent)
技能做什么?何时触发?输出格式?是否需要测试用例?
主动询问边界情况、输入输出格式、依赖项 - Step 2:写 SKILL.md
frontmatter:name + description(触发机制的关键)
body:指令、示例、输出格式
可选:scripts/、references/、assets/目录
description 要写得”有点激进”,鼓励触发而非欠触发 - Step 3:创建测试用例
写 2-3 个真实用户会说的 prompt,保存到evals/evals.json
先不写断言(assertions),让用户确认 prompt 是否合理 - Step 4:运行 + 评估(核心创新)
并行启动两组 subagent:
· with-skill:带技能跑 prompt
· baseline:不带技能(新建)或旧版技能(改进)跑同一 prompt
然后:Grader agent 打分 →aggregate_benchmark.py汇总统计(pass_rate、时间、tokens,含 mean ± stddev)→ Analyzer agent 分析模式 →generate_review.py启动浏览器评审界面 - Step 5:人工评审 + 迭代改进
在 eval-viewer 中逐个查看输出、写反馈 → 反馈保存为feedback.json
Claude 读取反馈 → 改进技能 → 重新跑全部测试 → 新一轮评审
循环直到满意 - Step 6:Description 优化(自动化)
专门针对”技能何时被触发”做优化:
1. 生成 20 个 eval 查询(10 个应触发 + 10 个不应触发,含边界情况)
2. 用户在 HTML 界面审核并编辑
3.run_loop.py自动循环:60/40 train-test split → 跑 3 次取平均 → Claude 提改进 → 最多 5 轮
4. 选 test score 最高的 description(避免过拟合)
12.3 关键组件详解
3 min
3 个 Agent(agents/ 目录)
| Agent | 角色 | 说明 |
|---|---|---|
| Grader | 评分员 | 给每个 eval run 打分(pass/fail + 证据),量化技能效果 |
| Analyzer | 分析师 | 分析模式:哪些断言总是通过/失败、高方差 eval,找出改进方向 |
| Comparator | 对比员 | 盲测对比新旧版技能,不知道哪个是”新”哪个是”旧”,避免偏见 |
核心脚本(scripts/ 目录)
| 脚本 | 功能 |
|---|---|
run_eval.py |
并行跑 with-skill / baseline 两组测试,调用 claude -p CLI |
aggregate_benchmark.py |
汇总统计:pass_rate、时间、tokens(含 mean ± stddev) |
generate_review.py |
生成浏览器端评审界面(eval-viewer) |
run_loop.py |
Description 优化自动循环:train-test split → 跑 3 次取平均 → 最多 5 轮 |
init_skill.py |
初始化技能目录结构 |
quick_validate.py |
快速校验 SKILL.md 格式 |
package_skill.py |
打包技能准备发布 |
Eval Viewer(eval-viewer/ 目录)
浏览器端评审界面,两个 tab:
Outputs tab:逐个查看测试结果,写反馈,支持文本/图片内联预览
Benchmark tab:量化对比(pass rate、时间、tokens),含 per-eval 明细
12.4 对我们的实际价值
2 min
创建新技能时
以前:写完 SKILL.md → 手动试几次 → 凭感觉改
现在:写完 → 自动跑测试 → 量化对比有没有技能的差异 → 看评审界面 → 精确改进 → 循环
改进现有技能时
可以 A/B 对比旧版 vs 新版(盲测,Comparator agent)
量化看改进幅度(pass_rate delta),避免”改了但不确定是不是更好”
优化触发准确性
Description 优化循环是全自动的
解决”技能存在但不触发”的问题(Claude 的 undertrigger 倾向)
用 test split 防止过拟合,确保 description 泛化能力
12.5 使用限制
1 min
环境依赖
run_eval.py 和 run_loop.py 依赖 claude -p CLI,只能在 Claude Code 中用。
盲测对比
Comparator agent 需要 subagent 支持,确保 Claude Code 版本足够新。
评审界面
eval-viewer 需要浏览器环境。无头环境(服务器/CI)可用 --static 导出 HTML。
我们的环境
macOS + Claude Code = 可完整使用所有功能,无限制。
该文观点仅代表作者本人,中视数字科技服务平台仅提供信息存储空间服务。


评论(0)