Darwin Skill — Cron 自动化模式
为 cron job 提供的 darwin-skill 自包含执行参考。 主版本:
~/.hermes-feishu/skills/darwin-skill/SKILL.md
Cron 自动化模式
Cron job 每日自动执行技能优化,无人在回路。安全依赖 Ratchet 机制(新分 > 旧分才保留,否则 git revert)。
分组策略
| 分组 | mtime | 阈值 | 优化深度 |
|---|---|---|---|
| TODAY | = 今天 | < 80 | 最多 4 轮,≥80 或 Δ<2 收敛 |
| HISTORY | < 今天 | < 70 | 2-3 轮;≥70 跳过 |
跳过项
- Phase 0.5(不设计 test-prompts)
- Phase 2.5(不提议探索性重写)
- 所有 🔴 CHECKPOINT(自动跳过)
⚠️ 绝对不要加
delegation— sub-agent 通过 delegation 可绕过父 agent 的 toolsets 约束,已在 2026-07-04 导致.hermes/skills/被删至仅剩 13 个目录(~155 技能丢失,需从 awesome-skills 恢复)。skillstoolset 足以让 agent 直接 patch/write_file 修改技能文件。
🔴 安全边界(CRITICAL)
delegation 禁令
- 禁止在 cron job 的
enabled-toolsets中加入delegation - 禁止在 cron prompt 中 instruct 父 agent 调用
delegate_task - 子 agent 不得获得
delegation— 即使 prompt 中声明toolsets=["terminal","file"],实际 cron job 的 enabled-toolsets 会覆盖子 agent 的约束
技能目录保护
- 禁止子 agent 执行
rm -rf、目录级删除、或将技能目录整体移出 git 管理范围 - 子 agent 只允许
patch(单文件精确编辑)和write_file(创建/覆盖单文件),不得操作整个目录 - 所有修改必须在
.hermes/skills/git repo 内完成,修改前检查git status确保仓库正常
Pre-flight 检查(Phase 0)
在进入 Phase 1 之前,父 agent 必须执行:
cd ~/.hermes/skills && git status --short | grep "^ D" | wc -l
若已有 D (deleted) 状态文件 > 0:中止优化,报告异常。
Git 初始提交检查:git log -1 失败(No commits yet)时,repo 虽已 git init 但从未 commit,Phase 2 优化和 ratchet 回滚均不可用。修复:先做初始提交(建议先加 .gitignore 排除 .usage.json/.curator_state/__pycache__/)。
恢复预案
若发生技能目录大规模丢失:
- 源:
~/.hermes/skills/是 git repo(提交 34461a0 后完整) - 备源:
~/awesome-skills/含 88 个已发布技能 - 交叉备源:
~/.hermes/hermes-agent/skills/含少数独有技能(如 yuanbao、dogfood) - 恢复流程:
cp -r ~/awesome-skills/<name> ~/.hermes/skills/→ 检查 symlink →git add -A && git commit - 参考记录:references/disaster-recovery-2026-07-04.md
约束
- 前置:repo 必须有初始提交(
git log -1成功),否则 Phase 2 不可用 - 并行优化 ≤3 子 agent (leaf, toolsets:
["terminal", "file"]) - 每个子 agent ≤3 技能(4+ 技能 × 3 轮易超 leaf 子 agent max_iterations)
- 回滚用
git revert,不用git reset --hard - 体积上限 150%,小技能(<100 行)接受天花板
- 父 agent 检查
git status,补提未提交变更
关键资源
| 文件 | 用途 |
|---|---|
| cron-prompt-template.md | 创建/更新 cron job 的自包含 prompt,内嵌完整 rubric |
| cron-execution-pattern.md | 两日实战数据(13 技能)+ 收敛规律 + 回滚案例 |
创建 Cron Job
cronjob create \
--name "darwin-nightly-optimize" \
--schedule "1 2 * * *" \
--skills "darwin-skill-cron" \
--enabled-toolsets "terminal,file,skills" \
--deliver origin \
--prompt "$(cat references/cron-prompt-template.md)"
⚠️ 绝对不要加
delegation— sub-agent 通过 delegation 可绕过父 agent 的 toolsets 约束,已在 2026-07-04 导致.hermes/skills/被删至仅剩 13 个目录(~155 技能丢失,需从 awesome-skills 恢复)。skillstoolset 足以让 agent 直接 patch/write_file 修改技能文件。