图 2-1一个技能目录的解剖(真实文件)
用 why 当样本,因为三种附件它都有:正文、references、更深的 sources。左边是磁盘上的样子,右边是运行时看到的顺序。
图 2-1 · 关键设计:frontmatter 是索引,正文是手册,附件是附录。三层分开,才装得下 50 个技能。
图 2-2体积分布:绝大多数技能很短
这是 pstack 最重要的手感:技能不是长文。50 份 SKILL.md 的中位数是 31 行,最短 7 行,最长 158 行。24 条原则平均只有 22 行。
图 2-2 · 数据来自上游仓库 wc -l skills/*/SKILL.md(提交 e43c7ee),核对日期 2026-10-05。
2-3这种载体的三个代价
纯文字不是免费的。pstack 换来可移植性,付了三笔账:
代价 1
靠模型自觉
没有类型检查、没有单测。poteto-mode 里那句"必须点名原则",本质是一句请求,不是强制。
代价 2
会撞名字
Cursor 自带一个 babysit 技能,触发词和 pstack 的 Babysit 剧本一模一样。根文件必须专门写一句"用剧本、别用宿主那个"。
代价 3
要外置状态
文字记不住"上次跑到哪"。所以才有 H10 那层:orch.ts、decisions.tsv、/tmp/<slug>-resume.md。
本层的检验问题:为什么 50 个技能能同时"装"在机器上却不撑爆上下文?
答案在 frontmatter 只暴露 name + description 这一件事上——这正是下一层 H03 的主题。