From litepowers
要固化一条持久规则、防止 AI 反复犯同一个错、或纠结某约定该写成 ADR / hook / 测试 / skill / 文档时。Use when codifying a durable rule or choosing a governance layer. TRIGGER: 加个规则 / 守门 / 防止再犯 / 写个 hook / 写个 ADR / 形成规范 / 约束 AI / 模块边界 / 语义边界 / add a rule / enforce / guard / prevent recurrence / where should this rule live / governance layer.
How this skill is triggered — by the user, by Claude, or both
Slash command
/litepowers:decision-layeringThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
一条新约束,先判断它该落到哪一层(或哪几层组合)。AI 让结构性退化加速(一下午能改几十个文件),所以**判断、检测、解释三件事要分层并存**。
一条新约束,先判断它该落到哪一层(或哪几层组合)。AI 让结构性退化加速(一下午能改几十个文件),所以判断、检测、解释三件事要分层并存。
别急着新建规则。先交叉检查:
已有规则没被看见 → 优先改善可发现性或引用路径;规则不存在 → 再按决策树分层。老项目没有 ADR / spec 时,先把事实依据列出来(调用方、数据结构、兼容行为、线上约束),不要把猜测直接固化成规则。
┌─ Constraints 约束 — 告诉 AI 不能做什么 / 边界在哪
│ 项目入口规则文件(CLAUDE.md 等)/ 主题约束文档 / 模块边界 / ADR
├─ Conformance 合规 — 检查产出违反了哪条约束
│ 编辑期 hook(即时反馈)/ CI 测试(包边界、命名、分层、文件扫描)
└─ Knowledge 知识 — 把"为什么"喂回给 AI
ADR(代码读不出的决定 + 拒绝原因)/ 模块文档(业务规则、状态机、取舍)/ 代码注释
新规则 / 约束
├─ 是"决定 / 取舍"(选了 X 不选 Y)?
│ → ADR(必,见下方"建 ADR 前先探测")+ 视影响面在入口规则 / 模块文档引用一句
├─ 是"语法 / 结构 / 字符串模式"(正则或 AST 可表达)?
│ ├─ 想编辑瞬间反馈 → 编辑期 hook
│ │ ├─ fail-open(非阻塞,报 stderr 给 AI 自判)← 默认
│ │ └─ fail-close(阻塞)← 仅当误报率 <0.1% 且违反代价极高
│ ├─ CI 要兜底(绕过 hook 的路径也得拦)→ 架构测试 / 文件扫描
│ └─ 两者通常并存:hook 快、CI 全
├─ 是"语义 / 跨模块 / 业务不变量"(正则讲不清)?
│ → ADR + 模块文档 + 代码注释(让 AI 看见 why)+ 针对性测试
│ → 对外行为 / 跨模块接口若绑定租户、权限、状态、数据归属、幂等键、外部系统契约等,
│ 先写清语义边界和拒绝原因;能机械识别的路径再进 hook / CI
└─ 是"操作流程 / 工作步骤"?
→ skill(用 writing-skills 起步)
| 代价 \ 检测 | 正则可表达 | 仅 AST | 仅文档可解释 |
|---|---|---|---|
| 高(产线事故 / 数据丢失 / 安全) | hook + CI + ADR | 架构测试 + ADR | ADR + 强文档 + 针对性测试 |
| 中(逻辑 bug / 维护成本) | hook 或 CI + ADR | 架构测试 + ADR | ADR + 模块文档 |
| 低(风格 / 命名 / 提示) | hook 即可 | 不值得加测试 | 一句文档或代码注释 |
即便高代价规则也尽量避免阻塞式 hook(误报会卡住 AI 主流程),用 fail-open + 强 CI 兜底替代。
这套理念落到任意项目,不能假设人家已有 ADR 体系或 hook 架构:
docs/adr/ / doc/adr/ / adr/ 等)。
.claude/hooks/ 或项目既有的 hook 配置)。
doc-or-not。bug 修复 / 在既定约定内的功能实现 / 原型实验 / 临时脚本 / 只影响单个模块的内部规则(直接改那篇文档)/ 紧急修复(先修事后补)。判断标准:这条约束 6 个月后还在吗?在 → 走分层;否 → 跳过。
npx claudepluginhub cheng6563/litepowers --plugin litepowersCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.