agent-status 是做什麼的?
每當專案代理正在執行多步驟工作,且人類需要知道實際發生情況時,請使用此技能。
此技能刻意設計為非儀表板產生器。它產生由機器可讀工件支援的事實表面:
.plan-iterate/<campaign-id>/status/
status.json
events.jsonl
proof_manifest.json
STATUS.html
HTML 僅呈現目前的狀態工件。它絕不能虛構進度、百分比或完成聲明。
核心原則
先有狀態工件 → HTML 渲染工件 → 人類可檢查證明
永遠不要這樣做:
先有華麗頁面 → 模糊的綠色文字 → 人類推測進度
第一視區必須回答的問題
產生的狀態頁面必須回答:
- 代理試圖完成什麼?
- 我們目前確切在哪個階段?
- 剛剛通過了什麼?
- 什麼尚未被證明?
- 下一個動作是什麼?
- 代理正在運行、被阻擋、空閒,還是正在等待人類?
- 當前聲明有何證明為依據?
- 代理下一步不應該做什麼?
狀態模型
允許的狀態:
not_startedrunningneeds_attentionblockedfailedpassed_scoped_gatedoneidle
重要區別:
passed_scoped_gate != done
只有當最終陳述的目標有明確的最終證明工件時,才使用 done。
常用指令
初始化一個任務:
./run.sh init \
--campaign refactor-harness-e2e \
--goal "完成範圍內的 refactor harness E2E 證明"
將閘門標記為運行中:
./run.sh update \
--campaign refactor-harness-e2e \
--state running \
--current-step "運行強化後的並發 LLM + OpenCode 總結閘門"
記錄一個範圍內的通過閘門:
./run.sh gate-passed \
--campaign refactor-harness-e2e \
--label "A01-A18 強化後的並發 LLM + OpenCode 總結" \
--verdict PASS_SPEC \
--proof ".plan-iterate/refactor-harness-e2e/proof/refactor-concurrent-mixed.json" \
--next-action "開始 reviewer 封包 + reviewer fan-in 階段" \
--not-proven "Transport Room B1 UI" \
--not-proven "build_review_packet reviewer fan-in" \
--not-proven "完整 OpenCode 訊息傳遞"
向人類請求決策:
./run.sh needs-human \
--campaign refactor-harness-e2e \
--question "代理下一步應該運行哪個任務?" \
--option "A=繼續 harness: reviewer 封包 + reviewer fan-in" \
--option "B=Transport UI: 開始 Transport Room B1" \
--option "C=僅穩定化: 設立檢查點並停止"
再次渲染狀態頁面:
./run.sh render --campaign refactor-harness-e2e
反儀表板幻象規則
- 無百分比。
- 除非有最終目標證明存在,否則不得顯示綠色「完成」。
- 每個 PASS 都必須指名其證明工件。
- 每個狀態都必須顯示哪些項目尚未被證明。
- 每個空閒狀態都必須說明代理為何空閒。
- 每個等待人類的狀態都必須包含一個決策選單。
- 每個被阻擋的狀態都必須指名缺失的工件、服務、閘門或決策。
- 僅當頁面讀取
status.json時,才允許自動重新整理。 - 如果
status.json過期,頁面必須顯示過期。 - 審查者的判決是收據,而非完成證明。
使用時機
在以下情況使用此技能:
/plan-iterate/orchestrate/review-design/review-code/debugger/ask deep-review/code-runner/subagent-runner- 任何持續時間超過一個專注指令的多步驟專案代理工作
工件期望
status.json 是事實來源。
events.jsonl 是僅可附加的,記錄狀態轉換。
proof_manifest.json 列出狀態聲明所提及的證明工件。
STATUS.html 是產生的、具備過期感知能力,且可在瀏覽器中安全開啟。
完成標準
對於長時間運行的代理工作,最終答案應總結目前的狀態工件,並在可能時連結或引用 STATUS.html 路徑。
除非滿足下列條件,否則請勿聲明完成:
- 狀態為
done; last_completed.proof_path指向一個最終證明工件;not_proven為空或明確標示為範圍之外;- blockers 為空。