matt
一個人的 .agents 目錄,與一場真的跑了數據的 A/B
ako internal tech workshop · 2026-08-04
01
Series recap
系列第五場
上次分享的 superpowers,今天講我在它旁邊養的另一套
02
Who
Matt Pocock:從發聲教練到全職教 AI coding
voice coach 6 年
→
2018 轉工程
→
XState / Stately
→
Vercel
→
Total TypeScript($2.5M)
→
AI Hero
We don’t do vibe coding — this is a channel for real engineers solving real problems.
03
Scale
316 commits 中本人 305 —— 一個人的 .agents 目錄
04
Lifecycle
skill 有生命週期
engineering/
productivity/
promoted 22 支
引入要配退場
05
Anti-framework
“Approaches like GSD, BMAD, and Spec-Kit try to help by owning the process. But while doing so, they take away your control and make bugs in the process hard to resolve.”
— README
“I just ran an AI coding course for ~2,000 people. One massive piece of feedback was how dissatisfied people are with frameworks like BMAD, GSD, Spec-Kit. Turns out that giving away control of context to a framework makes things a lot harder to debug. My advice: own the process”
@mattpocockuk · 2026-04-14 · 5 萬瀏覽
06
Organising axis
唯一的組織軸是 invocation
model-invoked
付 context load
description 每回合常駐
user-invoked
付 cognitive load
你的腦當索引
68%
promoted 22 支中
為 user-invoked
“I don’t mind increasing the cognitive load on users a bit as long as it gets better results from AI. … Most skills packages, like superpowers, work this way.”
回 Daniel Miessler · 2026-07-28
Cognitive load is not a cost to minimise: it is the price of human agency
07
Context budget
~600 tokens
整套 library 的常駐 context 成本
“The entire library clocks in at around 600 tokens of context load, and I constantly battle to lower that”
@mattpocockuk · 2026-07-29
口播註:這數字藏在一則 121 瀏覽的小回覆裡
08
Primitive vs orchestration
grill-me / SKILL.md — 全文
---
name: grill-me
description: Grill me on my task
disable-model-invocation: true
---
Run a /grilling session.
grilling 本體 — 12 行(節錄)
…
Ask the questions one at a time.
…
If a fact can be found by exploring the
environment, look it up rather than
asking me. The decisions, though, are
mine.
…
基元極短、編排層厚(22 支中位數 74.5 行)—— 不是「都很短」
09
Design philosophy in the replies
01
“LLM’s are notoriously bad at following negative instructions. That’s why code review works so well, it turns all the negative instructions into positive ones”
994 讚 · ‘Don’t make these mistakes’ ✗ → ‘Find and eliminate these mistakes’ ✓ · /implement 內建叫 /code-review 是機制設計不是儀式
02
“Scope decisions are decisions that you need a human for.”
03
“However good a model is, it’s always going to have a communication barrier. It can’t infer things from your brain without you communicating them, just like your wife can’t read your mind.”
溝通落差是結構性的 → grilling 不隨模型變強而死
口播註:三則全來自幾百~幾千瀏覽的小回覆 —— 回覆區才是思想原礦
10
Same question, opposite answers
skill 怎麼被觸發?
superpowers
SessionStart hook 每 session 強制注入
任何回覆前先 invoke
matt
disable-model-invocation: true
主動退出,人是唯一入口
11
“My skills vs superpowers: Superpowers gives the agent superpowers. My skills give you superpowers”
@mattpocockuk · 2026-07-16
“I prefer to be in control, and lower the load on the agents’ context.”
“All this to say that superpowers is an extremely useful skill set. It’s just not for me.”
12
Discourse vs measurement
輿論在喊刪掉,數據說病好了一半
輿論
44.5 萬
中文圈 X 瀏覽帶頭喊「刪掉 superpowers」
自家 26,945 session 實測
55%
→
57%
→
12%
過度觸發率(opus-4-7 → opus-4-8 → fable-5)
#1988 已修
拖沓根因 · v6.2.0 circuit breaker
模型變強治好了框架一半的病 —— 但沒全好
13
Third-party verdict
第三方怎麼裁:兩套各有守備範圍
出自 addyosmani/agent-skills
matt
superpowers
Best for
requirements and TDD
long, autonomous, exploratory
Quality
no in-repo evals
pressure-testing core
兩套當 active router 同時跑會打架:/tdd 有兩處定義、routing 互搶
所以我的 A/B 是起手選組
14
SDD collision · 1/2
“Everyone always confuses my skills with spec-driven-development. It really annoys me. The specs my skills create are intended to be deleted immediately… The specs aren’t that important. They’re just a projection of the decisions made during grilling. GDD? Grill-driven-development. IDK”
@mattpocockuk · 2026-08-01 · 1,350 讚
spec-anchored
spec 與 code 並存維護
spec-as-source
spec 生成 code
Birgitta Böckeler
三級分類
她其實寫得很準 —— 這是分類學之爭:該當名詞的是 artifact 還是活動?
15
SDD collision · 2/2
三個問題就能分出兩派
問題
matt
openspec(我們現在的位置)
spec 給誰讀
“Just an agent doc”
人與 agent 共讀
死後去哪
PR merge 即 archive
delta merge 進 specs/ 長存
真理源
code
“specs/ is what’s true”
“Specs are a cached representation of the code. As soon as a new commit arrives, the cache will likely go stale… So, archive your specs”
這個 framing 是他的原創
cache 的另一解是維護協議 —— openspec 的 delta-merge 就是
16
What we shipped
八支 fork 與兩個客製點
to-spec
to-tickets
implement
tdd
to-questionnaire
wayfinder
prototype
domain-modeling
openspec 自適應落點
直接接你們在用的 openspec
起手一句
「這次 matt 還是 superpowers?」
17
Wayfinder
大霧裡的工作,畫成一張地圖
比一個 session 裝得下還大、看不清全貌的工作 → 先畫地圖、拆成一張張「決策票」,票解完、路就清了
research
查證 · AFK
agent 自己跑
“A grilling agent that answers its own questions has, by definition, broken HITL.”
訪談 agent 自問自答=破壞「人在迴路」—— v1.1.0 修的真實 bug
命名學:decision-mapping → wayfinder(fog of war/frontier/the map——用模型認得的詞、不發明術語)
他自己的節制:「情境式入口、不是新的主幹道」
18
Trial result
3 / 3 綠
openspec validate
全網查無任何 matt vs superpowers 受控實驗 —— 這可能已是稀有物種
誠實標:單臂、n=3、觀察性
19
Counter-intuitive findings
三個和預期相反的發現
01
step 0 gate 零證據力
三次的決策證據事前都夠,gate 沒面對過它設計要擋的情境
02
兩筆最大帳單都不是 matt 造成
一筆是我既有的 hook 自動跑重量級 review(佔前段 73% 時間);一筆是 agent 沒照說明書、誤開重版 code-review(1.87M tokens)—— 差點都算到 matt 頭上,翻紀錄才平反
03
to-questionnaire 教科書場景零開火
「引入 ≠ 會被想起」第二季
20
Live evidence
“the spec was wrong to begin with”
— Matt
07-30
validate 全綠的 spec,41 分鐘後被 code-review 抓出 3 處事實錯
07-31
十路 review 過的 design,實作階段推翻 3 個決策
但錯誤全被流程抓住並回寫 —— 那正是 openspec archive 的價值
21
The hybrid
產生流程接上保存體系
matt 的產生流程
grilling
↓ 合成
to-spec
↓ 切片
to-tickets
openspec 的保存體系
changes/
↓
archive/
↓
specs/ + decisions/
吵最兇的地方(ADR/archive why),正是兩邊共識最深的地方
22
Takeaways
帶走的四件事
01
拆「探索/合成/切片」三種認知動作
openspec 流程直接可用
03
own the process
選工具前先答「誰握方向盤」
04
引入要配退場
deprecated/ 的勇氣
23
Matt 把人當可靠的執行環境;我把機器當可靠的執行環境 —— 但我們對「拍板歸人」的信念一模一樣
24