Skip to content

Commit 9ef4794

Browse files
committed
Fix 10 CodeRabbit review issues and stale documentation
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.
1 parent ad949db commit 9ef4794

File tree

9 files changed

+35
-21
lines changed

9 files changed

+35
-21
lines changed

.devcontainer/CHANGELOG.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,22 @@
1010

1111
#### Workhorse Agents
1212
- **`investigator`** — consolidated read-only research agent (sonnet) merging the domains of researcher, explorer, dependency-analyst, git-archaeologist, debug-logs, and perf-profiler; handles codebase search, web research, git forensics, dependency auditing, log analysis, and performance profiling
13-
- **`implementer`** — consolidated read-write implementation agent (opus, worktree) merging generalist, refactorer, and migrator; handles all code modifications with embedded code standards, execution discipline, and PostToolUse regression testing
13+
- **`implementer`** — consolidated read-write implementation agent (opus, worktree) merging generalist, refactorer, and migrator; handles all code modifications with embedded code standards, execution discipline, and Stop hook regression testing
1414
- **`tester`** — enhanced test agent (opus, worktree) with full testing standards, framework-specific guidance, and Stop hook verification; creates and verifies test suites
1515
- **`documenter`** — consolidated documentation and specification agent (opus) merging doc-writer and spec-writer; handles README, API docs, docstrings, and the full spec lifecycle (create, refine, build, review, update, check)
1616
- **Question Surfacing Protocol** — all 4 workhorse agents carry an identical protocol requiring them to STOP and return `## BLOCKED: Questions` sections when hitting ambiguities, ensuring no assumptions are made without user input
1717

18+
### Fixed
19+
20+
#### CodeRabbit Review Fixes
21+
- **`implementer.md`** — changed PostToolUse hook (fires every Edit) to Stop hook (fires once at task end) with 120s timeout; prevents redundant test runs during multi-file tasks
22+
- **`tester.md`** — increased Stop hook timeout from 30s to 120s to accommodate larger test suites
23+
- **`setup-aliases.sh`** — added `cc-orc` to `cc-tools` discovery loop so it appears in tool audit
24+
- **`CLAUDE.md`** — added missing `keybindings.json`, `orchestrator-system-prompt.md`, and `writing-system-prompt.md` to directory structure tree
25+
- **`agent-system/README.md`** — updated `verify-no-regression.py` comment to list both consumers (implementer, refactorer); hyphenated "question-surfacing protocol"
26+
- **`orchestrator-system-prompt.md`** — clarified plan mode allows investigator delegation for research; added catch-all entry in selection criteria pointing to the full specialist catalog
27+
- **MD040 compliance** — added `text` language specifiers to 7 fenced code blocks across `investigator.md`, `tester.md`, and `documenter.md`
28+
1829
### Changed
1930

2031
#### Agent System

.devcontainer/CLAUDE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ CodeForge devcontainer for AI-assisted development with Claude Code.
1212
│ ├── file-manifest.json # Declarative config file deployment
1313
│ └── defaults/ # Source files deployed on start via file-manifest
1414
│ ├── settings.json # Model, permissions, plugins, env vars
15+
│ ├── keybindings.json # Keyboard shortcuts
1516
│ ├── main-system-prompt.md
17+
│ ├── orchestrator-system-prompt.md
18+
│ ├── writing-system-prompt.md
1619
│ ├── ccstatusline-settings.json # Status bar widget layout
1720
│ └── rules/ # Deployed to .claude/rules/
1821
├── features/ # Custom devcontainer features

.devcontainer/config/defaults/orchestrator-system-prompt.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ Selection criteria:
147147
- Is it a targeted security review? → security-auditor
148148
- Is it a complex architecture decision? → architect
149149
- Is it a simple command to run? → bash-exec
150+
- Does the task require a specialist not listed above? → consult the agent-system README for the full 17-agent specialist catalog
150151
</agent_catalog>
151152

152153
<question_surfacing>
@@ -219,7 +220,7 @@ If ANY condition is not met, the change is NOT trivial.
219220
<planmode_rules>
220221
Plan mode behavior (read-only tools only: `Read`, `Glob`, `Grep`):
221222
- No code modifications (`Edit`, `Write` forbidden — and you never use these anyway)
222-
- No agent delegation for implementation
223+
- No agent delegation for implementation (investigator delegation for research is permitted)
223224
- No commits, PRs, or refactors
224225

225226
Plan contents MUST include:

.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Replaces Claude Code's built-in agents with enhanced custom agents that carry do
88

99
### Workhorse Agents
1010

11-
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.
11+
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.
1212

1313
| Agent | Domain | Access | Model |
1414
|-------|--------|--------|-------|
@@ -200,7 +200,7 @@ agent-system/
200200
| +-- redirect-builtin-agents.py # Built-in agent redirection
201201
| +-- task-completed-check.py # Test suite quality gate
202202
| +-- teammate-idle-check.py # Incomplete task checker
203-
| +-- verify-no-regression.py # Post-edit regression tests (refactorer)
203+
| +-- verify-no-regression.py # Post-edit regression tests (implementer, refactorer)
204204
| +-- verify-tests-pass.py # Test verification (test-writer)
205205
+-- skills/
206206
| +-- debug/

.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/documenter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ offset = len(header) + 1 # add one to header length
130130

131131
### Spec Directory Structure
132132

133-
```
133+
```text
134134
.specs/
135135
├── MILESTONES.md # Current milestone scope
136136
├── BACKLOG.md # Priority-graded feature backlog

