pstack 是什么:Cursor 工程师的 58 个编程 Agent Skill

pstack 是 Cursor 官方插件仓库 cursor/plugins 里的一套编程 Agent 工作流插件,作者是 Cursor 工程师 Lauren Tan。它把复现 bug、写设计、多模型互审、形式化验证、开 PR 这些工程习惯写成了 58 个 Skill 和 23 个任务剧本,Cursor 和 Claude Code 都能装。截至 2026-10-31(北京时间),插件版本 0.15.36,许可证 MIT。
它是什么
README 的定位很直接:AI 写的「水货代码」太多,pstack 要让 Agent 写得更少、但更经得起验证;先把一个 Agent 做深、能信得过,再放心并行开多个。整套东西就是一组 SKILL.md,外加两个子 Agent 定义(主力执行的 poteto-agent 和专挑注释毛病的 comment-sicko)和一份十章使用指南。
| 仓库 | github.com/cursor/plugins/tree/main/pstack |
|---|---|
| 作者 | Lauren Tan(Cursor 工程师,据 README 也是 React 核心团队成员) |
| 许可证 | MIT(pstack 目录内 LICENSE) |
| 热度 | 所在仓库 cursor/plugins 14,791 星(GitHub API,2026-10-31 北京时间约 18:50) |
| 运行要求 | Cursor(/add-plugin)或 Claude Code(插件市场);/statechart 首次运行会用 mise 装 TLC 和 Java,需要联网 |
| 版本 | plugin.json 记 0.15.36;pstack 目录最近一次提交在 2026-10-30 06:51(北京时间) |
解决什么问题
pstack 指南第一句:你不再微操 Agent 时,它效果最好。所谓微操,就是一步一步指挥,或者在提示词里排好「先 /how 再 /architect 再 /arena」。指南要你只说目标和怎么算完成,路由交给 /poteto-mode。它读完需求,挑一个剧本,把剧本步骤原样抄进待办清单,再在每一步调用合适的 Skill。
| 你说的话 | 它挑的剧本 | 会用到的 Skill |
|---|---|---|
| 「导出重试时会写重复行,先复现再修」 | bug fix | /tdd(有廉价测试路径时)、/why、/interrogate |
| 「这个接口慢,按基线优化」 | perf | /benchmark-checklist 核对提速数字 |
| 「设置页布局给我几个方案」 | prototype | /architect 先定接口形状,做几个能跑的原型来比 |
| 「这块初始化是怎么工作的」 | investigation | /how、/why,只读不改 |
| 「一直跑到所有用例通过再停」 | autonomous run | 先写可检查的退出条件,每轮记录进展,配合 Cursor 的 /loop |
其余 Skill 大多是单点工具:/how 讲子系统怎么运作,/why 去 Git、工单、文档、聊天记录里查为什么这样设计,/sharpen 把你的提示词改深一层但不执行,/correct 把反复纠正的错误固化成类型、lint 或测试,/ketchup 汇报你离开期间发生了什么、哪些事等你拍板。另有 24 条以 principle- 开头的原则 Skill,比如「先修根因」「守住上下文窗口」「证明它真的能跑」,跑偏时一句话点名就能把 Agent 拉回来。
指南里的一条坑:只证明能编译的绿色构建不算完成,要看真实命令、真实页面、真实存储值的输出。
/statechart 和形式化验证
/statechart 针对「在几个状态之间来回切换」的东西:产品流程、协议、服务。Agent 在仓库外的临时目录写一份 TLA+ 规格,把你认可的每条规则写成 INVARIANT,用 TLC 跑模型检查,再按你的用词画成 Mermaid 状态图。哪个状态违反规则会被标成 breaks,报告给出到达它的最短路径。Skill 里有两条硬约束:不许为了通过而放宽规则;图尽量控制在 20 条箭头左右,超过 500 个状态只画出错路径。
/create-formal-verification-skill 管的是测试很少覆盖到、一旦出错代价最大的那块代码。它先从代码里挑目标,再按问题选工具:事件顺序问题默认用 TLA+ 模型检查,逐输入行为用能直接跑在代码上的验证器,语言没有验证器就用生成输入测试真实代码。产物是一个项目内 Skill,写明覆盖了哪些文件、在哪个提交上确认过,下一个 Agent 改到这块代码时能自己重跑。交付前它还要在一个故意改坏的临时版本上跑一遍,必须能抓到问题,没见过失败的检查不算数。
怎么用
# Cursor
/add-plugin pstack
# Claude Code
/plugin marketplace add cursor/plugins
/plugin install pstack@cursor-plugins
装完先跑 /setup-pstack:选推理预算(unlimited / large / medium / small),确认每个角色用哪个模型,它会写一份始终生效的规则文件,Cursor 在 ~/.cursor/rules/pstack-models.mdc,Claude Code 在 ~/.claude/rules/pstack-models.md。之后有正经活就用 /poteto-mode 开头:
/poteto-mode the export writes duplicate rows when a retry lands mid-run. repro first, then fix and verify.
/create-formal-verification-skill the retry queue. a message must never be delivered twice.
想每轮都保持在这个模式,Cursor 里从 / 菜单选中后按 Option+Enter(Windows 为 Alt+Enter),它会变成自定义模式。Claude Code 里命令带前缀,写成 /pstack:poteto-mode;Claude Code 对第三方插件市场默认不自动更新,要在 /plugin 的 marketplaces 页手动打开,或运行 claude plugin update pstack@cursor-plugins。Bugbot、automations 这类 Cursor 独有功能在 Claude Code 里会跳过并留一行说明。
适合谁,不适合谁
适合:在大仓库里修疑难 bug、做性能优化、想让 Agent 过夜自己跑完一串 PR 的人;对并发、重试、状态机这类代码心里没底的人。它和本站拆过的 Superpowers 思路接近,Superpowers 偏「先设计、再计划、测试先行」的线性流程,pstack 更重多模型互审和验证证据。想单看形式化验证在 Agent 里怎么落地,可以对照 这条快讯。
不适合:改个文案、写个一次性脚本的场景。/arena、/interrogate 会同时拉起多个模型,/poteto-help 自己都提醒「一次 pstack 运行会花真实的 token」。按量付费或额度紧的用户,先在 /setup-pstack 里把预算调到 small。
最后
装上 pstack,挑一个手上已知能复现的 bug,用 /poteto-mode 写一句「先复现,再修,再验证」,看它给出的证据够不够你直接合并。
- GitHub · cursor/plugins/pstack(README、plugin.json、LICENSE)
- pstack guide(十章使用指南,含 Recipes and pitfalls)
- statechart SKILL.md
- create-formal-verification-skill SKILL.md
- pstack in Claude Code 适配说明