达尔文:用评估与 Git 棘轮让 Agent Skill 可度量地进化

前言

维护多个 SKILL.md 时,常见做法是人工通读:格式是否规范、步骤是否编号、路径是否写对。这类结构性检查能拦住明显疏漏,却难以回答更关键的问题——带上这个 Skill 跑典型任务,输出是否真的更好。

下面介绍社区 Skill「达尔文」(坐标 @user_df471c2d/darwin-skill)。它把 Karpathy autoresearch 的「只保留可测量改进」思路搬到 Skill 优化上:先基线评分,再按短板改 SKILL.md,用测试 prompt 复验,分数上涨则保留,否则 git revert 回滚,并在关键节点等人确认。

这是什么

达尔文是一个面向 Agent Skill(SKILL.md)质量与效果 的优化型 Skill,由 GitHub 维护者 alchaincyf 发布(花叔生态相关项目)。在 SkillHub 上归类为 ai-agent,标签 requires_api_key=false,当前列表版本为 1.0.0;仓库 README 同时标注 达尔文.skill 2.0 的评估与流程升级说明,安装后 Agent 会按所装包内的 SKILL.md 执行。

它要解决的问题是:当 Skill 数量从几个涨到几十个时,需要一套可重复、可回滚、能区分「写得规范」与「跑得更好」的优化流程,而不是单次手工改稿。

核心功能

以下能力均来自官方 SKILL.md / README / ClawHub 说明,可按阶段理解。

双重评估与加权总分

  • 结构维度(静态分析):检查 Frontmatter、工作流清晰度、边界与检查点、指令具体性、资源引用等;v2.0 说明中还将部分维度升级为「失败模式编码」「可执行具体性」「高风险行动黑名单」等更细的 rubric。
  • 效果维度(需实测或受控退化):为每个 Skill 准备 test-prompts.json(通常 2–3 条典型用户话术),用独立子 Agent 对比「带 Skill / 不带 Skill」的输出,给实测表现打分;无法跑子 Agent 时可干跑并在 results.tsv 标注 eval_mode=dry_run。
  • 总分:各维度 1–10 分乘以权重后汇总,满分 100;改进后总分必须严格高于改进前才保留,否则回滚。

优化生命周期(人在回路)

官方流程大致分为:

  1. Phase 0 初始化:确认优化范围(全部或指定 Skill)、创建 auto-optimize/YYYYMMDD-HHMM 分支、初始化或读取 results.tsv(默认位置 .claude/skills/auto-optimize-results.tsv)。
  2. Phase 0.5 测试 Prompt:为每个 Skill 设计并展示测试 prompt,用户确认后再评估。
  3. Phase 1 基线评估:结构分由主 Agent 打,效果分尽量用子 Agent;完成后展示评分卡并暂停确认。
  4. Phase 2 优化循环:按分数从低到高处理;每轮只针对一个短板维度改 SKILL.md,git commit 后重评;v2.0 强调多评委、评委不复用、单轮涨幅过小早停等;每个 Skill 结束有检查点,用户可要求回滚。
  5. Phase 2.5(可选)探索性重写:hill-climbing 卡住时,在用户同意下可整篇重写再对比 stash 版本。
  6. Phase 3 汇总报告:输出前后分数、保留/回滚次数、主要改动摘要。

棘轮与约束

  • 改动只在 Git 分支上进行;退步用 git revert,文档明确反对用 git reset --hard 作为回滚手段。
  • 约束包括:不改变 Skill 核心用途、不随意新增依赖文件、单轮只改一个维度、控制 SKILL.md 体积膨胀等。
  • 实验记录写入 TSV,字段含 timestamp、commit、skill、old_score、new_score、status、dimension、note、eval_mode 等。

触发方式

ClawHub 页面给出的典型触发语义包括:用户提到「优化 skill」「skill 评分」「自动优化」「skill 质量检查」「帮我改改 skill」「skill review」等中英文表述时启用。

