p
開源工程規範 · AI-Assisted Engineering

嚴謹 AI 輔助軟體工程的 50 項技能與原則規範

pstack 由 React Core Team 成員 Lauren Tan(poteto)開源,為遵循 Agent Skills 開放標準的工程技能集合。內含 26 項工作流技能、24 項底層工程原則與 23 套任務 Playbook,相容於 Cursor、Claude Code、Codex 等主流 Agent 環境。專案核心在於抑制 AI 生成程式碼的浮躁灌水,透過嚴格可驗證的測試路徑與多模型協同完成高品質工程交付。

978
GitHub Stars
50
技能與原則總數
23
任務 Playbook
MIT
永久開源授權
01
專案定位

AI 輔助工程的架構約束與防劣機制

pstack 由 React Core Team 成員 Lauren Tan(poteto)開發並開源,是一套專為嚴謹軟體工程設計的 Agent 技能庫。專案最初為 Cursor 官方外掛倉庫(cursor/plugins/pstack)的核心元件,現已發展為支援 Claude Code、Codex、Pi 與 OpenCode 等多平台的獨立開源鏡像。

AI 程式碼生成普及後,開發者常面臨大量虛浮無效程式碼(slop)與假性進度。pstack 透過標準化 Agent Skills 規範(SKILL.md),將工程實踐拆解為 26 項工作流技能、24 項底層架構原則與 23 套針對真實工程情境的 Playbook,強制 Agent 在編寫邏輯前鎖定資料結構、在交付前驗證真實產物。

其核心設計哲學在於以程式碼與原型取代瀑布式計畫,並運用無畏平行化(Fearless Parallelism)機制。透過多模型協同分工(如以 Grok 執行代碼委派、Opus 承擔高難度審查與決策),使單一工程師能以嚴格工程紀律駕馭多代理團隊。

pstack 工程調度 · 核心生命週期
Task Intake→ Playbook 匹配→ 原則約束檢查→ 多模型委派與審查→ 真實產物驗證
「pstack is my answer. 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.」
— Lauren Tan(@poteto,React Core Team / 前 Meta、Netflix、Cursor 工程師)官方 README
02
安裝與環境設定

跨 Agent 環境的技能安裝與模型配置

pstack 符合開放標準 Agent Skills 目錄規範(skills/<name>/SKILL.md)。開發者可透過通用 CLI 自由勾選技能並分發至各 Agent,或在 Cursor 內直接掛載。

# 透過 skills CLI 搜尋、勾選並安裝至指定 Agent npx skills add backnotprop/pstack

Cursor 原生外掛載入與初始組態

在 Cursor 環境中可直接載入外掛,並執行初始化指令配置模型映射與推論預算:

# 在 Cursor 聊天視窗安裝外掛 /add-plugin pstack # 偵測可用模型並建立角色映射規則(代碼委派 / 審查面板 / 推論預算) /setup-pstack
相依模組約束。獨立技能如 unslop、bro、how、tdd 可單獨運作;複合技能(如 architect 相依於 arena 與 how,blast-radius 相依於 arena、how、why、unslop)必須整組安裝。啟用 poteto-mode 需安裝所有 principle-* 原則技能。
03
技能架構

26 項工作流技能與任務藍圖編排

pstack 透過模組化技能劃分軟體工程生命週期的各項專業職能。日常工程任務以 /poteto-mode 作為主要調度入口,自動匹配對應之 Playbook 並調用專業技能;亦可直接於聊天列調用獨立技能執行單點突破。

