Add orchestrator mode (cc-orc) with workhorse agents#14
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review infoConfiguration used: defaults Review profile: CHILL Plan: Pro 📒 Files selected for processing (10)
📝 WalkthroughWalkthroughAdds an Orchestrator Mode with a delegation-first orchestrator system prompt, four new workhorse agents (investigator, implementer, tester, documenter), a Changes
Sequence Diagram(s)sequenceDiagram
participant User as User
participant Orc as Orchestrator
participant Inv as Investigator
participant Impl as Implementer
participant Test as Tester
participant Doc as Documenter
User->>Orc: Submit task / request
Orc->>Orc: Plan decomposition (Plan Mode)
Orc->>Inv: Dispatch investigation task
Inv-->>Orc: Findings & BLOCKED questions
Orc->>User: Surface BLOCKED questions / assumptions
User-->>Orc: Clarify / Approve plan
Orc->>Impl: Dispatch implementation task
Impl-->>Test: Request verification (PostToolUse/Stop hooks)
Test-->>Orc: Test results / regression checks
Orc->>Doc: Dispatch documentation update task
Doc-->>Orc: Documentation artifacts & traces
Orc->>User: Consolidated report / deliverables
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
.devcontainer/scripts/setup-aliases.sh (1)
99-115:⚠️ Potential issue | 🟡 Minor
cc-orcis absent from thecc-toolslisting.
cc,ccw,ccraware all enumerated in thecc-toolsdiscovery loop (line 104), butcc-orcis not. Users runningcc-toolsto audit available commands will not see it.♻️ Proposed fix
- for cmd in claude cc ccw ccraw ccusage ccburn claude-monitor \\ + for cmd in claude cc ccw ccraw cc-orc ccusage ccburn claude-monitor \\🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.devcontainer/scripts/setup-aliases.sh around lines 99 - 115, The cc-tools function's command-discovery loop omits "cc-orc", so add "cc-orc" to the for-loop command list (near the list that currently contains "claude cc ccw ccraw ...") so it gets detected and reported like the other commands; update the list of tokens iterated over in the cc-tools function (the for cmd in ...; do block) to include "cc-orc"..devcontainer/CLAUDE.md (1)
8-21:⚠️ Potential issue | 🟡 MinorDirectory structure tree omits
orchestrator-system-prompt.md(andwriting-system-prompt.md).The
defaults/listing shows onlymain-system-prompt.md, butorchestrator-system-prompt.md(newly added) andwriting-system-prompt.md(existing) also deploy there via file-manifest. A developer looking at the tree won't find them.♻️ Proposed fix
│ └── defaults/ # Source files deployed on start via file-manifest │ ├── settings.json # Model, permissions, plugins, env vars │ ├── main-system-prompt.md +│ ├── orchestrator-system-prompt.md +│ ├── writing-system-prompt.md │ ├── ccstatusline-settings.json # Status bar widget layout │ └── rules/ # Deployed to .claude/rules/🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.devcontainer/CLAUDE.md around lines 8 - 21, The directory tree in .devcontainer/CLAUDE.md omits orchestrator-system-prompt.md and writing-system-prompt.md under the defaults/ listing; update the defaults/ subsection in that file to include both orchestrator-system-prompt.md and writing-system-prompt.md (matching the files deployed via file-manifest.json) so the tree accurately reflects what deploys to .claude/rules//. Ensure the names match the actual filenames (orchestrator-system-prompt.md, writing-system-prompt.md) and maintain the same formatting as the existing entries (e.g., list under defaults/ with brief comments as used for main-system-prompt.md)..devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md (1)
203-203:⚠️ Potential issue | 🟡 MinorStale comment:
verify-no-regression.pynow applies toimplementertooThe directory tree comment still only names
refactorer, but the hooks table at line 68 addsimplementeras a second consumer of this script.✏️ Proposed fix
-| +-- verify-no-regression.py # Post-edit regression tests (refactorer) +| +-- verify-no-regression.py # Post-edit regression tests (implementer, refactorer)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md at line 203, Update the directory-tree comment that lists verify-no-regression.py to reflect that the script is consumed by both the refactorer and the implementer (not just refactorer); locate the README entry mentioning "verify-no-regression.py" and modify the line or surrounding text so it explicitly names both consumers (refactorer, implementer) and, if present, adjust any brief description to indicate it serves post-edit regression tests for both modules.
♻️ Duplicate comments (1)
.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/investigator.md (1)
43-45: Fenced code blocks missing language specifiers (MD040).Same issue as
tester.md— code blocks at lines 43, 124, and 144 lack language identifiers. Usetextfor pseudo-code tool invocations.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/investigator.md around lines 43 - 45, Update the three fenced code blocks that lack language specifiers (e.g., the block containing "Glob: **/CLAUDE.md (within the project directory)" in investigator.md and the similar blocks in tester.md) by adding the language identifier "text" after the opening triple backticks so they become ```text; ensure all code fences at the reported locations include the language specifier to satisfy MD040.
🧹 Nitpick comments (4)
.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/tester.md (1)
38-40: Add language specifiers to fenced code blocks (MD040).Three fenced code blocks are missing language identifiers (lines 38, 174, 206), triggering markdownlint MD040 warnings. Use
textorbash(for the shell commands) andtext(for pseudo-code tool invocations).♻️ Proposed fix
-``` +```text Glob: **/CLAUDE.md (within the project directory)-``` +```bash # Python Glob: **/pytest.ini, ...-``` +```bash # Compare source files to test files Glob: **/coverage/**, ...🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/tester.md around lines 38 - 40, Three fenced code blocks in tester.md are missing language specifiers causing MD040; update the three fenced blocks that contain the patterns "Glob: **/CLAUDE.md (within the project directory)", the block starting with "# Python\n Glob: **/pytest.ini, ..." and the block starting with "# Compare source files to test files\n Glob: **/coverage/**, ..." to include appropriate languages: use "text" for plain text/pseudo-code blocks and "bash" for shell/command examples. Locate the blocks in the agent-system/agents/tester.md content by searching for those unique strings and add the language identifiers to the opening triple-backtick lines accordingly..devcontainer/config/defaults/orchestrator-system-prompt.md (2)
219-221: Plan mode agent delegation scope is ambiguousLine 221 says
"No agent delegation for implementation"during plan mode, which correctly blocks the implementer. However, it leaves open whether delegating to theinvestigatorfor research/context-gathering is permitted during planning.The
<context_management>section (lines 325–329) later explicitly instructs delegating toinvestigatorin recovery scenarios, implying investigator delegation is always available — but this isn't reflected in the planmode rules. A brief clarifying note (e.g.,"investigator delegation for research is permitted") would remove the ambiguity.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.devcontainer/config/defaults/orchestrator-system-prompt.md around lines 219 - 221, Clarify plan mode agent delegation by updating the planmode_rules section: state explicitly that "No agent delegation for implementation" blocks implementer agents but that delegation to the investigator for research/context-gathering is permitted; reference the existing <context_management> recovery instruction to align behavior and add a short parenthetical or sentence in planmode_rules indicating investigator delegation is allowed for information-gathering during planning.
132-150: Specialist agent catalog incomplete — 12 of 17 specialists have no selection guidanceThe table at lines 134–140 lists only 5 specialist agents. The remaining 12 (
debug-logs,dependency-analyst,doc-writer,explorer,generalist,git-archaeologist,migrator,perf-profiler,refactorer,researcher,spec-writer,test-writer) are absent from the catalog and from the selection criteria block. The orchestrator has no documented signal for when to prefer these over a workhorse.Several of these are non-trivially distinct from workhorse agents:
refactorer(safe transformations with regression gate),git-archaeologist(deep blame/history forensics),researcher(web research focus),explorer(fast structural mapping). Without entries in the selection criteria, the orchestrator will likely never reach them.Consider either:
- Adding the omitted agents to the catalog with a brief use-for note, or
- Adding a catch-all note in the selection criteria block explaining that the full agent list is in the agent-system README and the orchestrator should consult it for edge cases.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.devcontainer/config/defaults/orchestrator-system-prompt.md around lines 132 - 150, The specialist agent catalog is incomplete: the table of Specialist agents and the Selection criteria block currently list only five agents, omitting debug-logs, dependency-analyst, doc-writer, explorer, generalist, git-archaeologist, migrator, perf-profiler, refactorer, researcher, spec-writer, and test-writer; update the Specialist agents table to include each omitted agent with a one-line "Use For" note (e.g., refactorer: safe code refactors with regression gate; git-archaeologist: deep blame/history forensics; researcher: web research and sourcing; explorer: fast structural mapping), and/or add a single catch-all sentence to the Selection criteria block instructing the orchestrator to consult the full agent list in the agent-system README for edge cases and nuanced signals so the orchestrator can prefer these specialists over a workhorse when appropriate..devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md (1)
11-11: Nitpick: hyphenate the compound modifier "question-surfacing"LanguageTool flags this as a compound-modifier hyphenation issue; "question-surfacing protocol" reads more clearly.
✏️ Proposed fix
-General-purpose agents designed for orchestrator mode (`cc-orc`). Each covers a broad domain, carrying detailed execution discipline, code standards, and a question surfacing protocol. Most tasks need only 2-3 of these. +General-purpose agents designed for orchestrator mode (`cc-orc`). Each covers a broad domain, carrying detailed execution discipline, code standards, and a question-surfacing protocol. Most tasks need only 2-3 of these.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md at line 11, Replace the un-hyphenated compound modifier "question surfacing protocol" with the hyphenated form "question-surfacing protocol" in the README sentence that reads "Each covers a broad domain, carrying detailed execution discipline, code standards, and a question surfacing protocol." Update that exact phrase to "a question-surfacing protocol" to correct the compound-modifier hyphenation.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
@.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/implementer.md:
- Around line 22-26: The PostToolUse hook is currently configured to run
verify-no-regression.py on every Edit (PostToolUse with matcher: Edit and
timeout: 30), which triggers the test suite for each file; change the hook to
either narrow the matcher to targeted file patterns (e.g., only run when edited
files match relevant paths/extensions) or move this command into a Stop hook
that runs once after the task completes (similar to advisory-test-runner.py) so
the test suite runs once for the batch instead of per-Edit; update the
PostToolUse entry (PostToolUse / matcher: Edit / command: "python3
${CLAUDE_PLUGIN_ROOT}/scripts/verify-no-regression.py" / timeout: 30)
accordingly to use a pattern-based matcher or replace it with a Stop hook
invoking the same script.
In
@.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/tester.md:
- Around line 22-25: The Stop hook timeout for the tester agent is too short;
update the Stop block that runs "python3
${CLAUDE_PLUGIN_ROOT}/scripts/verify-tests-pass.py" to increase the timeout from
30 to a larger value (e.g., 120) to accommodate slow or full test suites, and
also review the PostToolUse hook timeout if it mirrors the same 30s limit to
keep them consistent.
---
Outside diff comments:
In @.devcontainer/CLAUDE.md:
- Around line 8-21: The directory tree in .devcontainer/CLAUDE.md omits
orchestrator-system-prompt.md and writing-system-prompt.md under the defaults/
listing; update the defaults/ subsection in that file to include both
orchestrator-system-prompt.md and writing-system-prompt.md (matching the files
deployed via file-manifest.json) so the tree accurately reflects what deploys to
.claude/rules//. Ensure the names match the actual filenames
(orchestrator-system-prompt.md, writing-system-prompt.md) and maintain the same
formatting as the existing entries (e.g., list under defaults/ with brief
comments as used for main-system-prompt.md).
In @.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md:
- Line 203: Update the directory-tree comment that lists verify-no-regression.py
to reflect that the script is consumed by both the refactorer and the
implementer (not just refactorer); locate the README entry mentioning
"verify-no-regression.py" and modify the line or surrounding text so it
explicitly names both consumers (refactorer, implementer) and, if present,
adjust any brief description to indicate it serves post-edit regression tests
for both modules.
In @.devcontainer/scripts/setup-aliases.sh:
- Around line 99-115: The cc-tools function's command-discovery loop omits
"cc-orc", so add "cc-orc" to the for-loop command list (near the list that
currently contains "claude cc ccw ccraw ...") so it gets detected and reported
like the other commands; update the list of tokens iterated over in the cc-tools
function (the for cmd in ...; do block) to include "cc-orc".
---
Duplicate comments:
In
@.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/investigator.md:
- Around line 43-45: Update the three fenced code blocks that lack language
specifiers (e.g., the block containing "Glob: **/CLAUDE.md (within the project
directory)" in investigator.md and the similar blocks in tester.md) by adding
the language identifier "text" after the opening triple backticks so they become
```text; ensure all code fences at the reported locations include the language
specifier to satisfy MD040.
---
Nitpick comments:
In @.devcontainer/config/defaults/orchestrator-system-prompt.md:
- Around line 219-221: Clarify plan mode agent delegation by updating the
planmode_rules section: state explicitly that "No agent delegation for
implementation" blocks implementer agents but that delegation to the
investigator for research/context-gathering is permitted; reference the existing
<context_management> recovery instruction to align behavior and add a short
parenthetical or sentence in planmode_rules indicating investigator delegation
is allowed for information-gathering during planning.
- Around line 132-150: The specialist agent catalog is incomplete: the table of
Specialist agents and the Selection criteria block currently list only five
agents, omitting debug-logs, dependency-analyst, doc-writer, explorer,
generalist, git-archaeologist, migrator, perf-profiler, refactorer, researcher,
spec-writer, and test-writer; update the Specialist agents table to include each
omitted agent with a one-line "Use For" note (e.g., refactorer: safe code
refactors with regression gate; git-archaeologist: deep blame/history forensics;
researcher: web research and sourcing; explorer: fast structural mapping),
and/or add a single catch-all sentence to the Selection criteria block
instructing the orchestrator to consult the full agent list in the agent-system
README for edge cases and nuanced signals so the orchestrator can prefer these
specialists over a workhorse when appropriate.
In
@.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/tester.md:
- Around line 38-40: Three fenced code blocks in tester.md are missing language
specifiers causing MD040; update the three fenced blocks that contain the
patterns "Glob: **/CLAUDE.md (within the project directory)", the block starting
with "# Python\n Glob: **/pytest.ini, ..." and the block starting with "#
Compare source files to test files\n Glob: **/coverage/**, ..." to include
appropriate languages: use "text" for plain text/pseudo-code blocks and "bash"
for shell/command examples. Locate the blocks in the
agent-system/agents/tester.md content by searching for those unique strings and
add the language identifiers to the opening triple-backtick lines accordingly.
In @.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md:
- Line 11: Replace the un-hyphenated compound modifier "question surfacing
protocol" with the hyphenated form "question-surfacing protocol" in the README
sentence that reads "Each covers a broad domain, carrying detailed execution
discipline, code standards, and a question surfacing protocol." Update that
exact phrase to "a question-surfacing protocol" to correct the compound-modifier
hyphenation.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (10)
.devcontainer/CHANGELOG.md.devcontainer/CLAUDE.md.devcontainer/config/defaults/orchestrator-system-prompt.md.devcontainer/config/file-manifest.json.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/documenter.md.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/implementer.md.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/investigator.md.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/tester.md.devcontainer/scripts/setup-aliases.sh
.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/implementer.md
Outdated
Show resolved
Hide resolved
.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/tester.md
Outdated
Show resolved
Hide resolved
Resolve all actionable, outside-diff, duplicate, and nitpick issues from CodeRabbit review on PR #14, plus one discovered consistency issue. Major: implementer PostToolUse hook (per-Edit) → Stop hook (once at end) with 120s timeout. Tester Stop hook timeout 30s → 120s. Added cc-orc to cc-tools discovery. Updated CLAUDE.md directory tree with missing files. Fixed stale verify-no-regression.py comment. Added MD040 language specifiers. Clarified orchestrator plan mode delegation scope and added specialist catalog catch-all.
Merge conflict note:
|
…orse agents Introduces cc-orc alias for a slim orchestrator that decomposes tasks and delegates to agents instead of doing implementation work directly. Four new workhorse agents (investigator, implementer, tester, documenter) carry the detailed execution discipline, code standards, and testing standards that previously lived only in the monolithic main prompt. All agents enforce a mandatory question surfacing protocol — they stop and return questions to the orchestrator rather than making assumptions. The existing 17 specialist agents and main-system-prompt.md remain unchanged.
Resolve all actionable, outside-diff, duplicate, and nitpick issues from CodeRabbit review on PR #14, plus one discovered consistency issue. Major: implementer PostToolUse hook (per-Edit) → Stop hook (once at end) with 120s timeout. Tester Stop hook timeout 30s → 120s. Added cc-orc to cc-tools discovery. Updated CLAUDE.md directory tree with missing files. Fixed stale verify-no-regression.py comment. Added MD040 language specifiers. Clarified orchestrator plan mode delegation scope and added specialist catalog catch-all.
9ef4794 to
74f09f0
Compare
Summary
cc-orcalias — delegation-first orchestrator that decomposes tasks and delegates to agents instead of doing implementation work directly## BLOCKED: Questionssections when hitting ambiguities, ensuring no assumptions without user inputmain-system-prompt.mdremain unchanged — both modes coexist cleanlyNew Files
orchestrator-system-prompt.mdinvestigator.mdimplementer.mdtester.mddocumenter.mdModified Files
setup-aliases.sh— addedcc-orcaliasfile-manifest.json— added orchestrator prompt deploymentCLAUDE.md— documented new command and configagent-system/README.md— added workhorse agents sectionCHANGELOG.md— full changelog entryTest plan
cc-orcalias resolves correctly after sourcing aliases$CLAUDE_CONFIG_DIR/via file-manifestmain-system-prompt.mdis unchanged (no diff)cc-orcsession: confirm orchestrator delegates to agents instead of editing directlySummary by CodeRabbit
New Features
Documentation
Improvements