pstack 架构拆解
H06 / 十层

24 条判据,
平均每条 22 行

剧本给流程,原则给判断标准。这 24 个目录占了 50 个技能的一半,合计 536 行—— 只占全站正文的 24%,最短 16 行、最长 34 行,是整套件里密度最高的一层。 和其余 49 个目录一样,它们的 frontmatter 都关掉了模型自动触发——你不会自己"想起"一条原则, 只有剧本或根文件点名,它才进来。

图 6-1五组 24 条,一张墙

分组来自 poteto-mode/SKILL.md 的 Principles 节(L38–79),组名和组内顺序都是原文照抄。每组回答一个不同的问题:该写多少、结构怎么摆、怎么算过、什么时候交出去、以及规则本身怎么沉淀。

CORE · 10 该写多少 laziness-protocol foundational-thinking redesign-from-1st-principles attack-the-premise subtract-before-you-add minimize-reader-load outcome-oriented-execution experience-first exhaust-the-design-space build-the-lever 偏向删除 · 最小 diff 先定数据结构再写逻辑 造能重跑的工具 ARCHITECTURE · 6 结构怎么摆 model-the-domain boundary-discipline type-system-discipline make-operations-idempotent migrate-callers-then-delete separate-before-serializing 非法状态不可表示 守卫只放在系统边界 先消除共享,再谈加锁 VERIFICATION · 5 怎么算过 prove-it-works fix-root-causes sequence-verifiable-units test-behavior-not-impl explain-the-number 禁止代理证据:"能编译"不算 先复现,再问为什么 测出的数字也要交代来历 唯一带二级标题的原则文件 (prove-it-works 里的"把检查写成脚本") DELEGATION · 2 什么时候交出去 guard-the-context-window never-block-on-the-human 大批量给 subagent, 主线只留摘要 可逆工作直接做完再汇报 这一组只有两条, 但它是 H07 扇出层的存在理由 META · 1 规则怎么沉淀 encode-lessons-in-structure 同一条纠正写到第二次, 就改成 lint / 标记 / 脚本 ← 这条是整个套件的 自我进化机制:文字层 应该不断向代码层迁移 合计 24 个目录、536 行;每个目录只有一份 SKILL.md,没有附件。frontmatter 固定三键:name description disable-model-invocation。 Principles 节开头那句是这一层的用法总纲:"Read the leaf skill in full for any principle you apply. Each entry names when it applies."
图 6-1 · 名称为目录名简写;redesign-from-1st-principles 全名是 principle-redesign-from-first-principles。

图 6-2一条原则文件长什么样

左边是 principle-attack-the-premise/SKILL.md 的真实开头(全文 23 行)。右边是 24 份文件的小节标记普查——你会发现它们像,但不统一。

principle-attack-the-premise/SKILL.md · 23 行 --- name: principle-attack-the-premise description: "Apply when two or more   fixes that share one premise have   failed the same gate. …" disable-model-invocation: true --- # Attack the Premise When two or more fixes that share one premise have failed the same gate, suspect the premise, not the fixes. 24 份文件的小节标记普查 共同形状 # 标题 → 一行把判据说完(祈使句) → 一个加粗小标题带具体手法 → 收尾 但小标题的名字不统一 **Why:** 17 份 · **Pattern:** 系 13 份 · **The test(s):** 5 份 其余 12 个名字各只出现 1 次: Stop: · Guardrails: · Corollary: · Anti-patterns: Rule: · Balance: · Feedback loop: · The fix: 这不是模板,是文体约定。没有 schema 校验它。
图 6-2 · 这正是 H02"代价 1:靠模型自觉"的实证。原则层能对齐语义,对不齐格式——47 处加粗小标题里,有 12 个是只出现过一次的孤本。

6-3引用纪律:这一层真正的强制力

原则本身没有执行力,执行力来自 poteto-mode/SKILL.md 第 15 行——就在 Non-negotiables 之前的一整句:

The Principles section below grounds every trigger. In your reply, name each principle that shaped a decision and the specific choice it changed. Cite only principles whose leaf SKILL.md you read this session.
效果
可审计
你能核对:它说用了 laziness-protocol,那就得真的少写了代码。引用变成一种可验证的承诺。
副作用
逼出读文件动作
要引用就得先读。这条纪律顺带保证 22 行的原则真的进了上下文,而不是躺在磁盘上。
代价
每条引用都花 token
24 份文件平均 22 行,读三条就是 66 行。加上根文件 147 行、剧本 20–40 行,一次跑的固定开销在这里。

原则之间还有相对链接互指:attack-the-premise 结尾写明它和 redesign-from-first-principles 的分工,并链过去。全站 4 个原则文件带 9 条这样的链接——它们是一张小图,不是 24 个孤岛。

本层的检验问题:为什么 24 条原则要各占一个目录,而不是并成一份"原则手册"? 因为拆分才能按需加载:一次任务通常只碰到 2–4 条,合成一份就每次都要读 536 行。 拆分的代价是格式对不齐(图 6-2)。这笔交易划不划算,是这一层留给你自己的问题。 下一层 H07 看它怎么把判断力并行放大。
上一站← H05 Playbook 路由