Dispatch · 01
/poteto-mode
核心調度模式
自動解析任務情境並匹配 23 套工程 Playbook,驅動底層原則約束與下游專業技能調度。
Config · 02
/setup-pstack
模型角色映射組態
偵測環境模型權限,分配代碼委派、邏輯裁決與審查面板之模型角色與推論預算。
Explore · 03
/how
子系統運作機制解析
深度解析模組架構與資料流向,建立關鍵資料型別與並行行為架構清單。
Context · 04
/why
架構決策證據溯源
平行查詢版本控制歷史、問題單、架構文檔與監控指標,萃取最初設計之事實證據。
Design · 05
/architect
介面與型別架構鎖定
跨函式或模組邊界實作前,先行確立呼叫端用法、介面型別與模組邊界組織。
Design · 06
/arena
多模型方案競爭評比
啟動多代理並行建構競爭原型,並行比對各方案優劣後嫁接融合最佳實作。
Build · 07
/tdd
失敗測試先行實作
在具備本機測試路徑的情境下,先編寫能精確重現問題的失敗測試,再撰寫修復代碼。
Verify · 08
/swarm
大規模平行矩陣覆蓋
分派多 worker 平行執行不同模組掃描、競賽驗證與邊界測試,產出彙總報告。
Verify · 09
/interrogate
多模型對抗代碼審查
召集多個前沿模型以嚴苛代碼品質視角嘗試擊破 Diff,發掘潛在回歸與隱性漏洞。
Refine · 10
/no-comments
註解淨化Comment Sicko
調用專屬子代理剔除敘述性過程註解,僅保留代碼本身無法傳達的關鍵業務約束。
Refine · 11
/unslop
AI 語氣文本精煉
嚴格依照技術寫作規範去除 AI 腔調、浮誇修飾與空泛用詞,回歸精準事實陳述。
Dispatch · 12
/figure-it-out
客製化高階任務編排
當無內建 Playbook 適用或需離線自主執行時,自動生成具備完整決策鏈的客製藍圖。
Verify · 13
/benchmark-checklist
效能數據指標檢驗
採信或報告任何效能測量數據前,檢視極限邊界、調優參數、雜訊干擾與端到端關聯。
Verify · 14
/blast-radius
影響範疇實證分析
評估微小變更之全域衝擊,要求透過運行真實代碼佐證安全性,拒絕未經證實之假設。
Meta · 15
/create-verification-skill
專案專屬驗證技能生成
為缺乏自動化檢驗手段的專案生成本地 verify 技能與功能圖譜,涵蓋任意語言與平台。
Meta · 16
/automate-me
個人化風格技能挖掘
分析近期對話記錄與工程行為,為開發者量身生成專屬的 -mode 技能與底層調度。

任務情境與技能選擇決策矩陣

任務情境 首選技能或指令 核心目標與驗證方式
非瑣碎常規工程任務(修復、新功能、長期運行) /poteto-mode 依需求匹配 23 套 Playbook 之一,以逐步查核清單循序落地
程式碼跨越函式或模組邊界 /architect 在撰寫商業邏輯前鎖定呼叫端用法、型別定義與架構紅線
探索新架構或多重方案難以抉擇 /arena 並行產出 2–3 個競爭原型,比對實測結果後嫁接最佳實作
跨套件大規模掃描或矩陣邊界驗證 /swarm 平行派遣獨立 worker 逐一檢驗並產出單一結構化報告
提交前審查或高風險代碼把關 /interrogate 召集多模型審查面板,主動發掘缺陷、回歸與隱性型別漏洞
文檔、註解與說明文字精簡 /no-comments + /unslop 剔除廢話註解與過度修飾,回歸簡練嚴謹之技術文檔規範
缺乏預建 Playbook 的非典型複雜重構 /figure-it-out 設計客製化嚴謹執行步驟,並建立可稽核之 TSV 決策紀錄
04
官方工程原則

抑制代碼灌水的核心約束規範

pstack 內建 24 項底層原則技能(principle-*),在 poteto-mode 啟動時自動內聯索引。各項原則均具備明確觸發情境與強制規範,防範 Agent 自行擴張無效代碼或略過真實檢驗。以下列舉八大核心守則:

RULE 01

優先刪減與最小變更原則

遇重構、評估 diff 或欲新增抽象層時,優先朝「刪除無用程式碼」與「解決問題的最小變更」收斂。嚴禁為未確認需求預先包裝複雜介面與轉發層。

