newtonmunene99/claudekit/tree/main/plugins/conductor
關於這個 mod
Conductor Plugin
以脈絡驅動的 Claude Code 開發:設定、規格、規劃、實作、審查、封存、交接與還原。
量兩次,寫一次程式。
Commands
| Command | Description |
| :------ | :---------- |
| /conductor:conductor-setup | 專案啟動;對既有專案升級到目前的慣例 |
| /conductor:conductor-new-track | 腦力激盪、規格、規劃(單一軌道或 programme mode) |
| /conductor:conductor-implement | 執行計畫待辦事項(depends_on、符合條件的選擇器、清理 + 繼續選項) |
| /conductor:conductor-status | 進度、可執行/受阻的軌道、延後的檢查、未合併分支、過期檔案 |
| /conductor:conductor-archive | 將已完成軌道的規格與計畫移到 conductor/archive/,保留一行帳本記錄 |
| /conductor:conductor-handoff | 將工作階段狀態儲存到計畫或待辦清單,並為下一個工作階段列印簡短提示 |
| /conductor:conductor-revert | 了解 Git 的還原操作(唯一不會由 Claude 自行啟動的 skill) |
| /conductor:conductor-review | 根據指南、計畫與規格進行審查 |
| /conductor:conductor-programme-review | 審查多軌道 programme |
| /conductor:conductor-validate-review | 根據儲存庫驗證審查發現 |
| /conductor:conductor-prototype | 在 spike/<slug> 分支上進行決策軌道試驗 |
Execution model
Conductor 將軌道作為小型執行圖執行,而不是線性鏈。完整協定表請參閱 README,其中涵蓋 Working Agreements、透過 scripts/conductor_state.py 實作的確定性基礎設施、blocked_by 相依性、平行派送給子代理、獨立驗證、測試品質規則、失敗策略、收斂預算與模型路由。
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" tracks
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" plan conductor/plans/<file>.plan.md
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" verify-paths <plan-or-review.md> --create-ok
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" backlog
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" set-todo <plan> <todo_id> completed --sha <sha>
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" track-status <track_id> in_progress
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" archive <track_id>
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" doctor [--fix] [--stamp]
HUD (mods)
在含有 function hooks 的 Claude Code 版本中,外掛也會載入 hooks/register.tsx,這個 mod 會讓使用中的軌道顯示在畫面上。它顯示的所有內容都來自 conductor_state.py;在沒有 conductor/context/tracks.md 的儲存庫中,它不會自行解析計畫,也不會顯示任何內容。
- 狀態列:隱藏橫條時顯示
<track> 7/12,沒有進行中的軌道時顯示下一個可執行軌道 - 提示列上方的橫條:軌道、進度列、受阻與延後計數、下一個待辦事項、Board 和 Hide 按鈕
/conductor-board窗格:下一個待辦事項、平行批次、等待中/受阻的待辦事項、延後的檢查、其他進行中的軌道,以及可填入 implement/review/archive/status 指令的按鈕- Toast:階段完成、待辦事項新近受阻、審查輪次上限觸發、軌道完成
doctor發現偏移時顯示升級提示 Toast- 狀態保護:拒絕在
conductor/plans/中使用會改變待辦狀態的 Edit/Write/sed -i/重新導向,或重寫tracks.md,並指向set-todo
每次 Edit、Write 或 Bash 呼叫後,以及每個工作階段結束時,它都會重新整理。使用 claude plugin validate plugins/conductor 和 claude plugin test plugins/conductor 進行開發。
Upgrading an existing project
重新執行 /conductor:conductor-setup;它會執行 doctor、套用機械式修復、加入 Working Agreements、更新過期的工作流程區段,並寫入版本標記。
Evals
兩個 claude plugin eval 套件(evals/、evals-graph/),以及透過 python3 -m unittest discover plugins/conductor/scripts 執行的單元測試。兩個套件都評估結果而不是軌跡,而且沒有任何案例授予 Bash 權限。
Programme mode
從 conductor/reviews/*.md 開始 → 驗證 → 拆分軌道 → 綜合 → 依序實作;解除阻塞後,繼續透過明確的清理選擇推進。
Decision tracks
交付物是位於 .adr/decisions/<slug>.md 的 OKF 決策概念。.adr/ 帶有包含 * 的 .gitignore,因此除非你要求,否則決策、試驗證據與備援詞彙表都不會提交。
Artifacts
- Conductor:
conductor/context/、conductor/specs/、conductor/plans/、conductor/reviews/、conductor/archive/(依 Working Agreements 提交,或維持 gitignored) - OKF 知識:儲存庫中的
knowledge/或<pkg>/knowledge/
Attribution
Conductor 來自 gemini-cli-extensions/conductor。OKF 來自 Google Cloud OKF spec。Engineering skills 來自 mattpocock/skills(MIT)。
安裝
請先查看作者 README,確認 marketplace 與外掛名稱;指令可能隨儲存庫結構而變動。
claude plugin marketplace add newtonmunene99/claudekit claude plugin install conductor
原文 / README
Conductor Plugin
Context-driven development for Claude Code: setup, spec, plan, implement, review, archive, handoff, and revert.
Measure twice, code once.
Commands
| Command | Description |
| :------ | :---------- |
| /conductor:conductor-setup | Project bootstrap; on an existing project, upgrades it to current conventions |
| /conductor:conductor-new-track | Brainstorm, spec, plan (single track or programme mode) |
| /conductor:conductor-implement | Execute plan todos (depends_on, eligible picker, cleanup + continue options) |
| /conductor:conductor-status | Progress, eligible / blocked tracks, deferred checks, unmerged branches, out-of-date files |
| /conductor:conductor-archive | Move finished tracks' spec and plan to conductor/archive/, keeping a ledger line |
| /conductor:conductor-handoff | Save session state into the plan or backlog and print a short prompt for the next session |
| /conductor:conductor-revert | Git-aware revert (the only skill Claude will not start by itself) |
| /conductor:conductor-review | Review against guidelines, plan, spec |
| /conductor:conductor-programme-review | Review multi-track programme |
| /conductor:conductor-validate-review | Validate review findings against repo |
| /conductor:conductor-prototype | Decision-track spike on spike/<slug> branch |
Execution model
Conductor runs a track as a small execution graph, not a linear chain:
| Concern | Mechanism | Where |
| ------- | --------- | ----- |
| Standing answers | Working Agreements in the project's workflow.md: Conductor files local or committed, who commits, branch, autonomy, hand checks, verifier | Working Agreements Protocol |
| Plumbing without the model | scripts/conductor_state.py: reads (tracks, plan, backlog, verify-paths, doctor) and state writes (set-todo, track-status, archive) | Deterministic Plumbing Protocol |
| Real dependencies only | todo blocked_by + files; implement runs any ready todo | Plan Authoring Guide |
| Parallel work | disjoint-file todos and parallel-ready tracks fan out to subagents, user-confirmed | Parallel Dispatch Protocol |
| Verification on the edge | fresh read-only verifier per phase (the whole track on the last one), per todo for risky changes, and on every plan draft | Independent Verification Protocol |
| Tests that can fail | Google Testing on the Toilet rules, contract probes, no tautological tests | templates/test-quality.md |
| Local failures | retry / skip / repair / isolate / escalate / stop table | Failure Policy |
| Bounded loops | attempts per todo, review_rounds per plan, hard caps | Convergence Budgets |
| Cost | scripts → cheap model → strong model by task | Model Routing |
All protocols live in templates/conductor-protocol.md.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" tracks
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" plan conductor/plans/<file>.plan.md
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" verify-paths <plan-or-review.md> --create-ok
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" backlog
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" set-todo <plan> <todo_id> completed --sha <sha>
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" track-status <track_id> in_progress
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" archive <track_id>
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/conductor_state.py" doctor [--fix] [--stamp]
HUD (mods)
On Claude Code builds with function hooks, the plugin also loads hooks/register.tsx, a mod that keeps the active track on screen. Everything it shows comes from conductor_state.py; it never parses plans itself, and it shows nothing in a repo without conductor/context/tracks.md.
| Piece | What it does |
| :---- | :----------- |
| Status line | <track> 7/12 while the band is hidden, or the next eligible track when none is in progress |
| Band above the prompt | Track, progress bar, blocked and deferred counts, the next todo; Board (b) and Hide buttons |
| /conductor-board | Pane with next todo, parallel batch, waiting and blocked todos, deferred checks, every other track in progress (progress, next todo, its own Implement), other tracks, and buttons that fill in /conductor:conductor-implement, review, archive or status |
| Toasts | Phase done, a todo newly blocked, review hitting its 2-round limit, track complete |
| Upgrade nudge | At session start, a toast when doctor finds drift worth /conductor:conductor-setup |
| Status guard | Denies Edit/Write/sed -i/redirects that change a todo's status in conductor/plans/ or rewrite tracks.md, pointing at set-todo. New pending todos and other plan fields pass. It matches spellings, so it is a guardrail, not a boundary; it stays off when python3 cannot run the script |
It refreshes after each Edit, Write or Bash call and at the end of every turn, re-running the script only when tracks.md or a plan in progress changed. With several tracks in progress, the status line and band follow the one whose plan changed last. Develop it with claude plugin validate plugins/conductor and claude plugin test plugins/conductor.
Upgrading an existing project
Run /conductor:conductor-setup again. On a project that is already set up it runs doctor, applies the mechanical repairs (plans stranded by old archives, duplicated backlog items, contradictory .gitignore advice), adds Working Agreements, refreshes stale workflow sections while keeping project-specific lines, and stamps the version in conductor/context/index.md. /conductor:conductor-status says when a project is out of date.
Evals
Two claude plugin eval suites, kept separate so each runs, costs, and reports on its own:
| Suite | Dir | Covers |
| ----- | --- | ------ |
| status | evals/ (default) | /conductor:conductor-status outcomes: counts, eligible / blocked / parallel-ready, legacy format, not-set-up, negative |
| graph | evals-graph/ | implement picks the first ready todo (blocked_by), offers parallel dispatch, reports typo'd blockers, escalates at attempts: 3; validate-review flags wrong paths; implement not-set-up |
claude plugin eval ./plugins/conductor --allow-tools Write
claude plugin eval ./plugins/conductor --eval-dir evals-graph --allow-tools Write Edit
Both suites grade outcomes (last message and files), not tool trajectories: a slash-expanded skill never shows up as a Skill tool call. No case grants Bash, so conductor_state.py is not exercised by the evals; the skills' documented manual fallbacks are. results/ dirs are gitignored.
The script has its own unit tests, which run each subcommand against a throwaway conductor/ tree:
python3 -m unittest discover plugins/conductor/scripts
Programme mode
From conductor/reviews/*.md → validate → split tracks → synthesis → implement in order (continue via explicit cleanup choices when unblocked).
Reference: docs/examples/remediation-programme-example.md
Decision tracks
Deliverable is an OKF decision concept at .adr/decisions/<slug>.md, in the local decision bundle at the repo root. .adr/ carries a .gitignore with *, so decisions, spike evidence and the fallback glossary are never committed unless you ask. Project docs stay in repo knowledge bundles (knowledge/, <pkg>/knowledge/).
Workflow: /engineering:grilling → /engineering:research → /conductor:conductor-prototype → /engineering:grill-with-docs
See OKF v0.1.
Project docs / knowledge requests
- Discover existing
**/knowledge/index.mdbundles - Prefer repo-root
knowledge/or domain<pkg>/knowledge/beside code - Scaffold from
templates/knowledge/bundle-placement-guide.md
Artifacts
- Conductor:
conductor/context/,conductor/specs/,conductor/plans/,conductor/reviews/,conductor/archive/. Commit them, or keepconductor/gitignored; setup records the choice in Working Agreements and every command follows it. - OKF knowledge:
knowledge/or<pkg>/knowledge/in the repository
Attribution
Conductor from gemini-cli-extensions/conductor. OKF from Google Cloud OKF spec. Engineering skills from mattpocock/skills (MIT).
Output style: Base rules are defined in templates/conductor-protocol.md and templates/output-style.md.
