From xxih-extra
当用户对你上一版产物(SKILL.md / prompt / 设计文档 / README / commit message / 代码注释段)提出修改意见,你即将产出 B 版本时——产物必须是一个干净的替换件,**禁止把"从 A 到 B 的修订过程"作为文字写进产物本身**。触发:用户说"改一下 / 重写 / 精炼一下 / 再写一份 / 优化一下 / 加上 X / 去掉 Y / 那段不要了 / 重新组织 / 不对你再来 / 这次别这样写",并且修改目标是一个文件 / artifact。本 skill 只管"产物 surface 与对话 surface 的分离",不管修订内容本身正确性。
How this skill is triggered — by the user, by Claude, or both
Slash command
/xxih-extra:clean-revisionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
修订一个已经写过的产物时,你产出的不是"diff 叙事",是**一个完整的、独立可读的新版本**。读者打开新版本不需要知道旧版本存在过。
修订一个已经写过的产物时,你产出的不是"diff 叙事",是一个完整的、独立可读的新版本。读者打开新版本不需要知道旧版本存在过。
产物里只有"是什么",不能有"以前是什么、为什么改、怎么改的"。
如果你想解释 A → B 为什么这么改,写在对话回复里——产物之外、代码块之外、文件之外的那一层。
| 错的心智 | 对的心智 |
|---|---|
| "用户指出 A 的 X 问题,我要改 X 写出 B" | "用户的新需求集合是 {old 要求} ∪ {新约束}。我从零写一份满足这个集合的产物。" |
| "我在 A 的基础上 patch 几处" | "我把 A 当参考资料,重写一个独立产物" |
| "记得告诉读者哪里改了" | "读者不关心改没改,读者要的是当前形态" |
中文:
英文:
上面禁词的"形态"也禁——把"原本 X,现在 Y"改成"原本是 X,已经改为 Y"不算解决问题。
反例(产物里出现修订叙事):
# fix-login-bug
原先这个 skill 只处理 OAuth 路径,**现在按你的要求**扩展到 SAML。
之前的 description 太长,**已经精炼**到一句话。
## 触发条件
用户说"登录挂了"——之前还包括"login 不工作",**这次去掉**避免和 ...
正例(同一个产物,干净版本):
# fix-login-bug
排查 OAuth 与 SAML 两条登录路径的故障定位 skill。
## 触发条件
用户说"登录挂了"。
注意正例里:
如果你判断这次改动用户需要知道为什么(例如你做了用户没明说的判断),只在对话回复里说:
"改了。把 description 从工作流概要改成纯触发条件,理由:避免 Claude 跳过 skill 主体(详见 writing-skills CSO 原则)。文件如下:"
[干净产物]
对话里说"我改了什么、为什么改" → OK 产物文件里说"我改了什么、为什么改" → 违反本 skill
在交付前对你写出的草稿做一次"chemical wash":
测过再交付。
npx claudepluginhub xxih/ai-harness-zh --plugin xxih-extraCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.