kenton-varda-infra
Skill290 starsChanged 14 days agoApache-2.0View on GitHub
当用户明确要求采用 Kenton Varda 的工程思路分析、设计或评审软件时使用。提取其在 Cap’n Proto、Sandstorm、KJ 和 Workers 中公开呈现的问题分解、接口设计、性能推理、安全边界与兼容演进方法。
- Pipes a download into a shell
In this repository4 other files it gives its agents.
- AGENTS.mdAGENTS.md
- aotui-app-builderSkill
- feature-migrationSkill
- minimalistSkill
The file
Files
Kenton Varda 工作方法
依据 Kenton Varda 的公开技术作品及其维护项目的设计文档,提炼可复用的工程方法。这是一份有来源依据的方法归纳,不代表本人,也不是本人发布的 Skill。
使用约定
在用户调用本 Skill,或明确要求采用 Kenton Varda 的工程思路时使用。具体问题、目标、约束和行动范围来自当次任务;本文件不预设工作计划或技术选型。
下列心智模型和执行流程是对公开材料的归纳,不是 Kenton 本人公布的一套固定步骤。应用时区分来源中的设计事实、当前问题的事实,以及由二者推导出的建议。建议的正确性由当前问题的证据决定。
三个核心心智模型
1. 先问一项工作是否必须存在,再问如何把它做快
Cap’n Proto 让传输格式也能作为内存中的可访问表示,从而省去通常的编码、解码转换;Promise Pipelining 则允许把后续调用表达为对前一个结果的操作,减少等待结果再发请求的往返。这两种设计都从表示方式和依赖关系入手。Introduction、RPC Protocol
执行方法: 找出实际耗时的转换、复制、分配和等待。分别说明哪些由任务语义要求,哪些由现有接口或表示方式造成。对后者,尝试改变表示或组合方式,并追踪成本是否被转移到了别处。
适用边界: 调用依赖能被协议表达,不等于调用者已经获得了结果;需要在本地检查结果再决定分支时,等待仍可能必要。省去转换也不等于省去数据构造、校验、传输和存储。局部基准不能直接证明完整任务更快。
2. 让接口和执行模型承担正确性,使自然写法更可靠
Workers bindings 直接向程序提供可访问指定资源的对象,把资源连接与访问能力结合起来。Durable Objects 则通过输入和输出 gates,改善直观的异步存储代码在并发与提交时序上的行为。它们展示了通过设计同时改善易用性与可靠性的路径。Live object bindings、Easy, Fast, Correct
执行方法: 先写使用者最容易写出的代码,再查它会在哪些条件下出错。检查能否通过对象、类型或执行规则消除这类错误。例如,把“拿到资源名称后再寻找权限”改成“取得一个只允许相应操作的对象”。说明谁能授予这个对象,以及实现如何限制访问。
适用边界: 一个普通对象或字符串 ID 本身不构成安全保证;机制必须能实际控制相应访问或时序。平台管理的存储顺序不能自动推广为所有外部副作用的事务保证。将默认写法做可靠,也不意味着隐藏网络故障或承诺无限自动恢复。
3. 把长期依赖者的处境纳入设计
Workers 的兼容日期让已部署应用继续依赖既有行为,同时允许应用主动选择改变后的行为。workerd 的公开说明区分了对应用的承诺与可变化的内部接口。后来关于自托管采用的反思,又指出公开源码之外还需要工具和配套服务。Compatibility dates、workerd、Self-hosting reflection
执行方法: 识别谁已经依赖哪些行为、谁控制升级,以及使用者怎样选择新行为、部署和排错。评估一个设计时,将使用者被迫付出的改动和运维成本计入,而不只比较实现者眼前的代码量。
适用边界: 公共行为承诺与内部实现细节需要分别界定;某个平台的长期兼容策略不能直接成为所有软件的永久冻结规则。公开实现也不等于已经提供可用的独立部署产品。说明承诺的范围及兑现方式。
将方法用于具体任务
按问题选用相关步骤,不为每次小问题生成完整架构报告。
- 从真实用法建立问题。 用最小调用示例、数据流或失败过程说明使用者想做什么。将真实需求与设想分开。KJ 的设计说明强调功能来自实际项目需求;据此,新增抽象应先说明它解决了哪个实际困难。Introducing KJ
- 明确正在优化什么、信任什么。 性能问题识别 CPU、带宽、往返延迟等实际瓶颈;安全问题识别攻击者、权限和信任来源。Sandstorm 对安装方式的讨论将“信任软件作者”与“下载内容被第三方替换”分开,分别回应,避免被表面形式带偏。Sandstorm installation analysis
- 寻找能改变结果的机制。 尝试调整数据表示、对象传递或执行顺序,写出改变后的用法与行为。说明机制为什么有效、需要哪些条件,以及是否值得承担实现和维护成本;保留现状也可以是结论。
- 用反例检查职责放置。 检查失败、恶意输入和不同版本参与者是否推翻承诺。Cap’n Proto 对 Protobuf required 字段的反思说明:把业务完整性检查固化在通用解析层,会让无关的中间节点也拒收消息。区分结构有效性与使用场景所需的业务有效性。FAQ: required fields
- 验证收益与代价。 用能够区分方案的最小实验验证关键假设。性能比较覆盖完整目标操作;接口比较展示调用者实际需要写的代码;兼容问题检验不同版本组合。报告真实测量、推测和未验证项,不以作者声望代替结果。
决策中的张力
- 组合能力与网络现实: 保留可组合的对象接口,同时显式表达异步与失败;不能因为语法接近本地调用,就假定远程调用具有本地调用的可靠性。S2
- 默认保证与特殊需求: 优先让常见写法可靠;若需要绕开默认机制,说明放弃了什么保证。Durable Objects 提供特定绕过选项,并不表示所有场景都应该绕过。S5
- 统一机制与场景差异: 结构安全可以由公共实现负责,业务有效性依赖具体使用场景。把检查放在能够正确解释它的位置。S1、S3
- 新设计与既有承诺: 可以重新设计机制,但需辨认哪些调用者已经依赖旧行为。不要将内部重构、公共行为变更和部署迁移混为一件事。S6、S7
表达 DNA:复用论证方式
先给判断,再用一个具体例子解释问题怎样发生,随后说明机制如何改变结果,最后交代代价、适用边界与验证方法。根据任务规模控制篇幅。
公开材料常用代码和可逐步追踪的因果关系支撑设计论点;遇到反对意见,先拆开不同前提,承认成立的部分,再讨论机制能否解决其余部分。S2、S5、S8
沿用这种论证方法,使用用户的语言直接说明问题。无需模仿口头禅、幽默或第一人称经历;不得生成虚构语录,也不要用“Kenton 一定会”代替证据。
诚实边界与更新
本 Skill 提炼的是公开技术论证中可观察的工程方法。没有充分证据重建其私下管理方式、人格、日常工作节奏或全部决策过程;也没有验证它能复现本人的判断水平。
本人署名文章、共同署名文章和项目文档的证据性质不同:共同作品不归为个人独有观点;共同维护的设计文档不逐句认定为本人原话。这里的通用步骤是整理者的归纳,不能反过来证明 Kenton 在其他问题上的立场。
资料查阅截至 2026-11-01。历史论证可以提供方法,不能独自证明当前 API、实现、产品计划或安全状态;需要这些事实时查阅最新一手资料。新证据与归纳冲突时,缩小适用范围或修正归纳。
来源与制作依据
正文链接对应十份一手材料。Cap’n Proto 与 KJ 的条目是项目设计文档;Cloudflare、Sandstorm 的文章有明确署名。Self-hosting reflection 对应 Kenton Varda 与 Ryan Dahl 的共同署名文章。
制作采用 Distilly 的公开人物研究流程,将来源研究转化为可追溯的工作方法,省去身份扮演。使用本 Skill 无需安装 Distilly。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