來源 · skills/principle-laziness-protocol
RULE 02

邏輯編寫前先鎖定資料結構

撰寫任何商業邏輯前,必須先確立場景的核心資料型別、循序依賴與並行共享狀態。資料結構明確定義後,下游邏輯代碼之組織將自然收斂。

來源 · skills/principle-foundational-thinking
RULE 03

集中邊界防禦與內部型別信任

所有輸入驗證、錯誤攔截與外部 API 適配必須集中於系統邊界(CLI、組態、網路邊界);內部核心模組直接信任型別結構,保持為無副作用之純函式。

來源 · skills/principle-boundary-discipline
RULE 04

使不合法狀態在型別上無法表示

善用標籤型別(Branded Primitives)標示語意,於系統邊界完成資料解析而非盲目型別斷言;拒絕向編譯器說謊或留下寬鬆的 any 型別逃逸。

來源 · skills/principle-type-system-discipline
RULE 05

以真實產物狀態取代代理指標

宣告完成任務前,必須在真實產物上嚴格檢驗(運行功能、讀取真實輸出、檢查實體 diff)。嚴禁以「已編譯成功」或「自述正常」作為驗證完工依據。

來源 · skills/principle-prove-it-works
RULE 06

擴增新邏輯前先剔除既有負擔

進行任何功能擴充或架構調整時,第一步先清理無用死碼、冗餘驗證器與殘留的 stub 參照;於乾淨簡潔的基礎上再行構築新功能。

來源 · skills/principle-subtract-before-you-add
RULE 07

保持推進並保留事後校正空間

遇可逆工程決策時主動實驗推進並呈現具體結果,由人類工程師事後微調;僅在不可逆操作或重大破壞性變更時暫停等待確認。

來源 · skills/principle-never-block-on-the-human
RULE 08

批次繁重負載委派子代理處理

將大體積代碼掃描、重複編輯與繁瑣日誌轉交 subagent 獨立消化,主執行緒僅保留結構化精簡摘要,防止上下文視窗膨脹致推論品質退化。

來源 · skills/principle-guard-the-context-window
05
使用實例

使用 /poteto-mode 完成瑕疵重現與可驗證修復

以下展示標準工程情境:虛擬捲動清單在閒置時每隔 750 毫秒產生位置漂移。透過 /poteto-mode 自動配對 Bug Fix Playbook,由失敗測試重現問題、定位根因、最小化代碼修復,並經真實執行產物完成驗收。

~/repos/web-client · agentic engineering · pstack
You › /poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro first, then fix and verify.
[matched playbook: skills/poteto-mode/playbooks/bug-fix.md] [opened todo list with 5 non-negotiable steps] [read leaf principles: principle-fix-root-causes, principle-laziness-protocol, principle-prove-it-works]
Agent (poteto-mode) › Step 1: Reproduce defect on real surface before touching code. Writing reproduction test in tests/virtual-list-drift.spec.ts...
[executing] npx playwright test tests/virtual-list-drift.spec.ts FAIL tests/virtual-list-drift.spec.ts: Scroll drift detected. Expected scroll position: 1200px Received scroll position: 1204px (+2px shift at 750ms tick during idle)
Agent › Root cause confirmed: VirtualListAnchor.tsx creates an unthrottled timer recalculating offset even when velocity is zero. Applying principle-laziness-protocol: avoid adding state layers; eliminate timer entirely.
[modifying src/components/VirtualListAnchor.tsx: -18 lines, +3 lines] [executing /no-comments: purged redundant step descriptions, retained DOM invariant note]
[executing] npx playwright test tests/virtual-list-drift.spec.ts PASS tests/virtual-list-drift.spec.ts (5,000ms idle observation window) Observed scroll variance: 0px.
Agent › Step 5: Verifying real artifact diff and generating PR summary via /unslop. PR ready: fix(virtual-list): eliminate idle scroll drift by removing interval polling Impact: Zero CPU wakeups on idle list; verified with headless browser run.
「the best spec is code. if you do want to make a plan, /poteto-mode covers it, but it's not a default.」
— Lauren Tan(@poteto)官方 README · 設計哲學