安装与启用

安装前请先确认本机 Agent 的 skills 目录;SkillHub 文档要求 install 时必须 --dir 指向该目录,否则默认落到 ./skills/ 可能不会被识别。

通过 SkillHub(国内商店坐标)

SkillHub 页面与 API 入口均指向坐标 @user_df471c2d/darwin-skill。若已安装 skillhub CLI,可参考:

command -v skillhub && skillhub --version
skillhub install @user_df471c2d/darwin-skill --dir ~/.cursor/skills/

未安装 CLI 时,可按 SkillHub 安装说明 执行官方安装脚本。Cursor 用户 skills 目录为 ~/.cursor/skills/;Claude Code 为 ~/.claude/skills/;Codex 为 ~/.codex/skills/ 或项目下 .agents/skills/(以你当前客户端文档为准)。

也可把下列提示交给 Agent,让其按 SkillHub 安装文档完成安装:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_df471c2d/darwin-skill。

官方 API 页面:https://api.skillhub.cn/user_df471c2d/darwin-skill
SkillHub 展示页:https://www.skillhub.cn/skills/user_df471c2d/darwin-skill

通过 skills.sh / GitHub 包名

仓库 README 提供的安装命令:

npx skills add alchaincyf/darwin-skill

OpenClaw / ClawHub

ClawHub 列出的命令为:

openclaw skills install @alchaincyf/darwin-skill

离线或无法访问 GitHub

README 提供 zip 下载链接,解压后将内容放到 ~/.claude/skills/darwin-skill/(路径以你所用 Agent 的 skills 目录为准)。

运行前建议:在 Git 仓库 中执行优化,并先 commit 或 stash 本地对 Skill 的修改,以便保留/回滚实验改动;涉及 shell、git、凭证或发布流程的 diff,应在检查点人工审阅。

典型用法

安装完成后,用自然语言驱动即可;官方示例包括:

全量优化(首次常用)

优化所有skills

Agent 会走 Phase 0–3;文档建议先完成基线评估,再优先处理分数最低的若干 Skill。

单个 Skill

优化 huashu-slides 这个skill

仅对指定 Skill 执行测试 prompt 设计与优化循环。

只评估不改

评估所有skills的质量

执行 Phase 0.5–1(设计测试 prompt + 基线评估),不进入改写循环。

查看历史

看看skill优化历史

读取并展示 results.tsv。

每个待优化 Skill 目录下可维护 test-prompts.json,例如:

[
  {"id": 1, "prompt": "用户会说的话", "expected": "期望输出的简短描述"},
  {"id": 2, "prompt": "...", "expected": "..."}
]

适用场景与注意

适合谁

  • 已在 Claude Code、Cursor、OpenClaw、Codex 等环境积累多个 Skill,需要批量体检或持续改进的团队或个人。
  • 希望把「改 Skill」变成可审计实验(分支、commit、TSV 日志),而不是散落在聊天记录里的手工 patch。

限制与注意

  • 效果维度依赖子 Agent 或干跑;干跑比例过高时 v2.0 文档会告警,结论可信度弱于完整实测。
  • 流程默认扫描路径示例为 .claude/skills/*/SKILL.md;若你的 Skill 放在 ~/.cursor/skills/ 等位置,需在对话中明确范围或按 SKILL.md 内 Phase 0 说明调整。
  • SkillHub 列表版本为 1.0.0,与 GitHub README 的 2.0 功能描述可能不同步;以你实际安装包内的 SKILL.md 为准。
  • 无需 API Key(requires_api_key=false),但需要 Git、足够长的 Agent 会话,以及你愿意在检查点参与确认。

结尾

达尔文把 Skill 优化收成「评估 → 改进 → 实测 → 保留或回滚」的闭环,用 Git 棘轮避免分数与质量悄悄退化。若你在维护一整套 Agent Skills,可以把它当作可重复的优化流水线,而不是一次性文档审稿。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