newtonmunene99/claudekit/tree/main/plugins/conductor
conductor
Claude Code를 위한 컨텍스트 기반 개발: 설정, 사양 작성, 계획, 구현, 검토, 보관, 인계, 되돌리기.
이 mod 소개
Conductor Plugin
Claude Code를 위한 컨텍스트 기반 개발: 설정, 사양 작성, 계획, 구현, 검토, 보관, 인계, 되돌리기.
두 번 측정하고 한 번 코딩하세요.
Commands
| Command | Description |
| :------ | :---------- |
| /conductor:conductor-setup | 프로젝트 부트스트랩. 기존 프로젝트에서는 현재 규칙에 맞게 업그레이드 |
| /conductor:conductor-new-track | 브레인스토밍, 사양 작성, 계획(단일 track 또는 programme mode) |
| /conductor:conductor-implement | 계획 todo 실행(depends_on, 실행 가능한 항목 선택기, 정리 + 계속 옵션) |
| /conductor:conductor-status | 진행 상황, 실행 가능/차단된 track, 연기된 검사, 병합되지 않은 브랜치, 오래된 파일 |
| /conductor:conductor-archive | 완료된 track의 사양과 계획을 conductor/archive/로 옮기고 ledger 한 줄을 유지 |
| /conductor:conductor-handoff | 세션 상태를 계획 또는 backlog에 저장하고 다음 세션용 짧은 프롬프트 출력 |
| /conductor:conductor-revert | Git을 인식하는 되돌리기(Claude가 스스로 시작하지 않는 유일한 skill) |
| /conductor:conductor-review | 지침, 계획, 사양에 따라 검토 |
| /conductor:conductor-programme-review | 다중 track programme 검토 |
| /conductor:conductor-validate-review | 저장소를 기준으로 검토 결과 검증 |
| /conductor:conductor-prototype | spike/<slug> 브랜치에서 의사결정 track 스파이크 |
Execution model
Conductor는 track을 선형 체인이 아니라 작은 실행 그래프로 실행합니다. 전체 프로토콜 표는 README를 참조하세요. Working Agreements, scripts/conductor_state.py를 통한 결정적 배관, blocked_by 의존성, 하위 에이전트로의 병렬 dispatch, 독립 검증, 테스트 품질 규칙, 실패 정책, 수렴 예산, 모델 라우팅을 다룹니다.
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 빌드에서는 활성 track을 화면에 표시하는 mod인 hooks/register.tsx도 로드됩니다. 표시되는 내용은 모두 conductor_state.py에서 가져옵니다. conductor/context/tracks.md가 없는 저장소에서는 계획을 직접 파싱하지 않으며 아무것도 표시하지 않습니다.
- 상태 줄: 밴드가 숨겨져 있으면
<track> 7/12, 진행 중인 track이 없으면 다음 실행 가능 track 표시 - 프롬프트 위 밴드: track, 진행률 표시줄, 차단 및 연기 수, 다음 todo, Board 및 Hide 버튼
/conductor-board창: 다음 todo, 병렬 batch, 대기/차단된 todo, 연기된 검사, 진행 중인 다른 track, implement/review/archive/status 명령을 채우는 버튼- Toast: 단계 완료, 새로 차단된 todo, 검토 라운드 한도 도달, track 완료
doctor가 드리프트를 찾으면 업그레이드 알림 Toast- 상태 보호:
conductor/plans/에서 todo 상태를 바꾸는 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에서 시작해 검증 → track 분할 → 종합 → 순서대로 구현합니다. 차단이 해제되면 명시적인 정리 선택을 통해 계속 진행합니다.
Decision tracks
산출물은 .adr/decisions/<slug>.md의 OKF 의사결정 개념입니다. .adr/에는 *가 포함된 .gitignore가 있으므로 요청하지 않는 한 의사결정, 스파이크 증거, fallback 용어집은 커밋되지 않습니다.
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.