.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/implementer.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,15 @@ skills:
1919
- migration-patterns
2020
- spec-update
2121
hooks:
22-
PostToolUse:
23-
- matcher: Edit
24-
type: command
22+
Stop:
23+
- type: command
2524
command: "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/verify-no-regression.py"
26-
timeout: 30
25+
timeout: 120
2726
---
2827

2928
# Implementer Agent
3029

31-
You are a **senior software engineer** who handles all code modifications — writing new features, fixing bugs, refactoring for quality, and migrating between frameworks or versions. You are methodical, scope-disciplined, and thorough — you do what was asked, verify it works, and report clearly. You treat every edit as consequential and verify after every change.
30+
You are a **senior software engineer** who handles all code modifications — writing new features, fixing bugs, refactoring for quality, and migrating between frameworks or versions. You are methodical, scope-disciplined, and thorough — you do what was asked, verify it works, and report clearly. You treat every edit as consequential.
3231

3332
## Project Context Discovery
3433

@@ -189,7 +188,7 @@ Hard to reverse (stop and report):
189188
- **NEVER** create helpers, utilities, or abstractions for one-time operations.
190189
- **NEVER** add docstrings, comments, or type annotations to code you did not change.
191190
- Read files before modifying them. Understand existing code before changing it.
192-
- The PostToolUse hook runs tests after every `Edit` call. If tests fail, analyze the failure and fix the issue or try a different approach.
191+
- The Stop hook runs tests when you finish. If tests fail, analyze the failure and fix the issue or try a different approach before completing.
193192

194193
## Working Strategy
195194

@@ -218,8 +217,8 @@ Before starting any task, classify it:
218217
2. **Run the test suite** to establish a green baseline. If tests fail, stop and report.
219218
3. **Plan the transformation** — describe what and why before editing.
220219
4. **Execute smallest safe steps** — one atomic transformation at a time.
221-
5. **Verify after each step**PostToolUse hook runs tests automatically.
222-
6. **If tests fail after an edit**: revert, analyze, try a different approach.
220+
5. **Verify before finishing**the Stop hook runs tests automatically when you complete.
221+
6. **If tests fail**: analyze the failure, fix the issue, and try again before finishing.
223222

224223
### For Multi-Step Tasks
225224

.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/investigator.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Before starting work, read project-specific instructions:
4040

4141
1. **Rules**: `Glob: .claude/rules/*.md` — read all files found. These are mandatory constraints.
4242
2. **CLAUDE.md files**: Starting from your working directory, read CLAUDE.md files walking up to the workspace root:
43-
```
43+
```text
4444
Glob: **/CLAUDE.md (within the project directory)
4545
```
4646
3. **Apply**: Follow discovered conventions for naming, frameworks, architecture boundaries, and workflow rules. CLAUDE.md instructions take precedence over your defaults when they conflict.
@@ -121,7 +121,7 @@ Follow a disciplined codebase-first, web-second approach. Local evidence is more
121121

122122
**Phase 2 — Codebase investigation**: Start with the local codebase. Even for general questions, the project context shapes the answer.
123123

124-
```
124+
```text
125125
# Discover project structure
126126
Glob: **/*.{py,ts,js,go,rs,java}
127127
Glob: **/package.json, **/pyproject.toml, **/Cargo.toml, **/go.mod
@@ -141,7 +141,7 @@ When investigating how something works:
141141

142142
**Phase 3 — Web research** (when needed): Fill gaps the codebase cannot answer.
143143

144-
```
144+
```text
145145
# Search for documentation
146146
WebSearch: "<library> documentation <specific topic>"
147147

.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/tester.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ hooks:
2222
Stop:
2323
- type: command
2424
command: "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/verify-tests-pass.py"
25-
timeout: 30
25+
timeout: 120
2626
---
2727

2828
# Tester Agent
@@ -35,7 +35,7 @@ Before starting any task, check for project-specific instructions:
3535

3636
1. **Rules**: `Glob: .claude/rules/*.md` — read all files found. These are mandatory constraints.
3737
2. **CLAUDE.md files**: Starting from your working directory, read CLAUDE.md files walking up to the workspace root:
38-
```
38+
```text
3939
Glob: **/CLAUDE.md (within the project directory)
4040
```
4141
3. **Apply**: Follow discovered conventions for naming, nesting limits, framework choices, architecture boundaries, and workflow rules. CLAUDE.md instructions take precedence over your defaults.
@@ -171,7 +171,7 @@ When uncertain, investigate first — read the code, check the docs — rather t
171171

172172
### Step 1: Detect the Test Framework
173173

174-
```
174+
```text
175175
# Python
176176
Glob: **/pytest.ini, **/pyproject.toml, **/setup.cfg, **/conftest.py
177177
Grep in pyproject.toml/setup.cfg: "pytest", "unittest"
@@ -203,7 +203,7 @@ Read 2-3 existing test files for:
203203

204204
### Step 3: Identify Untested Code
205205

206-
```
206+
```text
207207
# Compare source files to test files
208208
# Check coverage reports if available
209209
Glob: **/coverage/**, **/.coverage, **/htmlcov/**

.devcontainer/scripts/setup-aliases.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ cc-tools() {
101101
echo "━━━━━━━━━━━━━━━━━━━━━━━━"
102102
printf " %-20s %s\n" "COMMAND" "STATUS"
103103
echo " ────────────────────────────────────"
104-
for cmd in claude cc ccw ccraw ccusage ccburn claude-monitor \\
104+
for cmd in claude cc ccw ccraw cc-orc ccusage ccburn claude-monitor \\
105105
ccms ct cargo ruff biome dprint shfmt shellcheck hadolint \\
106106
ast-grep tree-sitter pyright typescript-language-server \\
107107
agent-browser gh docker git jq tmux bun go infocmp; do

0 commit comments

Comments
 (0)