pstack 解析:Cursor 工程師的 Agent 技能包

在 AI 輔助開發的討論中,多數工具都在追求「讓 Agent 寫出更多程式碼」。然而,曾在 Meta、Netflix 與 Cursor 工作的工程師 Lauren Tan(GitHub @poteto)開源的 Agent Skills 套件 pstack,卻走向了截然不同的方向。

pstack 收錄於 Cursor 官方外掛倉庫 cursor/plugins,採用 MIT 授權。Lauren Tan 在專案 README 開頭直截了當地定義其定位:

these are the same skills i use everyday to ship high quality code at Cursor. this turns cursor into a real engineering team. the goal is not to maximize loc, in fact it’s the opposite. pstack helps you write less, but higher quality code.

pstack 將資深工程師的工程紀律、決策標準與防禦性思維,編碼為一組 Agent 能嚴格執行的純文字規範,而非單純衝高程式碼產量。


什麼是 pstack:定位與三大常見誤解

理解 pstack 之前,必須先釐清三個常見誤解:

既然 pstack 只是一疊純文字檔,也沒有規劃層,它靠什麼把工程流程、原則與多模型協作串成一套系統?答案在它的架構。


系統架構:入口、分類層級與可點名原則

截至 2026 年 10 月,pstack 收錄 51 項技能,其中 24 項是行為原則。串起這些技能的是統一入口 poteto-mode,以及寫在它裡面的 23 個 Playbook 與多模型調度規則。

統一入口:poteto-mode

日常操作中,使用者只需記住單一指令 /poteto-mode <任務>。這是具有黏性(Sticky)的模式(YAML frontmatter 標記 mode: true),在對話回合中持續生效。它的核心職責包含:

  1. 路由到 Playbook:根據任務特徵從 23 個既定 Playbook(涵蓋 bug fix、perf、refactoring、investigation、shipping 等)中挑選合適流程,將標準步驟複製至待辦清單並逐步觸發相應技能。Playbook 是「怎麼工作的程序」,技能則是「程序中每一步的專家」。
  2. 執行不可妥協的條款(Non-negotiables):強制執行核心規範,例如定義邏輯前先確立資料結構(「name the data shape first」)、跨函式改動必須先經架構審查、自然語言說明與對話一律套用去贅字規範(unslop)。
  3. 區分提問邊界:若問題可透過「執行程式碼並觀察結果(行為、時序、輸出、效能)」取得客觀事實,Agent 必須自行實驗而非詢問人類;僅有不可實驗的產品或偏好決策才需向人類請示。
  4. 自治與中斷原則:可逆操作(如在團隊頻道發訊息、更新 ticket、啟動 eval)自主推進;唯有不可逆寫入(如強制推送共享分支、部署、刪除資料、發訊息給客戶)才暫停並取得確認。

子 Agent 與多模型協作

poteto-mode 規範了明確的調度原則:所有子任務皆於背景執行、傳遞檔案路徑而非在對話中內嵌全文(遵循 guard-the-context-window 原則),並依任務性質配置最適模型。

實際執行時,系統將任務分層:瑣碎且機械化的程式碼編輯交由快速模型處理,跨模組的架構設計與論述判斷則交給高推理能力模型。系統亦內建專屬角色,例如完整遵循原則索引的通用子 Agent poteto-agent,以及唯讀的程式碼註解審查者。

24 條核心準則:即時導正 Agent 行為

pstack 將資深工程師的直覺轉化為 24 條獨立原則,涵蓋核心思維、系統架構、驗證標準與委派紀律。每條原則皆以獨立技能檔案存在,除了任務啟動時由 Agent 讀取,使用者也能在對話中直接「點名」,作為即時行為修正器:


核心技能解析:從理解、平行到品質與驗證

在 pstack 內建的技能庫中,最具代表性的是以下四大模組:

理解模組:how、why 與 blast-radius

平行模組:arena 與 swarm

兩者皆利用子 Agent 進行平行擴展,但設計目的與裁決機制完全不同:

