Skill Write Policy(写入硬规则)
每次 skill_manage(action=create|edit|patch) 前必读。
硬规则(违反任意一条即拒绝)
Frontmatter
name:kebab-case,[a-z0-9-],≤64 字符description:≤1024 字符;前 57 字符精准描述触发场景(系统 prompt 索引只显示前 57 字 +...)- 必须有
version/author/license(peer 匹配) metadata.hermes.category必须填
内容
- SKILL.md ≤100k 字符
- 必须引用至少一个 hermes 原生工具:
terminal/skill_view/skill_manage/read_file/patch/delegate_task/execute_code等 - 不允许 paste 完整文件内容进 SKILL.md;用
path:line引用
Category 白/黑名单(Henry 偏好)
- 允许:
software-development/research/github/mlops/productivity/email/smart-home/apple - 黑名单:
media/creative/social-media(除非用户明确指定) - 默认 category:
software-development
重名检测
- 写入前必跑
skills_list(),比对 name - 命中 bundled → 拒绝,提示「改写 bundled skill」
- 命中用户自定义 → 加后缀
-v2/-<topic>
Self-check
写完后调:
~/.hermes/skills/learning-loop/scripts/synthesize_skill.py \
--name <name> --description "<desc>" --category <cat> \
--body "<body>" --research-dir /tmp/x --output /dev/null
exit 0 → 通过;exit 1 → 拒绝,按错误修。
流程
- 准备 name / description / category / body
- 跑 self-check(上面命令)
- skill_manage(action="create", name=..., content=, category=...)
- skills_list() | grep 验证注册