實證引導與原則約束之效益

傳統 AI 輔助開發易產出無效包裝層或以偽代碼自稱修復完畢。pstack 透過強制性的 Playbook 查核與原則約束,要求 Agent 必須先產出失敗證據、實施最小變更、並在真實產物執行驗收。

此機制消除了對人類工程師的無效詢問,並確保大規模平行委派時代碼庫不會因 AI 的隨機推論而積累技術負債。

06
邊界與使用約束

工程實踐邊界與注意事項

  • 外部未內建工具相依。/deslop、control-cli 與 control-ui 屬於 cursor-team-kit 外掛,pstack 本身並未打包。在無該外掛或非 Cursor 環境中,需於提交前人工審閱 diff 剔除 AI 贅詞,並改用 Playwright 或本機終端工具進行介面驗證。
  • 複合技能之相依約束。獨立技能(如 unslop、how、tdd)可單獨運行;高階複合技能具備強相依性(例如 teach 相依於 how 與 why;architect 相依於 arena 與 how;blast-radius 相依於 arena、how、why、unslop)。安裝時必須成組引入。
  • 預設不啟用計畫模式。專案哲學主張以程式碼與可執行原型作為最佳規格,預設不採用瀑布式事前計畫。若任務需要分階段藍圖,需明確指定調用 /poteto-mode 內的特定 Playbook。
  • 舊版模型設定覆蓋需求。0.15.3 以前版本生成的組態規則可能固定鎖定舊款模型。升級 pstack 後若發生模型調用異常,應刪除 pstack-models 設定檔並重新執行 /setup-pstack。
  • 多模型面板之權限與成本考量。預設開箱組態分派代碼委派至 Grok、高階邏輯決策至 Opus 5.5。在無相應模型存取權或預算受限的環境中,必須透過 /setup-pstack 重新指派至可用模型,避免執行中斷。
  • 自主運行之決策軌跡保存。進行長期離線運行或隔夜自動化(如 autonomous run、autopilot-full)時,應配合 /show-me-your-work 生成 TSV 決策日誌;不可逆操作(刪除分支、強制推送到主幹)仍需維持人工核准。
07
進階路徑

客製化專屬工程技能與自主工作流

pstack 採開放架構設計,各技能與原則本質為標準化的 Markdown 規範(SKILL.md)。開發者可透過內建工具挖掘個人工作習慣、為特定專案生成驗證合約,或部署獨立代理人維持工程品質。

進階整合地圖

1. 探勘個人工程風格(/automate-me)。執行指令分析近期操作記錄與工程習慣,自動生成專屬的 <your-name>-mode 技能,並以 pstack 作為底層原則約束。

2. 自動建立專案驗證技能(/create-verification-skill)。為缺乏自動化檢驗手段的專案生成本地專屬 verify 技能與功能圖譜,跨任意語言或開發平台建立驗收合約。

3. 部署專屬審查子代理(poteto-agent 與 Comment Sicko)。透過 subagent_type: "poteto-agent" 啟動完整遵守 poteto-mode 原則之自主工作單元;調用 Comment Sicko 淨化冗餘註解。

4. 啟用 Slack 缺陷自動修復套件(automations/benny/)。依循 FOR_AGENTS.md 引導,將 Issue 審查、缺陷重現與 UI 證據收集流程落地於專案目錄。

最該讀的三份官方文件

① skills/poteto-mode/SKILL.md —— 核心調度規範、非協商限制與 23 套任務 Playbook。
② docs/guide/README.md —— 從環境配置、提示詞設計到隔夜自主運行的完整指南。
③ skills/setup-pstack/SKILL.md —— 推論預算配置、模型角色指派與設定覆蓋機制。

「when you can go deep on one agent and trust it to write good, verifiable code, you can truly parallelize with confidence.」
— Lauren Tan(@poteto)官方 README · 無畏平行化