模式核心機制適用情境評審與裁決方式
/arena同一任務的多個競爭實作需要比較多種解法的設計決策由不同模型家族的裁判依標準評分,主 Agent 擇優並手工移植其他版本的亮點
/swarm不同切片的分工平行執行覆蓋矩陣、競速獨立 Worker 提交客觀證據與 Commit SHA 以供核對

品質模組:unslop 與 no-comments

驗證模組:create-verification-skill

/create-verification-skill 是 pstack 最具深度的核心資產。其設計宗旨為「為下一個從未見過此專案的 Agent 撰寫驗證技能」。

生成的驗證技能固定包含六大標準章節:Launch(明確啟動指令與就緒判準)、Doctor(唯讀健康檢查,確保環境未帶病測試)、Drive(操作介面的真實 Selector)、Evidence(走真實使用者路徑、連副作用一起驗證,不以自述代替證據)、Cleanup(精確清理行程,避免殘留行程污染系統環境)與 Helpers(隨附腳本必須可直接執行,呼叫方式寫進技能本體)。

在交付之前,Agent 必須親自以該技能執行端到端驗證,落實這條紀律:「未經執行的驗證技能僅是草稿而非交付物」。


設計哲學:貫穿 pstack 的五大決策

  1. 純 Markdown 實現:作者在 verification-skill-example 的 README 寫道:「A wiki is great for humans. Agents pay for every token they reread.」pstack 沒有任何聰明的執行環境,聰明全在文字裡:既節省 Context,也因此可以移植。
  2. 分層信任體系:約束機制的可靠度由強到弱依序是「架構 > 靜態分析/CI > Lint/編譯器 > 規則/技能」。寫成文字的規則最弱,Agent 也容易遺忘,因此 pstack 盡可能把要求推向可執行的檢查,例如 no-comments 把註解改寫成型別或 Lint、驗證技能的 Doctor 健康檢查。
  3. 寫作者與驗證者嚴格分離:驗證者不能由撰寫程式碼的 Agent 兼任;/arena 的裁判與 /interrogate 的審查者都換成不同模型家族。作者的說法是:「The adversarial signal comes from model diversity, not assigned personas」。
  4. 重塑人類的角色定位:人類不再是每一步驟的審查瓶頸,而是轉為「事後糾偏者」與關鍵決策的仲裁者。
  5. 系統的自我迭代:透過任務反思機制(reflect)將除錯經驗寫回技能庫,使系統隨著失敗案例持續演進。

實務建議:一般團隊的漸進導入路線

不必一次裝完整套件。想借鑑 pstack 的團隊,可依投資報酬率由高至低逐步引入:

  1. 採用驗證技能的標準結構:依據 Launch、Doctor、Drive、Evidence、Cleanup、Helpers 六節結構,為自身專案建立專屬的 Agent 驗證指引。
  2. 導入確定性階梯與單一安全事實:在程式碼審查時,要求 Agent 標明結論所屬的驗證層級,並指出變更安全的關鍵論據。
  3. 為無人值守任務寫合約(Overnight Contract):交代目標、可證偽的完成條件、預先授權的權限與逃生口四項要素。注意「a duration is not a finish condition」:「跑一整晚」不算完成條件。
  4. 將核心原則寫入專案規範:挑選 3 至 5 條高度認同的原則(如 laziness-protocol、prove-it-works)加入 AGENTS.md,並於日常對話中直接點名引用。
  5. 套用去贅字(unslop)清單:用來把關自己與 Agent 的文字輸出。
  6. 完整套件:以上都用順了,而且你的工具支援子 Agent 與背景任務,再整包安裝、改走 poteto-mode。

WARNING

pstack 的 Playbook 深度依賴 Cursor 原語,例如 worktree、雲端 Agent、/loop 與 automations。移植到其他工具後,原則與程序可以保留,但 swarm 的雲端執行這類能力會打折。採用前先確認環境支援哪些原語。

README 簡介以一句話收尾:「fork it. improve it. make it yours. PRs are welcome!」pstack 最有價值的讀法,不是當成待辦清單逐條照做,而是當成一份高解析度的樣本:看一位資深工程師如何把「什麼算做完、什麼算安全、什麼該問人」寫成 Agent 讀得懂的文字。