Skill License Provenance Gate
Archived on 2026-08-16 · roadmap: skill-license-provenance-gate
Archived: 2026-08-16 · roadmap-id:
skill-license-provenance-gate
Why
建 thefool-skills(第一个用本模板的真实仓)时,三道门跑完全绿,
但差一点把别人的专有内容推成公开 MIT。
流程是这样的:门③(公私边界)筛掉 6 个泄漏宿主身份的 skill,剩下 8 个"干净"。 按门的结论,这 8 个可以发。逐个打开看许可才发现,其中 5 个不是自有内容:
| 类别 | 数量 | 后果 |
|---|---|---|
供应商专有(© <vendor>, All rights reserved.) | 2 | 任何情况下不能进公开 MIT 仓 |
| Apache-2.0 | 3 | 可转发,但必须保留原许可与 NOTICE,不能改 MIT |
| 自有 | 3 | 可按 MIT 发布 |
最终首批只发了 3 个。
这是产品缺口,不是操作失误
三道门回答的是:
- 门① 「它是不是一个结构合法的 skill?」
- 门② 「manifest 和内容对得上吗?」
- 门③ 「有没有泄漏我的身份?」
没有一道回答「我有没有权利发布它?」——而内容仓的全部意义就是发布。
门③ 尤其容易被误读成已经管了这件事:它确实在扫"不该出现的东西",
但它扫的是宿主私有标识,与第三方版权是正交的两件事。
© 2025 SomeVendor 里没有任何一个字符属于宿主,门③ 永远不会看它一眼。
这与本 epic 记过的另一条同形:「产物是对的 ≠ 产物对别人是对的」。 这里是:「内容是干净的 ≠ 内容是我的」。
Non-goals
- ❌ 不做法律判断。门检的是「证据在不在、和声明对不对得上」,不是「这个许可条款允许什么」。 白名单由人维护。
- ❌ 不自动改写任何 skill 的许可,不自动补 NOTICE。发现问题就失败并指出证据,由人处理。
- ❌ 不做依赖树的许可扫描(skill 里的
node_modules/ npm 依赖)——那是另一个问题, 且内容仓不提交依赖。 - ❌ 不改既有三道门的行为。
- ❌ 不替
thefool-skills决定要不要收 Apache-2.0 的那 3 个——那是内容决策, 本刀只提供判断依据。 - ❌ 不动
web-nextjs/game-web-phaser。