搜索 K
主题
24 个一行一条的原则技能,是 pstack-poteto-mode 的决策词汇表:agent 开工先读索引,回复里点名用了哪条、它改变了哪个决定。
原则不需要调用,你拿名字纠偏。poteto-mode 在多步任务开头读这份索引,应用被触发的原则,并在回复里说明每条原则改变了哪个具体决定;只引用本会话真正读过全文的条目。也可以输入 /principle-<kebab 名> 单独加载一条。
纠偏用语示例:
用 subtract before you add。先把作废的 adapter 删掉,再设计剩下的应用 prove it works。跑真实的导入流程,把写进去的记录给我看separate before serializing shared state。每个尝试各给一个 worktree,不要锁重构、评估 diff 大小、想加抽象层时用。偏向删除和能解决问题的最小改动。纠偏:「这个改动能再小一点吗?」
写逻辑之前用:选核心类型与数据结构、排定 scaffold 与功能的顺序、问并发者共享什么。先把数据形状定对,下游代码自然顺。纠偏:「先说数据形状再写逻辑。」
给既有设计接入新需求时用。假如这需求从第一天就在,你会怎么设计?整体想清楚,增量交付。纠偏:「别往上贴,假设它一开始就在重新设计。」
两个以上共享同一前提的修复都过不了同一个 gate 时用。把前提写下来,先直接验证前提再写下一个修复。纠偏:「写下这几个修复共同假设了什么,先证它。」
排定新增、重构、重写的顺序时用。先清死代码、多余校验器、stub 引用,再在更简单的地基上盖。纠偏:「先删到不能再删再加东西。」
评审或整理难追踪的代码时用。数两层负担:到答案要跳几层、读者脑里要存多少隐藏状态;砍掉单调用方 wrapper、缩小可变状态范围。纠偏:「新读者 30 秒内能说出 X 从哪来、谁能改它吗?」
有明确阶段边界的计划内重写和迁移用。向目标架构收敛,不为中间态保留用完即弃的兼容代码。纠偏:「中间可以破,但要在声明过的边界内破。」
产品、UX、功能范围的取舍时用。用户惊艳优先于实现方便;少而精胜过多而糙。用户也包括下一个维护者。纠偏:「这个选择服务的是实现方便还是用户?」
没有先例的新交互或架构决定时用。做 2-3 个互相竞争的原型并排比较再承诺。纠偏:「先出三个原型再定。」
任何非平凡工作用:编辑、迁移、分析、检查。做一个能干活或能证明的工具(codemod、脚本、生成器),别手敲;工具是评审能重跑的产物。纠偏:「把这一步写成能重跑的脚本。」
写有状态的逻辑、分支多、多处重复同一形状假设时用。把领域编码进一个结构(状态机、类型化模型、注册表、reducer、边界、合适的集合),不散在条件语句里。纠偏:「这个 if/else 链其实是张状态表。」
接验证、错误处理、框架适配器时用。守卫集中在系统边界(CLI、配置、网络、外部 API),内部信任类型,业务逻辑放纯函数。纠偏:「这个校验该在边界做一次,里面别再查。」
设计类型或函数签名时用。让非法状态无法表示、给语义 primitive 打 brand、外部数据在边界 parse、穷尽变体、类型从权威 schema 派生。TS 语法细则见 pstack-typescript-best-practices。纠偏:「让这个状态在类型上就造不出来。」
设计在崩溃、重启、重试中运行的命令、生命周期步骤、循环时用。读当前状态、比目标、只补差量,重复执行收敛到同一终态。纠偏:「这步跑两遍会怎样?」
引入新内部 API 而旧调用方还在时用。迁移调用方和删旧 API 放同一波,不留兼容层;测试同步改成断言新契约。纠偏:「这波连旧 API 一起删。」
并发者可能写同一文件、分支、键、状态对象时用。先问能不能消除共享,各写各的、只在读侧合并;共享是不变式时才用锁、顺序阶段做结构化串行。纠偏:「先各自一个 worktree,再谈锁。」
宣称完成之前用。对真实产物验证(跑功能、读真实值、看 diff),不信代理指标、自报、「编译过了」。能脚本化就脚本化。纠偏:「给我看真实输出,不是构建日志。」
调试时用。把症状逐层问 why 追到系统第一个出错的地方修;守卫只在它处理的状态合法时才算修复。纠偏:「先复现再追因,别在冒症状的地方打补丁。」
多步工作(扫掠、迁移、成批相似编辑)和 commit/PR 堆叠时用。每小单元以可验证状态收尾,绿了才下一个;交付顺序本身构成论证(先失败测试再修复)。纠偏:「切成小步,每步一个验证点。」
写、改、保留测试时用。断言代码用户能观察的东西:行为坏了测试要红,只动内部实现测试要绿。期望值从需求来,不从实现重算。纠偏:「这个测试在 mock 的是内部协作者还是外部边界?」
信任、报告或依据一个实测数字前用。命名它的 limiter,逐项排除它可能测的是别的东西(错误、缓存、没跑到的代码、没调参的一侧)。可执行版见 pstack-benchmark-checklist。纠偏:「为什么不是两倍?说不出就还没测明白。」
上下文要满时用:大输出、长文件、重复读、fan-out 规划。批量活给子代理,主线程只留摘要;给每阶段定范围和轮次预算。纠偏:「这堆原文给子代理读,我只要摘要。」
想在可逆工作上问「要不要我做 X」时用。直接做、呈现结果、让人事后纠偏;不可逆动作(force-push、删生产数据、对外发消息)仍要确认。纠偏:「可逆的就先做再说。」
发现自己在写第二遍同样的指令、或同一纠正反复出现时,把它编成 lint、元数据 flag、运行时检查或脚本,而不是更多文字。全仓库应用见 pstack-correct。纠偏:「这条建议第二次出现了,编成检查。」