feat: align all 27 agents with official plugin-dev triggering format - #8
Conversation
Rewrites CLAUDE.md to serve as a genuine Claude Code session guide: - Add no-build-steps declaration (pure Markdown content repo) - Add branch workflow, commit type guide with Release Please impact - Add version drift warning (plugin.json v1.2.0 vs marketplace.json v1.0.0) - Add agent/skill frontmatter schema reference - Add environment variables for Bitbucket PR review - Document --focus options for /review-pr - Remove discoverable-by-ls content (17 lang reviewer names, 7 predictable command mappings) - Remove static GitHub repo metadata Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove "(9 個)" from Commands header (table only shows 2 key entries) - Replace pinned version numbers with a grep command to verify sync; specific versions rot once the drift is fixed Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…and agent/command distinction - Add directory structure overview with .claude-plugin/ explanation - Add PR creation gh api commands for labels/assignee - Enumerate all 17 language agents by name - Expand Commands table to list all 9 language commands - Note that 10 language agents have no corresponding /xxx-review command - Add step 5 to "新增 Agent" checklist (update CLAUDE.md counts) - Add step 4 to "新增 Command" checklist (update CLAUDE.md table)
- Fix version sync section: Release Please auto-syncs via extra-files; develop branch needs git merge origin/main after each release PR - Add current version (v1.2.0) to project overview - Add missing "新增 Skill" workflow (5 steps with subdirectory structure) - Fix Plugin Manifest update guidance: version is auto-synced, only keywords and description need manual updates - Fix directory structure comment to reflect auto-sync mechanism
Replace vague "push to main = 自動發布" with accurate flow: feat/fix commits → Release Please opens release PR on main → merging that PR triggers new version publish. Prevents confusion where any push to main is expected to immediately publish.
…ontext Inspired by CodeRabbit's architecture research: 1. /review-pr — Verification layer (Step 4): Replace simple dedupe with 5-step verification process: contradiction filter, confidence filter (≥80%), FP guard, and multi-agent agreement requirement. Batch delivery of findings only after all agents complete verification. 2. /review-pr & /code-review — Linked issues context: Fetch GitHub issues referenced in PR body (Fixes/Closes/ Resolves/Related to #N) and include issue title+description as review context. Reduces false positives by giving agents PR intent beyond just the diff. 3. /code-review — Incremental review mode (--from=<commit>): New --from=<commit> flag limits review scope to files changed since a given commit/branch (e.g. --from=main, --from=HEAD~3). Avoids re-reviewing already-reviewed code on large branches.
Closes the biggest recall gap vs CodeRabbit by adding explicit caller tracing to all three review entry points: - agents/code-reviewer.md: Expand Step 3 with Caller Tracing block — grep for all call sites of modified exported symbols, read 3-5 most relevant callers before applying review checklist - commands/review-pr.md: Step 2 now traces callers for each modified exported symbol found in the diff before running parallel agents - commands/code-review.md: GitHub PR Phase 2 CONTEXT gains Step 5 (Caller Tracing) after changed-files enumeration All three skip private/test-only symbols to prevent context explosion.
Phase 3 improvement: move static analysis from post-review validation
to pre-review context building, so agents review code with linter
signals already available.
- commands/code-review.md:
- Phase 2 gains Step 6 (Static Analysis): run tsc/lint/clippy/vet/ruff
before review starts, capture output (head -60 per tool)
- Phase 3 opens with cross-reference instruction: any file:line
already flagged by linter treated as elevated-confidence finding
- Phase 4 VALIDATE simplified to test + build only (lint/typecheck
already ran in Phase 2, results recorded there)
- commands/review-pr.md:
- Step 2 appends linter capture after caller tracing; output passed
as context when launching each parallel agent in Step 3
Matches CodeRabbit's approach of always producing a file-by-file overview before listing findings, giving reviewers an at-a-glance map of PR scope. - commands/review-pr.md: new Step 5 generates a Walkthrough table (file | change type | one-sentence summary) before posting findings; old steps 5-6 renumbered to 6-7 - commands/code-review.md: Phase 6 REPORT template gains a Walkthrough section between the decision header and the Summary paragraph
…tracing grep
`--include="*.{ts,tsx,...}"` uses shell brace expansion which grep's fnmatch
does not support — the pattern is matched literally and returns no results,
silently breaking caller tracing. Replaced with individual --include flags in
commands/code-review.md and commands/review-pr.md to match agents/code-reviewer.md.
…mental diff semantics - Replace `grep -oP` (PCRE, unavailable on macOS BSD grep) with `perl -ne` for linked-issue extraction in both code-review.md and review-pr.md; also switch from `xargs` to `while read` to avoid executing `gh issue view` with no arguments when no issues are linked - Fix incremental review diff: `git diff --name-only <commit>..HEAD` excludes uncommitted working-directory changes; drop `..HEAD` to compare <commit> directly against the working tree, consistent with default Local Review Mode
…review profiles, CI checks Phase 1 quality improvements derived from CodeRabbit architecture research: - Add verification-reviewer agent: second-pass gate that validates HIGH/CRITICAL findings before output, mirroring CodeRabbit's Verification Agent pattern - Fix review-pr.md Step 4b: CRITICAL findings from security-reviewer now always bypass contradiction filter regardless of agent agreement count - Add Step 3.5 verification pass to /review-pr pipeline; launches verification- reviewer after parallel agents complete - Add Review Effort score (1–5) to /review-pr walkthrough with rubric - Add NITPICK severity tier to code-reviewer agent (below LOW, style-only) - Add --profile=chill|assertive flag to /code-review (chill: CRITICAL+HIGH only; assertive: all 5 levels including NITPICK, default) - Add CI check reading (gh pr checks) to GitHub PR Mode Phase 2 as context; failing checks elevate related code paths to priority review - Upgrade HIGH/CRITICAL output format: require diff block + AI Implementation Prompt for every actionable finding - Update agent count to 25 across CLAUDE.md, README.md, docs/index.html
…ler grep -n, pipefail guards - Fix linked issues perl regex to capture all #N per matching line (handles "Fixes #1, #2"); use while(/.../gi) loop instead of single-capture print - Add read -r to while read loops to handle backslashes correctly - Change caller tracing grep -l (filenames only) to -n (file:line:match) in review-pr.md, code-review.md, and agents/code-reviewer.md — aligns with the "read 3–5 most relevant callers" instruction - Add || true to all static analysis commands (tsc, lint, clippy, vet, ruff) to prevent pipefail environments from aborting context collection - Clarify incremental mode: use git diff <commit> (not <commit>..HEAD) to include uncommitted working tree changes; remove ambiguous Phase 2 reference - CLAUDE.md: rename "Agent Frontmatter 必填欄位" to "建議欄位"; clarify name/description/color are required, tools/model are recommended
- Bump version v1.1.0 → v1.2.0 in nav and footer - Add verification-reviewer agent card (orange, 通用主審 section) - Add NITPICK severity row to severity table - Add --profile=chill|assertive to /code-review syntax and profile section - Add Verification Pass (Step 3.5) and Walkthrough/Effort Score sections to /review-pr
README.md: - Add verification-reviewer to 通用主審 agents table - Update architecture diagram to include verification-reviewer - Update feature table: parallel review now mentions verification pass CLAUDE.md: - Add design principles 6 (verification gate) and 7 (NITPICK tier)
…tion guide Add 常用操作速查 index table at top for faster session orientation, and 新增 本地驗證 section with commit checklist to prevent common omissions (missing README/index.html/CLAUDE.md count updates after adding agents). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ion sync trigger - Move /reload-plugins out of bash block (it's a Claude Code slash command, not a shell command) to prevent new contributors from running it in terminal - Add count verification one-liner to detect stale agent/command/skill counts - Add git log check to surface when develop branch needs version sync
Phase 1 — Signal-to-Noise Filter + Evidence Gate: - commands/code-review.md: severity-based delivery (CRITICAL/HIGH as inline comments with suggestion blocks, MEDIUM as summary table, LOW/NITPICK as collapsible <details>); Phase 6.5 auto-updates PR description with review summary; Phase 1.5 CLASSIFY routes DOCS/CONFIG to Fast Path, LOGIC/SECURITY to Slow Path; Phase 8 saves last-reviewed commit for incremental tracking; Phase 2 Step 1 loads .claude/review-paths.yaml for path-based rules; Bitbucket Phase 7 updated to match three-step severity delivery - commands/review-pr.md: Step 5 posts walkthrough as dedicated first comment (before findings) with optional Mermaid sequence diagram; Step 6 rewritten to severity-based delivery with inline suggestion blocks; pr-walkthrough-writer added to parallel agent list - agents/verification-reviewer.md: Gates 1 and 3 now require mandatory Bash commands (grep/Read) before any verdict; CONFIRMED output includes Evidence and Caller check fields; Confidence Standard updated to require actual command output Phase 2 — New agent: - agents/pr-walkthrough-writer.md: new agent that generates file-change table and Mermaid sequence diagrams; used in /review-pr parallel step Update counts: 25 → 26 agents, 6 → 7 parallel agents in /review-pr
New agent performs sequential pre-computation before parallel reviewer agents launch: - L2: grep-based import dependency tracing (1 BFS hop) — identifies files NOT in the diff but that depend on changed code - L3: git log co-change risk analysis (last 50 commits) — surfaces files historically paired with changed files but absent from this PR - SHA-based cache in .claude/code-graph/ — reuses map across sessions when HEAD commit matches; cache miss triggers fresh computation Integration: - /review-pr Step 2.5: runs code-graph-analyzer sequentially, injects IMPACT_MAP into each parallel agent's prompt as context - /code-review Phase 2.5: same pattern for local diff and PR modes Also updates all documentation (README, CLAUDE.md, docs/index.html) to reflect 27 agents total.
…eatures Resolved add/add and content conflicts between v1.3.0 release commit and develop's new work (code-graph-analyzer, CodeRabbit-parity pipeline). Kept develop HEAD for all conflicted files — develop contains all v1.3.0 content plus the new additions.
Address claude-review HIGH finding and Copilot suppressed comments: - docs/index.html meta description: 26-agent → 27-agent - docs/index.html stat-num Parallel PR Agents: 6 → 7 - docs/index.html lead paragraph: 25 個 → 27 個 - docs/index.html feature list: 25 Reviewer → 27 Agent, 六並行 → 七並行 - docs/index.html parallel section description: 6 → 7 + add code graph context - README.md architecture tree: 25 個 reviewer agents → 27 個 agent (×2)
- commands/code-review.md: unify Phase 1.5 \$NUMBER/\${NUMBER} → <NUMBER> placeholder
- commands/code-review.md: clarify .claude/review-paths.yaml is optional user-created file
- agents/verification-reviewer.md: add || true to Gate 1 and Gate 3 grep to survive set -e/pipefail
- agents/code-graph-analyzer.md: exclude test files (*.test.*, *.spec.*, __tests__) from L2b dependents scan
- agents/code-graph-analyzer.md: add .git and test file exclusions to require() style scan
- CLAUDE.md: clarify docs: goes to CHANGELOG but doesn't trigger version bump (not completely ignored)
- commands/code-review.md Phase 6.5: replace --body "\$STRIPPED..." with printf pipe to --body-file - to prevent shell injection from PR body containing quotes or \$(command) subshells - agents/code-graph-analyzer.md L3: pass \$FILE via env var (FILE="\$FILE" python3) instead of interpolating into -c string, preventing injection from malicious filenames with shell metacharacters
- agents/code-graph-analyzer.md: move node_modules/.git/test exclusions from output filtering (| grep -v) to search stage (--exclude-dir/--exclude) for faster scan within the 60s time budget - agents/verification-reviewer.md: change Gate 3 grep from BRE \| to ERE (-ERn with |) for portability; add --exclude-dir for node_modules/.git - agents/pr-walkthrough-writer.md: wrap Step 5 example in 4-backtick fence so inner ```mermaid block doesn't break the outer code fence - commands/review-pr.md: add security-reviewer back to Step 3 parallel agents list (was missing, causing contradiction with Step 3.5/4b exception rules); update 七→八 agent count in CLAUDE.md/README/docs
- commands/code-review.md: add text/markdown language tags to bare code fences in Step 7a (MD040); add profile gate notes to Step 7b/7c so --profile=chill correctly suppresses MEDIUM/LOW/NITPICK sections - commands/review-pr.md: add text/markdown language tags to bare fences at Step 2.5 impact map block and Step 6a comment/suggestion blocks - docs/index.html: fix Parallel PR Agents stat 7→8; add security-reviewer and pr-walkthrough-writer rows to parallel agents table (was 6, now 8) - README.md: fix stale "6 個專項 agent" → "8 個專項 agent" in section 3
…iewer Step 3.5 and Step 4b exception rules were narrowed to security-reviewer only, violating CLAUDE.md Design Principle #6 ('CRITICAL 不可被移除,最多降為 HIGH' — no agent-source qualifier). Expand both rules back to 'any agent' and drop the redundant note on the security-reviewer list entry.
…add principles #6/#7 - Parallel agents table: remove misleading 'CRITICAL 不可被移除' from security-reviewer row (rule now applies to all agents, not just this one) - Design Principles: add #6 Verification gate (CRITICAL 最多降為 HIGH) and #7 NITPICK 分層 (--profile=chill skips MEDIUM/LOW/NITPICK) to align with CLAUDE.md which lists 7 principles
…position in CLAUDE.md - commands/review-pr.md: fix argument-hint from stale security|performance|types|tests to comments|tests|errors|types|code|simplify (matches usage text and agent mapping) - CLAUDE.md: add note to /review-pr 協作 section clarifying full 8-agent parallel list = code-reviewer + security-reviewer (通用主審) + 6 協作 agents
Replace stale security/performance focus values with the correct options: comments|tests|errors|types|code|simplify. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-review Collapse the 9 slash commands into one /code-review entry point that auto-detects the language/framework of changed files and dispatches the matching specialist reviewer agents — no per-language command needed. - Remove /review-pr and the 7 language commands (cpp/fastapi/flutter/go/ kotlin/python/rust); fold their multi-agent parallel + verification capability into /code-review. - Add Language/Framework Auto-Dispatch: by file extension (.py→python- reviewer, .go→go-reviewer, …), refined by content for frameworks (Django/FastAPI/Flutter). Detected-only, zero match = zero waste. - Both local and PR modes now run the same full pipeline (code-graph → 8 general agents + dispatched specialists → verification Phase 3.5 → aggregate). Local reports to terminal; PR publishes to GitHub/Bitbucket. - Keep --focus and --profile flags. - Sync CLAUDE.md, README.md, docs/index.html (badges/stats 9→1, architecture, sidebar, contributing guide). BREAKING CHANGE: /review-pr and all /<lang>-review commands are removed. Use /code-review for everything — language specialists are now dispatched automatically based on the changed files. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
plugin.json and marketplace.json described 24 reviewer agents (actual: 27) and parallel PR review commands; after the 9-to-1 refactor there is a single /code-review command that auto-dispatches language specialists. Sync all three description strings to match. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Audited the plugin against the plugin-dev skills (plugin-structure, agent-development) and applied the validated improvements: - Rewrite every agent description to the official triggering shape (Use this agent when... Typical triggers include... See When to invoke) and add a ## When to invoke body section with third-person scenario bullets. Improves auto-dispatch hit rate; passes validate-agent.sh with zero errors. - Fix verification-reviewer color orange -> yellow (orange is outside the official validator color set); sync the docs marker. - Open the six analyzer agent prompts in second person where missing. - Add homepage to plugin.json (parity with marketplace.json). - Document the triggering-format convention + validator command in CLAUDE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 16 minutes and 53 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (29)
📝 WalkthroughWalkthroughThis PR standardizes the documentation and metadata across 27 code-review agent prompts by expanding agent descriptions, adding structured "When to invoke" trigger sections, and updating the plugin manifest to reflect auto-dispatch capabilities. The verification-reviewer agent is repositioned as a final validation gate and recolored from orange to yellow throughout the UI and documentation. ChangesAgent prompt standardization and ecosystem metadata
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
變更摘要
- 27 個 agent 的
description統一改為官方 triggering 格式(Use this agent when…),每個 agent body 新增## When to invoke區塊(2–4 條第三人稱 prose bullet)。 verification-reviewer顏色由orange(非 validator 認可色)修正為yellow,相關文件(README、CLAUDE.md、docs/index.html)同步更新。plugin.json補上homepage欄位;manifest 描述中的 agent 數量從 24 修正為 27。
優點
27 個 agent 格式高度一致,## When to invoke 每條 bullet 都帶有具體情境描述,符合 CLAUDE.md 所記載的官方 triggering 格式。orange→yellow 修正是必要的 validator 合規修正。
問題與建議
CLAUDE.md:54 — 顏色備註括號內容與核准清單直接矛盾
Trigger: 下一位新增 agent 的開發者閱讀此行:
color: blue # 必填;官方 validator 認可:blue/cyan/green/yellow/magenta/red(避免 orange/purple/cyan 以外的色)
「避免 orange/purple/cyan 以外的色」的中文語義為「避免使用不屬於 orange、purple、cyan 的顏色」,即只允許 orange/purple/cyan 三色。但 orange 和 purple 均不在 validator 核准清單內(正確清單為 blue/cyan/green/yellow/magenta/red),cyan 才是核准色。若照此括號指引操作,開發者會選用 orange 或 purple,這兩種顏色正是本 PR 費力修正的問題根源。
Fix: 將括號更正為:
(orange 和 purple 非官方認可色,避免使用)
或直接刪除括號,因為前方的核准清單已足夠清晰。
結論
需修改(1 條 HIGH 建議:CLAUDE.md 備註括號語義錯誤,會誤導未來 agent 作者選用非合規顏色)
…format
Per the plugin-dev skill-development spec, skill descriptions should use
third person ("This skill should be used when...") with specific trigger
phrases so Claude activates them reliably. All three skills used the
wrong person or had no triggers:
- security-review: "Use this skill when..." -> third person, fuller triggers
- security-scan: content blurb -> "This skill should be used when the user
asks to scan .claude config / audit hooks/MCP/agents..."
- flutter-dart-code-review: content blurb -> "This skill should be used
when reviewing Flutter/Dart code or .dart changes..."
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
將 27 個 agent 的 frontmatter description 統一改寫為官方 plugin-dev triggering 格式(Use this agent when… Typical triggers include… See "When to invoke"…),並補上 ## When to invoke 區塊,提升自動 dispatch 命中率並通過官方 validate-agent.sh。同時修正 verification-reviewer 顏色(orange → yellow,validator 不認可的色),對齊文件中各處標記,並同步 plugin/marketplace 描述至實際的 27 agents / 1 command。
Changes:
- 27 個 agent 一致改採 triggering 格式 description +
## When to invoke區塊,並將部分 analyzer prompt 改為第二人稱 verification-reviewer顏色 orange → yellow,並同步更新README.md、CLAUDE.md、docs/index.html對應標記plugin.json新增homepage,並更新 plugin/marketplace 描述為 27 agents / 單一/code-reviewcommand;CLAUDE.md 文件化此 triggering 格式慣例
Reviewed changes
Copilot reviewed 35 out of 35 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
agents/*.md(24 個 reviewer + 3 個 analyzer,共 27 個) |
改寫 description 為官方 triggering 格式並補 ## When to invoke 區塊;verification-reviewer 額外將 color 由 orange 改為 yellow;analyzer agents 改第二人稱 |
CLAUDE.md |
更新 frontmatter 範例的 color/description 說明,新增 triggering 格式與 validator 指令;verification-reviewer 顏色標記同步為 yellow(但 line 89 顏色註解語意有誤) |
README.md |
將 verification-reviewer 表格的色標由 🟠 orange 改為 🟡 yellow |
docs/index.html |
將 verification-reviewer 卡片配色由 #b05a00 改為 #a06818(與 yellow 標識對齊) |
.claude-plugin/plugin.json |
描述更新為 27 agents / 單一 command,新增 homepage 欄位 |
.claude-plugin/marketplace.json |
metadata.description 與 plugins[0].description 同步為 27 agents / 單一 command |
| tools: [Read, Grep, Glob] # 建議;按需加 Bash, Write, Edit | ||
| model: sonnet # 建議;預設 sonnet;特殊:healthcare-reviewer 用 opus | ||
| color: green # 必填;green/blue/yellow/magenta/red/orange/purple/cyan/gray | ||
| color: blue # 必填;官方 validator 認可:blue/cyan/green/yellow/magenta/red(避免 orange/purple/cyan 以外的色) |
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@agents/code-graph-analyzer.md`:
- Line 3: The agent description currently references the stale command
"/review-pr Step 2.5"; update the description string in
agents/code-graph-analyzer.md to replace "/review-pr Step 2.5" with the unified
command "/code-review Phase 2.5" (or equivalent canonical phrasing used
elsewhere) so invocation guidance matches the repository's documented command
structure; search for the literal "/review-pr Step 2.5" in the description field
and change it to the approved "/code-review Phase 2.5" wording.
In `@agents/go-reviewer.md`:
- Around line 18-24: Move the "## When to invoke" section so it appears
immediately after the frontmatter (i.e., as the first top-level section), not
after "## Prompt Defense Baseline"; locate the existing "## When to invoke"
header and the "## Prompt Defense Baseline" header in agents/go-reviewer.md, cut
the entire "## When to invoke" block and paste it directly after the file
frontmatter, and ensure it contains 2–4 concise bullet points about when to run
the Go reviewer (preserve the existing bullets or trim to 2–4 if necessary).
In `@agents/pr-walkthrough-writer.md`:
- Around line 14-19: Move the "## When to invoke" heading and its content so it
appears immediately after the file frontmatter in
agents/pr-walkthrough-writer.md; locate the existing "## When to invoke" block
and the "## Prompt Defense Baseline" heading and cut the entire "## When to
invoke" section (including the three bullet points) and paste it directly above
"## Prompt Defense Baseline" so the "## When to invoke" section sits right after
the frontmatter as required by the agents/**/*.md guideline.
In `@agents/python-reviewer.md`:
- Around line 18-24: Move the "## When to invoke" section so it appears
immediately after the document frontmatter (before the "## Prompt Defense
Baseline" header), ensure the section header is exactly "## When to invoke", and
keep 2–4 concise bullet points like those in the diff (e.g., Python files
changed, Type-hint gaps, Non-Pythonic patterns, Security or error-handling
risks) to conform to the agents/**/*.md convention.
In `@agents/type-design-analyzer.md`:
- Around line 18-23: Move the "## When to invoke" section so it immediately
follows the frontmatter block at the top of agents/type-design-analyzer.md
(i.e., before the "## Prompt Defense Baseline" section), ensuring it contains
2–4 concise bullet points; specifically relocate the existing "## When to
invoke" header and its three bullets intact, confirm placement directly after
frontmatter, and verify the file now matches the agents/**/*.md guideline for
section ordering and bullet count.
In `@CLAUDE.md`:
- Line 89: Update the guidance text for the "color" field so it explicitly
states the allowed values and which are disallowed: replace the ambiguous
parenthetical with an unambiguous sentence like “Valid values: blue, cyan,
green, yellow, magenta, red (only these are accepted); orange and purple are not
valid.” Ensure this change targets the "color" guidance line and references the
allowed set (blue/cyan/green/yellow/magenta/red) and explicitly names orange and
purple as invalid.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: f474590a-5a3d-43de-905c-08bd82bbcc6f
📒 Files selected for processing (32)
.claude-plugin/marketplace.json.claude-plugin/plugin.jsonCLAUDE.mdREADME.mdagents/code-graph-analyzer.mdagents/code-reviewer.mdagents/code-simplifier.mdagents/comment-analyzer.mdagents/cpp-reviewer.mdagents/csharp-reviewer.mdagents/database-reviewer.mdagents/django-reviewer.mdagents/fastapi-reviewer.mdagents/flutter-reviewer.mdagents/fsharp-reviewer.mdagents/go-reviewer.mdagents/healthcare-reviewer.mdagents/java-reviewer.mdagents/kotlin-reviewer.mdagents/mle-reviewer.mdagents/network-config-reviewer.mdagents/pr-test-analyzer.mdagents/pr-walkthrough-writer.mdagents/python-reviewer.mdagents/rust-reviewer.mdagents/security-reviewer.mdagents/silent-failure-hunter.mdagents/swift-reviewer.mdagents/type-design-analyzer.mdagents/typescript-reviewer.mdagents/verification-reviewer.mddocs/index.html
There was a problem hiding this comment.
Code Review
變更摘要
- 將全部 27 個 agent 的
description欄位重寫為官方第三人稱 triggering 格式,並在每個 agent body 加入## When to invoke區塊,以提升自動 dispatch 命中率。 - 修正
verification-reviewer顏色:frontmatterorange→yellow,同步更新 README、docs、CLAUDE.md。 - 更新 manifest 描述(24 → 27 agents),
plugin.json新增homepage欄位;技能描述改寫為 "This skill should be used when…" 觸發格式。
優點
27 條重寫後的 description 格式一致、結構清晰,## When to invoke 的情境描述準確具體,通過官方 validator 0 errors 有意義地驗證了格式合規性。
問題與建議
CLAUDE.md(diff +54 行)— 顏色說明的括號補充語意相反,直接違背本 PR 修正目標
Trigger: 任何貢獻者照著 CLAUDE.md 新加的 frontmatter 範例說明選顏色時,讀到:
color: blue # 必填;官方 validator 認可:blue/cyan/green/yellow/magenta/red(避免 orange/purple/cyan 以外的色)
括號內 (避免 orange/purple/cyan 以外的色) 的語意是「只保留 orange/purple/cyan,其餘一律避開」,恰好與前半句認可列表相反——照字面理解會使用 orange(正是本 PR 要消除的錯誤色),且將 blue/green/yellow/magenta/red 全部列為「應避開」。
Fix: 將括號改為正向列舉排除項,例如:
color: blue # 必填;官方 validator 認可:blue/cyan/green/yellow/magenta/red(勿使用 orange/purple/gray)
結論
需修改(1 條 HIGH 建議)
…le ref Resolves findings from the PR #8 reviews (claude, Copilot, CodeRabbit): - Move ## When to invoke to immediately after frontmatter (before ## Prompt Defense Baseline) in the 7 agents where it was placed lower: go, python, rust, typescript reviewers + silent-failure-hunter, type-design-analyzer, pr-walkthrough-writer. Matches the documented agents/**/*.md convention; pure section move, no content change. - CLAUDE.md color note: reword the contradictory parenthetical so it clearly states only blue/cyan/green/yellow/magenta/red are valid and orange/purple/gray are not. - code-graph-analyzer description: drop the stale /review-pr Step 2.5 reference, keep /code-review Phase 2.5. Re-validated: validate-agent.sh 0 errors across all 27; When-to-invoke now precedes Prompt Defense Baseline in every agent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Review 回覆(49d8f70)感謝四位 reviewer。三項 actionable finding 已全部處理: 1. 2. CLAUDE.md 顏色備註語意矛盾(claude ×2 HIGH + Copilot) 3. code-graph-analyzer 殘留 驗證:官方 |
There was a problem hiding this comment.
Code Review
變更摘要
- 27 個 agent 的
description統一改寫為官方 triggering 格式(Use this agent when…),並在 body 新增## When to invoke區塊(2–4 條第三人稱 bullet),提升自動 dispatch 命中率。 verification-reviewer顏色從orange(非官方認可色)改為yellow,同步更新 agent frontmatter、CLAUDE.md、README.md、docs/index.html。plugin.json修正 agent 數量(24 → 27)、新增homepage欄位;marketplace.json同步修正描述。
優點
- 全部 27 個 agent frontmatter + body 格式一致,符合官方 validator 要求,且顏色限制(
blue/cyan/green/yellow/magenta/red)在所有修改後的檔案中均正確。 docs/index.html的 hex#a06818與其他 yellow/magenta 系列 agent 共用,符合既有設計系統,不產生視覺不一致。- 描述修正有實質內容(舊 "24"→新 "27"),manifest 資訊準確。
問題與建議
無 — 此 PR 通過 Phase 3 全部過濾。
結論
可合併(含 0 條建議)
…-review) Addresses findings from /code-review #8 (recall-biased pass) on this PR: - Restore the proactive-dispatch imperatives the triggering-format rewrite had stripped from 15 agent descriptions (verified 15 deleted, 0 retained): "MUST BE USED for X projects" on the language/framework reviewers, and "Use PROACTIVELY ..." on code-reviewer, security-reviewer, database-reviewer, code-graph-analyzer, verification-reviewer. Kept inside the official "Use this agent when... Typical triggers include..." format so both signals coexist. validate-agent.sh still 0 errors; all 27 still start with the required phrase. - docs/index.html: verification-reviewer card #a06818 (the --amber token, an orange shade) -> #9a8200 (true yellow) so the landing page matches the yellow label used in frontmatter/README/CLAUDE.md. - CLAUDE.md: document that descriptions must keep the imperative alongside the triggering format; note the validator requires the plugin-dev plugin and how to locate the script if the cache path differs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
變更摘要
- 所有 27 個 agent 的
description改寫為官方 triggering 格式,並新增## When to invokebody 區塊,提升自動 dispatch 命中率。 verification-reviewer顏色由orange改為yellow,符合官方 validator 認可色集,並同步更新 README、CLAUDE.md、docs/index.html。plugin.json補上homepage,manifest description 更正為 27 agents;CLAUDE.md 補充 triggering 格式規範與 validator 使用說明。
問題與建議
agents/fastapi-reviewer.md、flutter-reviewer.md、healthcare-reviewer.md、kotlin-reviewer.md、mle-reviewer.md、network-config-reviewer.md — CLAUDE.md 新規則與 6 個 agent 實際內容不一致
Trigger: 本 PR 在 CLAUDE.md(diff 行 61)明確寫入「語言/框架 agent 用 MUST BE USED for X projects.,描述務必包含 proactive imperative,否則自動 dispatch 命中率下降」。然而同一 PR 改寫這 6 個 language/framework specialist 的 description 後,均未加入任何 MUST BE USED 或 PROACTIVELY 強觸發語:
fastapi-reviewer:Use this agent when reviewing FastAPI applications…(無 imperative)flutter-reviewer:Use this agent when reviewing Flutter and Dart code…(無 imperative)healthcare-reviewer:Use this agent when reviewing healthcare application code…(無 imperative)kotlin-reviewer:Use this agent when reviewing Kotlin code…(無 imperative)mle-reviewer:Use this agent when reviewing production machine-learning engineering code…(無 imperative)network-config-reviewer:Use this agent when reviewing router and switch configurations…(無 imperative)
相較之下,cpp-reviewer、go-reviewer、python-reviewer 等 11 個同類 agent 都已加入,形成不一致狀態。這直接違反了本 PR 自己引入的規則,並對這 6 個 agent 的自動 dispatch 命中率造成影響。
Fix: 在每個缺少 imperative 的 agent description 末端(See "When to invoke"… 之前)補上對應的強觸發語,例如:
fastapi-reviewer:MUST BE USED for FastAPI projects.flutter-reviewer:MUST BE USED for Flutter projects.healthcare-reviewer:MUST BE USED for healthcare and EMR/EHR projects.kotlin-reviewer:MUST BE USED for Kotlin and Android/KMP projects.mle-reviewer:MUST BE USED for ML/MLOps projects.network-config-reviewer:MUST BE USED for network configuration reviews.
結論
需修改(1 條 HIGH 建議)
回應 PR #8 code review(HIGH):本 PR 在 CLAUDE.md 引入「語言/框架 agent 描述須含 MUST BE USED for X projects.」規則,但這 6 個 agent 改寫 description 後未加,與 cpp/go/python 等 11 個同類不一致,降低自動 dispatch 命中率。 於各 description 末(See "When to invoke" 之前)補上: - fastapi-reviewer: MUST BE USED for FastAPI projects. - flutter-reviewer: MUST BE USED for Flutter projects. - healthcare-reviewer: MUST BE USED for healthcare and EMR/EHR projects. - kotlin-reviewer: MUST BE USED for Kotlin and Android/KMP projects. - mle-reviewer: MUST BE USED for ML/MLOps projects. - network-config-reviewer: MUST BE USED for network configuration reviews. 官方 validate-agent.sh:6 檔全 PASS(exit 0)。
There was a problem hiding this comment.
Code Review
變更摘要
- 將全部 27 個 agent 的
description改寫為官方 triggering 格式(Use this agent when…),並在 body 新增## When to invoke區塊(2–4 條第三人稱 bullet)。 verification-reviewer的color從不合規的orange改為yellow,並同步更新 README.md、CLAUDE.md、docs/index.html。- 更新 plugin manifest(marketplace.json / plugin.json)的描述(24→27 agents),plugin.json 補充
homepage欄位。
優點
- 27 個 agent 全數套用相同格式,一致性高;proactive imperative(
MUST BE USED/Use PROACTIVELY)均保留,未因格式重構而遺失。 ## When to invokebullet 的情境描述具體(觸發條件 + agent 應做什麼),符合官方規範。verification-reviewer的 orange → yellow 修正正確,且跨三個檔案(agent frontmatter / README / docs)同步,無遺漏。
問題與建議
無 — 此 PR 通過 Phase 3 全部過濾。
在 chill profile(僅回報 HIGH / CRITICAL)下,未發現任何可觸發的高危問題:
- 所有 agent description 的事實陳述與現有 CLAUDE.md 計數(27 agents / 1 command / 3 skills)一致。
- 所有 agent 仍保有對應的強觸發語(語言/框架 agent →
MUST BE USED;主動型 agent →Use PROACTIVELY)。 - JSON schema 欄位正確,color 均在官方認可集合(blue/cyan/green/yellow/magenta/red)內。
- Skill description 改寫格式(
This skill should be used when…)三個 skill 一致,且不違反 CLAUDE.md 規範。
結論
可合併(含 0 條建議)
…" form Second self-review pass on PR #8 caught 3 LOW polish issues introduced by the previous imperative-restoration commit: - code-graph-analyzer: imperative "Use PROACTIVELY as the pre-computation step before parallel reviewers launch." tripled an already-stated concept. Shortened to "Use PROACTIVELY before launching parallel reviewers." - code-reviewer: imperative chained two clauses; "Use immediately after writing or modifying code;" duplicated the opener. Trimmed to just "MUST BE USED for all code changes." - java-reviewer: "MUST BE USED for all Java code changes." deviated from the "MUST BE USED for X projects." convention all other 9 language reviewers (and CLAUDE.md) use. Normalized to "MUST BE USED for Java projects." Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
變更摘要
- 全部 27 個 agent 的
description統一改寫為官方 triggering 格式(Use this agent when…),並在 frontmatter 後加入## When to invoke情境說明區塊,提升自動 dispatch 命中率。 verification-reviewer的color從不被 validator 認可的orange修正為yellow,同步更新 CLAUDE.md、README.md 和 docs/index.html。plugin.json補上homepage欄位,plugin.json與marketplace.json的描述文字一同修正為正確數字(27 agents / 1 command)。
優點
17 個語言/框架 agent 全數補上 MUST BE USED for X projects.;security-reviewer、database-reviewer、code-graph-analyzer、verification-reviewer 保留 Use PROACTIVELY——符合 CLAUDE.md 新增規則「triggering 格式與強觸發語必須並存」。官方 validator 0 錯誤通過。
問題與建議
無 — 此 PR 通過 Phase 3 全部過濾。
結論
可合併(含 0 條建議)
* docs: overhaul CLAUDE.md with actionable session guidance
Rewrites CLAUDE.md to serve as a genuine Claude Code session guide:
- Add no-build-steps declaration (pure Markdown content repo)
- Add branch workflow, commit type guide with Release Please impact
- Add version drift warning (plugin.json v1.2.0 vs marketplace.json v1.0.0)
- Add agent/skill frontmatter schema reference
- Add environment variables for Bitbucket PR review
- Document --focus options for /review-pr
- Remove discoverable-by-ls content (17 lang reviewer names, 7 predictable command mappings)
- Remove static GitHub repo metadata
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: fix Commands header count and remove stale version snapshot
- Remove "(9 個)" from Commands header (table only shows 2 key entries)
- Replace pinned version numbers with a grep command to verify sync;
specific versions rot once the drift is fixed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: improve CLAUDE.md with directory structure, full command list, and agent/command distinction
- Add directory structure overview with .claude-plugin/ explanation
- Add PR creation gh api commands for labels/assignee
- Enumerate all 17 language agents by name
- Expand Commands table to list all 9 language commands
- Note that 10 language agents have no corresponding /xxx-review command
- Add step 5 to "新增 Agent" checklist (update CLAUDE.md counts)
- Add step 4 to "新增 Command" checklist (update CLAUDE.md table)
* docs: improve CLAUDE.md accuracy and completeness
- Fix version sync section: Release Please auto-syncs via extra-files;
develop branch needs git merge origin/main after each release PR
- Add current version (v1.2.0) to project overview
- Add missing "新增 Skill" workflow (5 steps with subdirectory structure)
- Fix Plugin Manifest update guidance: version is auto-synced, only
keywords and description need manual updates
- Fix directory structure comment to reflect auto-sync mechanism
* docs: clarify plugin release trigger mechanism
Replace vague "push to main = 自動發布" with accurate flow:
feat/fix commits → Release Please opens release PR on main →
merging that PR triggers new version publish. Prevents confusion
where any push to main is expected to immediately publish.
* feat: add verification layer, incremental review, and linked issues context
Inspired by CodeRabbit's architecture research:
1. /review-pr — Verification layer (Step 4):
Replace simple dedupe with 5-step verification process:
contradiction filter, confidence filter (≥80%), FP guard,
and multi-agent agreement requirement. Batch delivery of
findings only after all agents complete verification.
2. /review-pr & /code-review — Linked issues context:
Fetch GitHub issues referenced in PR body (Fixes/Closes/
Resolves/Related to #N) and include issue title+description
as review context. Reduces false positives by giving agents
PR intent beyond just the diff.
3. /code-review — Incremental review mode (--from=<commit>):
New --from=<commit> flag limits review scope to files changed
since a given commit/branch (e.g. --from=main, --from=HEAD~3).
Avoids re-reviewing already-reviewed code on large branches.
* feat: add Code Graph simulation via systematic caller tracing
Closes the biggest recall gap vs CodeRabbit by adding explicit
caller tracing to all three review entry points:
- agents/code-reviewer.md: Expand Step 3 with Caller Tracing block —
grep for all call sites of modified exported symbols, read 3-5
most relevant callers before applying review checklist
- commands/review-pr.md: Step 2 now traces callers for each modified
exported symbol found in the diff before running parallel agents
- commands/code-review.md: GitHub PR Phase 2 CONTEXT gains Step 5
(Caller Tracing) after changed-files enumeration
All three skip private/test-only symbols to prevent context explosion.
* feat: inject linter output into review context before analysis begins
Phase 3 improvement: move static analysis from post-review validation
to pre-review context building, so agents review code with linter
signals already available.
- commands/code-review.md:
- Phase 2 gains Step 6 (Static Analysis): run tsc/lint/clippy/vet/ruff
before review starts, capture output (head -60 per tool)
- Phase 3 opens with cross-reference instruction: any file:line
already flagged by linter treated as elevated-confidence finding
- Phase 4 VALIDATE simplified to test + build only (lint/typecheck
already ran in Phase 2, results recorded there)
- commands/review-pr.md:
- Step 2 appends linter capture after caller tracing; output passed
as context when launching each parallel agent in Step 3
* feat: add structured walkthrough summary to review output
Matches CodeRabbit's approach of always producing a file-by-file
overview before listing findings, giving reviewers an at-a-glance
map of PR scope.
- commands/review-pr.md: new Step 5 generates a Walkthrough table
(file | change type | one-sentence summary) before posting findings;
old steps 5-6 renumbered to 6-7
- commands/code-review.md: Phase 6 REPORT template gains a Walkthrough
section between the decision header and the Summary paragraph
* fix: replace brace expansion with multiple --include flags in caller tracing grep
`--include="*.{ts,tsx,...}"` uses shell brace expansion which grep's fnmatch
does not support — the pattern is matched literally and returns no results,
silently breaking caller tracing. Replaced with individual --include flags in
commands/code-review.md and commands/review-pr.md to match agents/code-reviewer.md.
* fix: address Copilot review findings — grep -oP portability and incremental diff semantics
- Replace `grep -oP` (PCRE, unavailable on macOS BSD grep) with `perl -ne`
for linked-issue extraction in both code-review.md and review-pr.md;
also switch from `xargs` to `while read` to avoid executing `gh issue view`
with no arguments when no issues are linked
- Fix incremental review diff: `git diff --name-only <commit>..HEAD` excludes
uncommitted working-directory changes; drop `..HEAD` to compare <commit>
directly against the working tree, consistent with default Local Review Mode
* feat: CodeRabbit-parity upgrades — verification agent, effort score, review profiles, CI checks
Phase 1 quality improvements derived from CodeRabbit architecture research:
- Add verification-reviewer agent: second-pass gate that validates HIGH/CRITICAL
findings before output, mirroring CodeRabbit's Verification Agent pattern
- Fix review-pr.md Step 4b: CRITICAL findings from security-reviewer now always
bypass contradiction filter regardless of agent agreement count
- Add Step 3.5 verification pass to /review-pr pipeline; launches verification-
reviewer after parallel agents complete
- Add Review Effort score (1–5) to /review-pr walkthrough with rubric
- Add NITPICK severity tier to code-reviewer agent (below LOW, style-only)
- Add --profile=chill|assertive flag to /code-review (chill: CRITICAL+HIGH only;
assertive: all 5 levels including NITPICK, default)
- Add CI check reading (gh pr checks) to GitHub PR Mode Phase 2 as context;
failing checks elevate related code paths to priority review
- Upgrade HIGH/CRITICAL output format: require diff block + AI Implementation
Prompt for every actionable finding
- Update agent count to 25 across CLAUDE.md, README.md, docs/index.html
* fix: address Copilot review findings — linked issues multi-match, caller grep -n, pipefail guards
- Fix linked issues perl regex to capture all #N per matching line (handles
"Fixes #1, #2"); use while(/.../gi) loop instead of single-capture print
- Add read -r to while read loops to handle backslashes correctly
- Change caller tracing grep -l (filenames only) to -n (file:line:match) in
review-pr.md, code-review.md, and agents/code-reviewer.md — aligns with
the "read 3–5 most relevant callers" instruction
- Add || true to all static analysis commands (tsc, lint, clippy, vet, ruff)
to prevent pipefail environments from aborting context collection
- Clarify incremental mode: use git diff <commit> (not <commit>..HEAD) to
include uncommitted working tree changes; remove ambiguous Phase 2 reference
- CLAUDE.md: rename "Agent Frontmatter 必填欄位" to "建議欄位"; clarify
name/description/color are required, tools/model are recommended
* docs: update landing page for v1.2.0
- Bump version v1.1.0 → v1.2.0 in nav and footer
- Add verification-reviewer agent card (orange, 通用主審 section)
- Add NITPICK severity row to severity table
- Add --profile=chill|assertive to /code-review syntax and profile section
- Add Verification Pass (Step 3.5) and Walkthrough/Effort Score sections to /review-pr
* docs: update README and CLAUDE.md for v1.2.0 features
README.md:
- Add verification-reviewer to 通用主審 agents table
- Update architecture diagram to include verification-reviewer
- Update feature table: parallel review now mentions verification pass
CLAUDE.md:
- Add design principles 6 (verification gate) and 7 (NITPICK tier)
* docs: improve CLAUDE.md with quick-reference table and local verification guide
Add 常用操作速查 index table at top for faster session orientation, and
新增 本地驗證 section with commit checklist to prevent common omissions
(missing README/index.html/CLAUDE.md count updates after adding agents).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: improve CLAUDE.md — fix /reload-plugins format and clarify version sync trigger
- Move /reload-plugins out of bash block (it's a Claude Code slash command,
not a shell command) to prevent new contributors from running it in terminal
- Add count verification one-liner to detect stale agent/command/skill counts
- Add git log check to surface when develop branch needs version sync
* feat: upgrade review pipeline to CodeRabbit-parity quality
Phase 1 — Signal-to-Noise Filter + Evidence Gate:
- commands/code-review.md: severity-based delivery (CRITICAL/HIGH as inline
comments with suggestion blocks, MEDIUM as summary table, LOW/NITPICK as
collapsible <details>); Phase 6.5 auto-updates PR description with review
summary; Phase 1.5 CLASSIFY routes DOCS/CONFIG to Fast Path, LOGIC/SECURITY
to Slow Path; Phase 8 saves last-reviewed commit for incremental tracking;
Phase 2 Step 1 loads .claude/review-paths.yaml for path-based rules;
Bitbucket Phase 7 updated to match three-step severity delivery
- commands/review-pr.md: Step 5 posts walkthrough as dedicated first comment
(before findings) with optional Mermaid sequence diagram; Step 6 rewritten
to severity-based delivery with inline suggestion blocks; pr-walkthrough-writer
added to parallel agent list
- agents/verification-reviewer.md: Gates 1 and 3 now require mandatory Bash
commands (grep/Read) before any verdict; CONFIRMED output includes Evidence
and Caller check fields; Confidence Standard updated to require actual
command output
Phase 2 — New agent:
- agents/pr-walkthrough-writer.md: new agent that generates file-change table
and Mermaid sequence diagrams; used in /review-pr parallel step
Update counts: 25 → 26 agents, 6 → 7 parallel agents in /review-pr
* feat: add code-graph-analyzer agent with .claude/code-graph/ persistence
New agent performs sequential pre-computation before parallel reviewer
agents launch:
- L2: grep-based import dependency tracing (1 BFS hop) — identifies
files NOT in the diff but that depend on changed code
- L3: git log co-change risk analysis (last 50 commits) — surfaces
files historically paired with changed files but absent from this PR
- SHA-based cache in .claude/code-graph/ — reuses map across sessions
when HEAD commit matches; cache miss triggers fresh computation
Integration:
- /review-pr Step 2.5: runs code-graph-analyzer sequentially, injects
IMPACT_MAP into each parallel agent's prompt as context
- /code-review Phase 2.5: same pattern for local diff and PR modes
Also updates all documentation (README, CLAUDE.md, docs/index.html)
to reflect 27 agents total.
* fix: correct stale agent counts in docs — 26→27, 25→27, 六→七 parallel
Address claude-review HIGH finding and Copilot suppressed comments:
- docs/index.html meta description: 26-agent → 27-agent
- docs/index.html stat-num Parallel PR Agents: 6 → 7
- docs/index.html lead paragraph: 25 個 → 27 個
- docs/index.html feature list: 25 Reviewer → 27 Agent, 六並行 → 七並行
- docs/index.html parallel section description: 6 → 7 + add code graph context
- README.md architecture tree: 25 個 reviewer agents → 27 個 agent (×2)
* fix: address Copilot PR review findings (7 items)
- commands/code-review.md: unify Phase 1.5 \$NUMBER/\${NUMBER} → <NUMBER> placeholder
- commands/code-review.md: clarify .claude/review-paths.yaml is optional user-created file
- agents/verification-reviewer.md: add || true to Gate 1 and Gate 3 grep to survive set -e/pipefail
- agents/code-graph-analyzer.md: exclude test files (*.test.*, *.spec.*, __tests__) from L2b dependents scan
- agents/code-graph-analyzer.md: add .git and test file exclusions to require() style scan
- CLAUDE.md: clarify docs: goes to CHANGELOG but doesn't trigger version bump (not completely ignored)
* fix: patch 2 HIGH shell injection vulnerabilities
- commands/code-review.md Phase 6.5: replace --body "\$STRIPPED..." with
printf pipe to --body-file - to prevent shell injection from PR body
containing quotes or \$(command) subshells
- agents/code-graph-analyzer.md L3: pass \$FILE via env var (FILE="\$FILE"
python3) instead of interpolating into -c string, preventing injection
from malicious filenames with shell metacharacters
* fix: address Copilot PR review round 2 (4 items)
- agents/code-graph-analyzer.md: move node_modules/.git/test exclusions
from output filtering (| grep -v) to search stage (--exclude-dir/--exclude)
for faster scan within the 60s time budget
- agents/verification-reviewer.md: change Gate 3 grep from BRE \| to
ERE (-ERn with |) for portability; add --exclude-dir for node_modules/.git
- agents/pr-walkthrough-writer.md: wrap Step 5 example in 4-backtick
fence so inner ```mermaid block doesn't break the outer code fence
- commands/review-pr.md: add security-reviewer back to Step 3 parallel
agents list (was missing, causing contradiction with Step 3.5/4b
exception rules); update 七→八 agent count in CLAUDE.md/README/docs
* fix: address CodeRabbit review (6 items)
- commands/code-review.md: add text/markdown language tags to bare code
fences in Step 7a (MD040); add profile gate notes to Step 7b/7c so
--profile=chill correctly suppresses MEDIUM/LOW/NITPICK sections
- commands/review-pr.md: add text/markdown language tags to bare fences
at Step 2.5 impact map block and Step 6a comment/suggestion blocks
- docs/index.html: fix Parallel PR Agents stat 7→8; add security-reviewer
and pr-walkthrough-writer rows to parallel agents table (was 6, now 8)
- README.md: fix stale "6 個專項 agent" → "8 個專項 agent" in section 3
* fix: restore CRITICAL protection to all agents, not just security-reviewer
Step 3.5 and Step 4b exception rules were narrowed to security-reviewer
only, violating CLAUDE.md Design Principle #6 ('CRITICAL 不可被移除,最多降為
HIGH' — no agent-source qualifier). Expand both rules back to 'any agent'
and drop the redundant note on the security-reviewer list entry.
* docs: fix index.html — remove stale security-reviewer CRITICAL note, add principles #6/#7
- Parallel agents table: remove misleading 'CRITICAL 不可被移除' from
security-reviewer row (rule now applies to all agents, not just this one)
- Design Principles: add #6 Verification gate (CRITICAL 最多降為 HIGH) and
#7 NITPICK 分層 (--profile=chill skips MEDIUM/LOW/NITPICK) to align with
CLAUDE.md which lists 7 principles
* fix: sync review-pr argument-hint and clarify /review-pr parallel composition in CLAUDE.md
- commands/review-pr.md: fix argument-hint from stale security|performance|types|tests
to comments|tests|errors|types|code|simplify (matches usage text and agent mapping)
- CLAUDE.md: add note to /review-pr 協作 section clarifying full 8-agent parallel list
= code-reviewer + security-reviewer (通用主審) + 6 協作 agents
* docs: update /review-pr --focus examples to match argument-hint
Replace stale security/performance focus values with the correct
options: comments|tests|errors|types|code|simplify.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: update README --focus examples and add design principles #6-#7
- Fix stale --focus values (security/performance → comments/errors/code/simplify)
- Add principle #6: Verification gate (CRITICAL cannot be dropped)
- Add principle #7: NITPICK 分層 (--profile=chill vs assertive)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: address code review findings — CRITICAL protection, grep safety, incremental clarity, L2 language coverage
- verification-reviewer: INVALID/FALSE POSITIVE verdicts now demote CRITICAL to HIGH instead of removing entirely; protection extended from security-reviewer-only to all agents
- verification-reviewer Gate 1: use -F (fixed-string) grep to prevent regex metacharacters in finding descriptions causing false INVALID demotions
- verification-reviewer Gate 3: use -r instead of -R to prevent symlink infinite loops in pnpm monorepos
- code-review Phase 5: add explicit CRITICAL_COUNT/HIGH_COUNT/MEDIUM_COUNT/LOW_COUNT counting step so Phase 6.5 SUMMARY_BLOCK has real values instead of empty strings
- code-review Phase 1.5: reframe incremental detection as skip-if-unchanged gate (not diff-scoping), add explanatory note; store LOGIC_FILES/SECURITY_FILES in arrays instead of echo-only
- code-review Phase 2.5: pass ${LOGIC_FILES[@]} and ${SECURITY_FILES[@]} arrays explicitly to code-graph-analyzer
- code-graph-analyzer Step 2b: add language-specific import patterns for Python, Java/Kotlin, Rust, Swift, C#, Ruby, PHP; add --include=*.rb and --include=*.php to fix silent gap for files classified as LOGIC
- docs/index.html: add 前置分析 sidebar nav link pointing to #agents-graph section
* docs: update landing page — verification-reviewer CRITICAL protection + code-graph-analyzer multi-language L2 coverage
* fix: address code review findings — LOGIC extensions and bash tag
- Add missing file extensions (.cpp/.dart/.vue etc.) to LOGIC case in
Phase 1.5 classifier; previously C++ and Flutter PRs fell through to
OTHER and triggered the Fast Path, causing logic review to be silently
skipped (#4372102283, claude[bot] HIGH)
- Add bash language tag to /review-pr example code block in README.md
(#4372111736, CodeRabbit)
* fix: address code review findings — 15 correctness and structural bugs
Fixes 15 bugs found by /code-review #4 across the multi-agent PR review pipeline:
**verification-reviewer**: UNCERTAIN verdict now includes CRITICAL carve-out,
preventing silent removal of CRITICAL findings (were silently dropped before).
**review-pr**: Step 4b exception now explicitly covers CRITICAL→HIGH demotions
by verification-reviewer; Step 4f defines LOW_COUNT/LOW_NITPICK_LIST variables;
Step 3 adds --focus filtering table; Step 3 captures pr-walkthrough-writer output
as WALKTHROUGH_OUTPUT; Step 5a references WALKTHROUGH_OUTPUT; Step 6b adds BLOCK
tier for CRITICAL; Step 6c Bitbucket uses LOW_NITPICK_LIST; Steps 7–9 added
(idempotent PR description update + findings report + gated SHA tracking);
file classification added with SECURITY before TEST classifier order.
**code-review**: Fast Path contradiction resolved (skip Phases 2–5, secret scan
only); Phase 8 SHA write gated on Phase 7 success; SECURITY classifier moved
before TEST; bash arrays replaced with portable space-separated strings;
`git rev-parse --short` fixed to `--short=8`; orphan cr-summary:start tag
cleanup added to Phase 6.5 python3 snippet.
**code-graph-analyzer**: Step 5 heredoc replaced with Write tool instruction
so actual generated content is cached instead of literal placeholder text.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: address second code review pass — 15 correctness and structural fixes
- code-review.md: Fast Path now jumps to Phase 7 (gh pr review --approve) instead
of Phase 6 (local artifact only); LOW_NITPICK_LIST added to Phase 5 count block;
BLOCK header prepend code added to Phase 7b for CRITICAL findings; CI check item 7
moved inside Phase 2 (before Phase 2.5); CRLF-safe tr -d '\r' in CHANGED_FILES;
Phase 8 SHA-save gated with executable if [ REVIEW_EXIT -eq 0 ]
- review-pr.md: skip-if-unchanged check physically moved before Step 1 (was a
deferred instruction at Step 9); headRefOid added to Step 1 gh pr view --json
for cache key availability; BLOCK header prepend code added to Step 6b; Step 3.5
now explicitly carries forward UNCERTAIN HIGH→MEDIUM findings (not CONFIRMED-only);
unknown --focus value validation added with error message; CRLF-safe tr -d '\r';
Step 9 SHA-save gated with executable conditional
- code-graph-analyzer.md: cache-hit stop gate made emphatic (bold warning, explicit
"Do NOT proceed to Steps 2–5"); L2 basename grep patterns anchored — JS/TS now
requires BASENAME preceded by / or quote; Python/Java/Kotlin/Rust use \b word
boundaries to prevent substring false positives
- verification-reviewer.md: INVALID row split — "FIXED IN THIS PR" is a new verdict
that removes findings at any severity (PR itself is the fix); Gate 1 teaches agent
to distinguish never-existed vs fixed-in-diff; UNCERTAIN HIGH demotion criterion
made concrete (objectively risky pattern required, not just unclear trigger)
* docs: sync verification-reviewer semantics across all documentation
Update docs/index.html, CLAUDE.md, and README.md to accurately reflect
the current behavior of verification-reviewer and /review-pr Step 3.5:
- Step 3.5 now carries forward UNCERTAIN HIGH→MEDIUM findings in addition
to CONFIRMED findings (previously stated "only confirmed survive")
- New "FIXED IN THIS PR" verdict removes findings at any severity when
the issue is resolved by another hunk in the same diff (no CRITICAL
protection applies here — the PR itself is the fix)
- verification-reviewer description updated to list all three outcomes:
CONFIRMED kept, UNCERTAIN→MEDIUM kept, FIXED IN THIS PR removed
* docs: sync version string to v1.3.0 in CLAUDE.md and landing page
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat!: unify all review commands into a single auto-dispatching /code-review
Collapse the 9 slash commands into one /code-review entry point that
auto-detects the language/framework of changed files and dispatches the
matching specialist reviewer agents — no per-language command needed.
- Remove /review-pr and the 7 language commands (cpp/fastapi/flutter/go/
kotlin/python/rust); fold their multi-agent parallel + verification
capability into /code-review.
- Add Language/Framework Auto-Dispatch: by file extension (.py→python-
reviewer, .go→go-reviewer, …), refined by content for frameworks
(Django/FastAPI/Flutter). Detected-only, zero match = zero waste.
- Both local and PR modes now run the same full pipeline (code-graph →
8 general agents + dispatched specialists → verification Phase 3.5 →
aggregate). Local reports to terminal; PR publishes to GitHub/Bitbucket.
- Keep --focus and --profile flags.
- Sync CLAUDE.md, README.md, docs/index.html (badges/stats 9→1,
architecture, sidebar, contributing guide).
BREAKING CHANGE: /review-pr and all /<lang>-review commands are removed.
Use /code-review for everything — language specialists are now dispatched
automatically based on the changed files.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* chore: correct plugin manifest descriptions (27 agents, single command)
plugin.json and marketplace.json described 24 reviewer agents (actual: 27)
and parallel PR review commands; after the 9-to-1 refactor there is a single
/code-review command that auto-dispatches language specialists. Sync all
three description strings to match.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat: align all 27 agents with official plugin-dev triggering format
Audited the plugin against the plugin-dev skills (plugin-structure,
agent-development) and applied the validated improvements:
- Rewrite every agent description to the official triggering shape
(Use this agent when... Typical triggers include... See When to invoke)
and add a ## When to invoke body section with third-person scenario
bullets. Improves auto-dispatch hit rate; passes validate-agent.sh with
zero errors.
- Fix verification-reviewer color orange -> yellow (orange is outside the
official validator color set); sync the docs marker.
- Open the six analyzer agent prompts in second person where missing.
- Add homepage to plugin.json (parity with marketplace.json).
- Document the triggering-format convention + validator command in CLAUDE.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat: rewrite skill descriptions to official third-person triggering format
Per the plugin-dev skill-development spec, skill descriptions should use
third person ("This skill should be used when...") with specific trigger
phrases so Claude activates them reliably. All three skills used the
wrong person or had no triggers:
- security-review: "Use this skill when..." -> third person, fuller triggers
- security-scan: content blurb -> "This skill should be used when the user
asks to scan .claude config / audit hooks/MCP/agents..."
- flutter-dart-code-review: content blurb -> "This skill should be used
when reviewing Flutter/Dart code or .dart changes..."
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* fix: address PR #8 review — When-to-invoke placement, color note, stale ref
Resolves findings from the PR #8 reviews (claude, Copilot, CodeRabbit):
- Move ## When to invoke to immediately after frontmatter (before
## Prompt Defense Baseline) in the 7 agents where it was placed lower:
go, python, rust, typescript reviewers + silent-failure-hunter,
type-design-analyzer, pr-walkthrough-writer. Matches the documented
agents/**/*.md convention; pure section move, no content change.
- CLAUDE.md color note: reword the contradictory parenthetical so it
clearly states only blue/cyan/green/yellow/magenta/red are valid and
orange/purple/gray are not.
- code-graph-analyzer description: drop the stale /review-pr Step 2.5
reference, keep /code-review Phase 2.5.
Re-validated: validate-agent.sh 0 errors across all 27; When-to-invoke
now precedes Prompt Defense Baseline in every agent.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* fix: restore proactive dispatch imperatives + true-yellow color (self-review)
Addresses findings from /code-review #8 (recall-biased pass) on this PR:
- Restore the proactive-dispatch imperatives the triggering-format rewrite
had stripped from 15 agent descriptions (verified 15 deleted, 0 retained):
"MUST BE USED for X projects" on the language/framework reviewers, and
"Use PROACTIVELY ..." on code-reviewer, security-reviewer, database-reviewer,
code-graph-analyzer, verification-reviewer. Kept inside the official
"Use this agent when... Typical triggers include..." format so both signals
coexist. validate-agent.sh still 0 errors; all 27 still start with the
required phrase.
- docs/index.html: verification-reviewer card #a06818 (the --amber token, an
orange shade) -> #9a8200 (true yellow) so the landing page matches the
yellow label used in frontmatter/README/CLAUDE.md.
- CLAUDE.md: document that descriptions must keep the imperative alongside the
triggering format; note the validator requires the plugin-dev plugin and how
to locate the script if the cache path differs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* fix(agents): 補上 6 個 language/framework agent 缺漏的 MUST BE USED 強觸發語
回應 PR #8 code review(HIGH):本 PR 在 CLAUDE.md 引入「語言/框架 agent 描述須含
MUST BE USED for X projects.」規則,但這 6 個 agent 改寫 description 後未加,與
cpp/go/python 等 11 個同類不一致,降低自動 dispatch 命中率。
於各 description 末(See "When to invoke" 之前)補上:
- fastapi-reviewer: MUST BE USED for FastAPI projects.
- flutter-reviewer: MUST BE USED for Flutter projects.
- healthcare-reviewer: MUST BE USED for healthcare and EMR/EHR projects.
- kotlin-reviewer: MUST BE USED for Kotlin and Android/KMP projects.
- mle-reviewer: MUST BE USED for ML/MLOps projects.
- network-config-reviewer: MUST BE USED for network configuration reviews.
官方 validate-agent.sh:6 檔全 PASS(exit 0)。
* fix: trim redundant imperatives and normalize java to "for X projects" form
Second self-review pass on PR #8 caught 3 LOW polish issues introduced
by the previous imperative-restoration commit:
- code-graph-analyzer: imperative "Use PROACTIVELY as the pre-computation
step before parallel reviewers launch." tripled an already-stated concept.
Shortened to "Use PROACTIVELY before launching parallel reviewers."
- code-reviewer: imperative chained two clauses; "Use immediately after
writing or modifying code;" duplicated the opener. Trimmed to just
"MUST BE USED for all code changes."
- java-reviewer: "MUST BE USED for all Java code changes." deviated from
the "MUST BE USED for X projects." convention all other 9 language
reviewers (and CLAUDE.md) use. Normalized to "MUST BE USED for Java
projects."
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: sync version string to v2.0.0 in CLAUDE.md and landing page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…w command (#11) * docs: overhaul CLAUDE.md with actionable session guidance Rewrites CLAUDE.md to serve as a genuine Claude Code session guide: - Add no-build-steps declaration (pure Markdown content repo) - Add branch workflow, commit type guide with Release Please impact - Add version drift warning (plugin.json v1.2.0 vs marketplace.json v1.0.0) - Add agent/skill frontmatter schema reference - Add environment variables for Bitbucket PR review - Document --focus options for /review-pr - Remove discoverable-by-ls content (17 lang reviewer names, 7 predictable command mappings) - Remove static GitHub repo metadata Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: fix Commands header count and remove stale version snapshot - Remove "(9 個)" from Commands header (table only shows 2 key entries) - Replace pinned version numbers with a grep command to verify sync; specific versions rot once the drift is fixed Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: improve CLAUDE.md with directory structure, full command list, and agent/command distinction - Add directory structure overview with .claude-plugin/ explanation - Add PR creation gh api commands for labels/assignee - Enumerate all 17 language agents by name - Expand Commands table to list all 9 language commands - Note that 10 language agents have no corresponding /xxx-review command - Add step 5 to "新增 Agent" checklist (update CLAUDE.md counts) - Add step 4 to "新增 Command" checklist (update CLAUDE.md table) * docs: improve CLAUDE.md accuracy and completeness - Fix version sync section: Release Please auto-syncs via extra-files; develop branch needs git merge origin/main after each release PR - Add current version (v1.2.0) to project overview - Add missing "新增 Skill" workflow (5 steps with subdirectory structure) - Fix Plugin Manifest update guidance: version is auto-synced, only keywords and description need manual updates - Fix directory structure comment to reflect auto-sync mechanism * docs: clarify plugin release trigger mechanism Replace vague "push to main = 自動發布" with accurate flow: feat/fix commits → Release Please opens release PR on main → merging that PR triggers new version publish. Prevents confusion where any push to main is expected to immediately publish. * feat: add verification layer, incremental review, and linked issues context Inspired by CodeRabbit's architecture research: 1. /review-pr — Verification layer (Step 4): Replace simple dedupe with 5-step verification process: contradiction filter, confidence filter (≥80%), FP guard, and multi-agent agreement requirement. Batch delivery of findings only after all agents complete verification. 2. /review-pr & /code-review — Linked issues context: Fetch GitHub issues referenced in PR body (Fixes/Closes/ Resolves/Related to #N) and include issue title+description as review context. Reduces false positives by giving agents PR intent beyond just the diff. 3. /code-review — Incremental review mode (--from=<commit>): New --from=<commit> flag limits review scope to files changed since a given commit/branch (e.g. --from=main, --from=HEAD~3). Avoids re-reviewing already-reviewed code on large branches. * feat: add Code Graph simulation via systematic caller tracing Closes the biggest recall gap vs CodeRabbit by adding explicit caller tracing to all three review entry points: - agents/code-reviewer.md: Expand Step 3 with Caller Tracing block — grep for all call sites of modified exported symbols, read 3-5 most relevant callers before applying review checklist - commands/review-pr.md: Step 2 now traces callers for each modified exported symbol found in the diff before running parallel agents - commands/code-review.md: GitHub PR Phase 2 CONTEXT gains Step 5 (Caller Tracing) after changed-files enumeration All three skip private/test-only symbols to prevent context explosion. * feat: inject linter output into review context before analysis begins Phase 3 improvement: move static analysis from post-review validation to pre-review context building, so agents review code with linter signals already available. - commands/code-review.md: - Phase 2 gains Step 6 (Static Analysis): run tsc/lint/clippy/vet/ruff before review starts, capture output (head -60 per tool) - Phase 3 opens with cross-reference instruction: any file:line already flagged by linter treated as elevated-confidence finding - Phase 4 VALIDATE simplified to test + build only (lint/typecheck already ran in Phase 2, results recorded there) - commands/review-pr.md: - Step 2 appends linter capture after caller tracing; output passed as context when launching each parallel agent in Step 3 * feat: add structured walkthrough summary to review output Matches CodeRabbit's approach of always producing a file-by-file overview before listing findings, giving reviewers an at-a-glance map of PR scope. - commands/review-pr.md: new Step 5 generates a Walkthrough table (file | change type | one-sentence summary) before posting findings; old steps 5-6 renumbered to 6-7 - commands/code-review.md: Phase 6 REPORT template gains a Walkthrough section between the decision header and the Summary paragraph * fix: replace brace expansion with multiple --include flags in caller tracing grep `--include="*.{ts,tsx,...}"` uses shell brace expansion which grep's fnmatch does not support — the pattern is matched literally and returns no results, silently breaking caller tracing. Replaced with individual --include flags in commands/code-review.md and commands/review-pr.md to match agents/code-reviewer.md. * fix: address Copilot review findings — grep -oP portability and incremental diff semantics - Replace `grep -oP` (PCRE, unavailable on macOS BSD grep) with `perl -ne` for linked-issue extraction in both code-review.md and review-pr.md; also switch from `xargs` to `while read` to avoid executing `gh issue view` with no arguments when no issues are linked - Fix incremental review diff: `git diff --name-only <commit>..HEAD` excludes uncommitted working-directory changes; drop `..HEAD` to compare <commit> directly against the working tree, consistent with default Local Review Mode * feat: CodeRabbit-parity upgrades — verification agent, effort score, review profiles, CI checks Phase 1 quality improvements derived from CodeRabbit architecture research: - Add verification-reviewer agent: second-pass gate that validates HIGH/CRITICAL findings before output, mirroring CodeRabbit's Verification Agent pattern - Fix review-pr.md Step 4b: CRITICAL findings from security-reviewer now always bypass contradiction filter regardless of agent agreement count - Add Step 3.5 verification pass to /review-pr pipeline; launches verification- reviewer after parallel agents complete - Add Review Effort score (1–5) to /review-pr walkthrough with rubric - Add NITPICK severity tier to code-reviewer agent (below LOW, style-only) - Add --profile=chill|assertive flag to /code-review (chill: CRITICAL+HIGH only; assertive: all 5 levels including NITPICK, default) - Add CI check reading (gh pr checks) to GitHub PR Mode Phase 2 as context; failing checks elevate related code paths to priority review - Upgrade HIGH/CRITICAL output format: require diff block + AI Implementation Prompt for every actionable finding - Update agent count to 25 across CLAUDE.md, README.md, docs/index.html * fix: address Copilot review findings — linked issues multi-match, caller grep -n, pipefail guards - Fix linked issues perl regex to capture all #N per matching line (handles "Fixes #1, #2"); use while(/.../gi) loop instead of single-capture print - Add read -r to while read loops to handle backslashes correctly - Change caller tracing grep -l (filenames only) to -n (file:line:match) in review-pr.md, code-review.md, and agents/code-reviewer.md — aligns with the "read 3–5 most relevant callers" instruction - Add || true to all static analysis commands (tsc, lint, clippy, vet, ruff) to prevent pipefail environments from aborting context collection - Clarify incremental mode: use git diff <commit> (not <commit>..HEAD) to include uncommitted working tree changes; remove ambiguous Phase 2 reference - CLAUDE.md: rename "Agent Frontmatter 必填欄位" to "建議欄位"; clarify name/description/color are required, tools/model are recommended * docs: update landing page for v1.2.0 - Bump version v1.1.0 → v1.2.0 in nav and footer - Add verification-reviewer agent card (orange, 通用主審 section) - Add NITPICK severity row to severity table - Add --profile=chill|assertive to /code-review syntax and profile section - Add Verification Pass (Step 3.5) and Walkthrough/Effort Score sections to /review-pr * docs: update README and CLAUDE.md for v1.2.0 features README.md: - Add verification-reviewer to 通用主審 agents table - Update architecture diagram to include verification-reviewer - Update feature table: parallel review now mentions verification pass CLAUDE.md: - Add design principles 6 (verification gate) and 7 (NITPICK tier) * docs: improve CLAUDE.md with quick-reference table and local verification guide Add 常用操作速查 index table at top for faster session orientation, and 新增 本地驗證 section with commit checklist to prevent common omissions (missing README/index.html/CLAUDE.md count updates after adding agents). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: improve CLAUDE.md — fix /reload-plugins format and clarify version sync trigger - Move /reload-plugins out of bash block (it's a Claude Code slash command, not a shell command) to prevent new contributors from running it in terminal - Add count verification one-liner to detect stale agent/command/skill counts - Add git log check to surface when develop branch needs version sync * feat: upgrade review pipeline to CodeRabbit-parity quality Phase 1 — Signal-to-Noise Filter + Evidence Gate: - commands/code-review.md: severity-based delivery (CRITICAL/HIGH as inline comments with suggestion blocks, MEDIUM as summary table, LOW/NITPICK as collapsible <details>); Phase 6.5 auto-updates PR description with review summary; Phase 1.5 CLASSIFY routes DOCS/CONFIG to Fast Path, LOGIC/SECURITY to Slow Path; Phase 8 saves last-reviewed commit for incremental tracking; Phase 2 Step 1 loads .claude/review-paths.yaml for path-based rules; Bitbucket Phase 7 updated to match three-step severity delivery - commands/review-pr.md: Step 5 posts walkthrough as dedicated first comment (before findings) with optional Mermaid sequence diagram; Step 6 rewritten to severity-based delivery with inline suggestion blocks; pr-walkthrough-writer added to parallel agent list - agents/verification-reviewer.md: Gates 1 and 3 now require mandatory Bash commands (grep/Read) before any verdict; CONFIRMED output includes Evidence and Caller check fields; Confidence Standard updated to require actual command output Phase 2 — New agent: - agents/pr-walkthrough-writer.md: new agent that generates file-change table and Mermaid sequence diagrams; used in /review-pr parallel step Update counts: 25 → 26 agents, 6 → 7 parallel agents in /review-pr * feat: add code-graph-analyzer agent with .claude/code-graph/ persistence New agent performs sequential pre-computation before parallel reviewer agents launch: - L2: grep-based import dependency tracing (1 BFS hop) — identifies files NOT in the diff but that depend on changed code - L3: git log co-change risk analysis (last 50 commits) — surfaces files historically paired with changed files but absent from this PR - SHA-based cache in .claude/code-graph/ — reuses map across sessions when HEAD commit matches; cache miss triggers fresh computation Integration: - /review-pr Step 2.5: runs code-graph-analyzer sequentially, injects IMPACT_MAP into each parallel agent's prompt as context - /code-review Phase 2.5: same pattern for local diff and PR modes Also updates all documentation (README, CLAUDE.md, docs/index.html) to reflect 27 agents total. * fix: correct stale agent counts in docs — 26→27, 25→27, 六→七 parallel Address claude-review HIGH finding and Copilot suppressed comments: - docs/index.html meta description: 26-agent → 27-agent - docs/index.html stat-num Parallel PR Agents: 6 → 7 - docs/index.html lead paragraph: 25 個 → 27 個 - docs/index.html feature list: 25 Reviewer → 27 Agent, 六並行 → 七並行 - docs/index.html parallel section description: 6 → 7 + add code graph context - README.md architecture tree: 25 個 reviewer agents → 27 個 agent (×2) * fix: address Copilot PR review findings (7 items) - commands/code-review.md: unify Phase 1.5 \$NUMBER/\${NUMBER} → <NUMBER> placeholder - commands/code-review.md: clarify .claude/review-paths.yaml is optional user-created file - agents/verification-reviewer.md: add || true to Gate 1 and Gate 3 grep to survive set -e/pipefail - agents/code-graph-analyzer.md: exclude test files (*.test.*, *.spec.*, __tests__) from L2b dependents scan - agents/code-graph-analyzer.md: add .git and test file exclusions to require() style scan - CLAUDE.md: clarify docs: goes to CHANGELOG but doesn't trigger version bump (not completely ignored) * fix: patch 2 HIGH shell injection vulnerabilities - commands/code-review.md Phase 6.5: replace --body "\$STRIPPED..." with printf pipe to --body-file - to prevent shell injection from PR body containing quotes or \$(command) subshells - agents/code-graph-analyzer.md L3: pass \$FILE via env var (FILE="\$FILE" python3) instead of interpolating into -c string, preventing injection from malicious filenames with shell metacharacters * fix: address Copilot PR review round 2 (4 items) - agents/code-graph-analyzer.md: move node_modules/.git/test exclusions from output filtering (| grep -v) to search stage (--exclude-dir/--exclude) for faster scan within the 60s time budget - agents/verification-reviewer.md: change Gate 3 grep from BRE \| to ERE (-ERn with |) for portability; add --exclude-dir for node_modules/.git - agents/pr-walkthrough-writer.md: wrap Step 5 example in 4-backtick fence so inner ```mermaid block doesn't break the outer code fence - commands/review-pr.md: add security-reviewer back to Step 3 parallel agents list (was missing, causing contradiction with Step 3.5/4b exception rules); update 七→八 agent count in CLAUDE.md/README/docs * fix: address CodeRabbit review (6 items) - commands/code-review.md: add text/markdown language tags to bare code fences in Step 7a (MD040); add profile gate notes to Step 7b/7c so --profile=chill correctly suppresses MEDIUM/LOW/NITPICK sections - commands/review-pr.md: add text/markdown language tags to bare fences at Step 2.5 impact map block and Step 6a comment/suggestion blocks - docs/index.html: fix Parallel PR Agents stat 7→8; add security-reviewer and pr-walkthrough-writer rows to parallel agents table (was 6, now 8) - README.md: fix stale "6 個專項 agent" → "8 個專項 agent" in section 3 * fix: restore CRITICAL protection to all agents, not just security-reviewer Step 3.5 and Step 4b exception rules were narrowed to security-reviewer only, violating CLAUDE.md Design Principle #6 ('CRITICAL 不可被移除,最多降為 HIGH' — no agent-source qualifier). Expand both rules back to 'any agent' and drop the redundant note on the security-reviewer list entry. * docs: fix index.html — remove stale security-reviewer CRITICAL note, add principles #6/#7 - Parallel agents table: remove misleading 'CRITICAL 不可被移除' from security-reviewer row (rule now applies to all agents, not just this one) - Design Principles: add #6 Verification gate (CRITICAL 最多降為 HIGH) and #7 NITPICK 分層 (--profile=chill skips MEDIUM/LOW/NITPICK) to align with CLAUDE.md which lists 7 principles * fix: sync review-pr argument-hint and clarify /review-pr parallel composition in CLAUDE.md - commands/review-pr.md: fix argument-hint from stale security|performance|types|tests to comments|tests|errors|types|code|simplify (matches usage text and agent mapping) - CLAUDE.md: add note to /review-pr 協作 section clarifying full 8-agent parallel list = code-reviewer + security-reviewer (通用主審) + 6 協作 agents * docs: update /review-pr --focus examples to match argument-hint Replace stale security/performance focus values with the correct options: comments|tests|errors|types|code|simplify. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: update README --focus examples and add design principles #6-#7 - Fix stale --focus values (security/performance → comments/errors/code/simplify) - Add principle #6: Verification gate (CRITICAL cannot be dropped) - Add principle #7: NITPICK 分層 (--profile=chill vs assertive) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: address code review findings — CRITICAL protection, grep safety, incremental clarity, L2 language coverage - verification-reviewer: INVALID/FALSE POSITIVE verdicts now demote CRITICAL to HIGH instead of removing entirely; protection extended from security-reviewer-only to all agents - verification-reviewer Gate 1: use -F (fixed-string) grep to prevent regex metacharacters in finding descriptions causing false INVALID demotions - verification-reviewer Gate 3: use -r instead of -R to prevent symlink infinite loops in pnpm monorepos - code-review Phase 5: add explicit CRITICAL_COUNT/HIGH_COUNT/MEDIUM_COUNT/LOW_COUNT counting step so Phase 6.5 SUMMARY_BLOCK has real values instead of empty strings - code-review Phase 1.5: reframe incremental detection as skip-if-unchanged gate (not diff-scoping), add explanatory note; store LOGIC_FILES/SECURITY_FILES in arrays instead of echo-only - code-review Phase 2.5: pass ${LOGIC_FILES[@]} and ${SECURITY_FILES[@]} arrays explicitly to code-graph-analyzer - code-graph-analyzer Step 2b: add language-specific import patterns for Python, Java/Kotlin, Rust, Swift, C#, Ruby, PHP; add --include=*.rb and --include=*.php to fix silent gap for files classified as LOGIC - docs/index.html: add 前置分析 sidebar nav link pointing to #agents-graph section * docs: update landing page — verification-reviewer CRITICAL protection + code-graph-analyzer multi-language L2 coverage * fix: address code review findings — LOGIC extensions and bash tag - Add missing file extensions (.cpp/.dart/.vue etc.) to LOGIC case in Phase 1.5 classifier; previously C++ and Flutter PRs fell through to OTHER and triggered the Fast Path, causing logic review to be silently skipped (#4372102283, claude[bot] HIGH) - Add bash language tag to /review-pr example code block in README.md (#4372111736, CodeRabbit) * fix: address code review findings — 15 correctness and structural bugs Fixes 15 bugs found by /code-review #4 across the multi-agent PR review pipeline: **verification-reviewer**: UNCERTAIN verdict now includes CRITICAL carve-out, preventing silent removal of CRITICAL findings (were silently dropped before). **review-pr**: Step 4b exception now explicitly covers CRITICAL→HIGH demotions by verification-reviewer; Step 4f defines LOW_COUNT/LOW_NITPICK_LIST variables; Step 3 adds --focus filtering table; Step 3 captures pr-walkthrough-writer output as WALKTHROUGH_OUTPUT; Step 5a references WALKTHROUGH_OUTPUT; Step 6b adds BLOCK tier for CRITICAL; Step 6c Bitbucket uses LOW_NITPICK_LIST; Steps 7–9 added (idempotent PR description update + findings report + gated SHA tracking); file classification added with SECURITY before TEST classifier order. **code-review**: Fast Path contradiction resolved (skip Phases 2–5, secret scan only); Phase 8 SHA write gated on Phase 7 success; SECURITY classifier moved before TEST; bash arrays replaced with portable space-separated strings; `git rev-parse --short` fixed to `--short=8`; orphan cr-summary:start tag cleanup added to Phase 6.5 python3 snippet. **code-graph-analyzer**: Step 5 heredoc replaced with Write tool instruction so actual generated content is cached instead of literal placeholder text. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: address second code review pass — 15 correctness and structural fixes - code-review.md: Fast Path now jumps to Phase 7 (gh pr review --approve) instead of Phase 6 (local artifact only); LOW_NITPICK_LIST added to Phase 5 count block; BLOCK header prepend code added to Phase 7b for CRITICAL findings; CI check item 7 moved inside Phase 2 (before Phase 2.5); CRLF-safe tr -d '\r' in CHANGED_FILES; Phase 8 SHA-save gated with executable if [ REVIEW_EXIT -eq 0 ] - review-pr.md: skip-if-unchanged check physically moved before Step 1 (was a deferred instruction at Step 9); headRefOid added to Step 1 gh pr view --json for cache key availability; BLOCK header prepend code added to Step 6b; Step 3.5 now explicitly carries forward UNCERTAIN HIGH→MEDIUM findings (not CONFIRMED-only); unknown --focus value validation added with error message; CRLF-safe tr -d '\r'; Step 9 SHA-save gated with executable conditional - code-graph-analyzer.md: cache-hit stop gate made emphatic (bold warning, explicit "Do NOT proceed to Steps 2–5"); L2 basename grep patterns anchored — JS/TS now requires BASENAME preceded by / or quote; Python/Java/Kotlin/Rust use \b word boundaries to prevent substring false positives - verification-reviewer.md: INVALID row split — "FIXED IN THIS PR" is a new verdict that removes findings at any severity (PR itself is the fix); Gate 1 teaches agent to distinguish never-existed vs fixed-in-diff; UNCERTAIN HIGH demotion criterion made concrete (objectively risky pattern required, not just unclear trigger) * docs: sync verification-reviewer semantics across all documentation Update docs/index.html, CLAUDE.md, and README.md to accurately reflect the current behavior of verification-reviewer and /review-pr Step 3.5: - Step 3.5 now carries forward UNCERTAIN HIGH→MEDIUM findings in addition to CONFIRMED findings (previously stated "only confirmed survive") - New "FIXED IN THIS PR" verdict removes findings at any severity when the issue is resolved by another hunk in the same diff (no CRITICAL protection applies here — the PR itself is the fix) - verification-reviewer description updated to list all three outcomes: CONFIRMED kept, UNCERTAIN→MEDIUM kept, FIXED IN THIS PR removed * docs: sync version string to v1.3.0 in CLAUDE.md and landing page Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat!: unify all review commands into a single auto-dispatching /code-review Collapse the 9 slash commands into one /code-review entry point that auto-detects the language/framework of changed files and dispatches the matching specialist reviewer agents — no per-language command needed. - Remove /review-pr and the 7 language commands (cpp/fastapi/flutter/go/ kotlin/python/rust); fold their multi-agent parallel + verification capability into /code-review. - Add Language/Framework Auto-Dispatch: by file extension (.py→python- reviewer, .go→go-reviewer, …), refined by content for frameworks (Django/FastAPI/Flutter). Detected-only, zero match = zero waste. - Both local and PR modes now run the same full pipeline (code-graph → 8 general agents + dispatched specialists → verification Phase 3.5 → aggregate). Local reports to terminal; PR publishes to GitHub/Bitbucket. - Keep --focus and --profile flags. - Sync CLAUDE.md, README.md, docs/index.html (badges/stats 9→1, architecture, sidebar, contributing guide). BREAKING CHANGE: /review-pr and all /<lang>-review commands are removed. Use /code-review for everything — language specialists are now dispatched automatically based on the changed files. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: correct plugin manifest descriptions (27 agents, single command) plugin.json and marketplace.json described 24 reviewer agents (actual: 27) and parallel PR review commands; after the 9-to-1 refactor there is a single /code-review command that auto-dispatches language specialists. Sync all three description strings to match. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: align all 27 agents with official plugin-dev triggering format Audited the plugin against the plugin-dev skills (plugin-structure, agent-development) and applied the validated improvements: - Rewrite every agent description to the official triggering shape (Use this agent when... Typical triggers include... See When to invoke) and add a ## When to invoke body section with third-person scenario bullets. Improves auto-dispatch hit rate; passes validate-agent.sh with zero errors. - Fix verification-reviewer color orange -> yellow (orange is outside the official validator color set); sync the docs marker. - Open the six analyzer agent prompts in second person where missing. - Add homepage to plugin.json (parity with marketplace.json). - Document the triggering-format convention + validator command in CLAUDE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: rewrite skill descriptions to official third-person triggering format Per the plugin-dev skill-development spec, skill descriptions should use third person ("This skill should be used when...") with specific trigger phrases so Claude activates them reliably. All three skills used the wrong person or had no triggers: - security-review: "Use this skill when..." -> third person, fuller triggers - security-scan: content blurb -> "This skill should be used when the user asks to scan .claude config / audit hooks/MCP/agents..." - flutter-dart-code-review: content blurb -> "This skill should be used when reviewing Flutter/Dart code or .dart changes..." Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix: address PR #8 review — When-to-invoke placement, color note, stale ref Resolves findings from the PR #8 reviews (claude, Copilot, CodeRabbit): - Move ## When to invoke to immediately after frontmatter (before ## Prompt Defense Baseline) in the 7 agents where it was placed lower: go, python, rust, typescript reviewers + silent-failure-hunter, type-design-analyzer, pr-walkthrough-writer. Matches the documented agents/**/*.md convention; pure section move, no content change. - CLAUDE.md color note: reword the contradictory parenthetical so it clearly states only blue/cyan/green/yellow/magenta/red are valid and orange/purple/gray are not. - code-graph-analyzer description: drop the stale /review-pr Step 2.5 reference, keep /code-review Phase 2.5. Re-validated: validate-agent.sh 0 errors across all 27; When-to-invoke now precedes Prompt Defense Baseline in every agent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix: restore proactive dispatch imperatives + true-yellow color (self-review) Addresses findings from /code-review #8 (recall-biased pass) on this PR: - Restore the proactive-dispatch imperatives the triggering-format rewrite had stripped from 15 agent descriptions (verified 15 deleted, 0 retained): "MUST BE USED for X projects" on the language/framework reviewers, and "Use PROACTIVELY ..." on code-reviewer, security-reviewer, database-reviewer, code-graph-analyzer, verification-reviewer. Kept inside the official "Use this agent when... Typical triggers include..." format so both signals coexist. validate-agent.sh still 0 errors; all 27 still start with the required phrase. - docs/index.html: verification-reviewer card #a06818 (the --amber token, an orange shade) -> #9a8200 (true yellow) so the landing page matches the yellow label used in frontmatter/README/CLAUDE.md. - CLAUDE.md: document that descriptions must keep the imperative alongside the triggering format; note the validator requires the plugin-dev plugin and how to locate the script if the cache path differs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(agents): 補上 6 個 language/framework agent 缺漏的 MUST BE USED 強觸發語 回應 PR #8 code review(HIGH):本 PR 在 CLAUDE.md 引入「語言/框架 agent 描述須含 MUST BE USED for X projects.」規則,但這 6 個 agent 改寫 description 後未加,與 cpp/go/python 等 11 個同類不一致,降低自動 dispatch 命中率。 於各 description 末(See "When to invoke" 之前)補上: - fastapi-reviewer: MUST BE USED for FastAPI projects. - flutter-reviewer: MUST BE USED for Flutter projects. - healthcare-reviewer: MUST BE USED for healthcare and EMR/EHR projects. - kotlin-reviewer: MUST BE USED for Kotlin and Android/KMP projects. - mle-reviewer: MUST BE USED for ML/MLOps projects. - network-config-reviewer: MUST BE USED for network configuration reviews. 官方 validate-agent.sh:6 檔全 PASS(exit 0)。 * fix: trim redundant imperatives and normalize java to "for X projects" form Second self-review pass on PR #8 caught 3 LOW polish issues introduced by the previous imperative-restoration commit: - code-graph-analyzer: imperative "Use PROACTIVELY as the pre-computation step before parallel reviewers launch." tripled an already-stated concept. Shortened to "Use PROACTIVELY before launching parallel reviewers." - code-reviewer: imperative chained two clauses; "Use immediately after writing or modifying code;" duplicated the opener. Trimmed to just "MUST BE USED for all code changes." - java-reviewer: "MUST BE USED for all Java code changes." deviated from the "MUST BE USED for X projects." convention all other 9 language reviewers (and CLAUDE.md) use. Normalized to "MUST BE USED for Java projects." Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: sync version string to v2.0.0 in CLAUDE.md and landing page Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: use fully-qualified agent names in code-review command All agent references in commands/code-review.md changed from short names (e.g. `code-reviewer`) to namespaced form (`code-review:code-reviewer`). Plugin agents register in Claude Code's subagent registry under the `<plugin-name>:<agent-name>` namespace. Without the prefix, registry lookup fails and Claude falls back to `general-purpose` instead of the intended specialist agent — losing its specialized system prompt, tools, and review logic. Covers: all add_agent() calls, Phase 3 pool, focus-filter table, Phase 2.5, Phase 3.5, and all prose references. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: namespace database-reviewer comment in migration detection Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: align database-reviewer tools and color with other language reviewers Remove Write and Edit tools (review-only, not edit), change color from yellow to blue to match the standard language reviewer profile. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Audited the plugin with the
plugin-devskills (plugin-structure, agent-development) and applied the validated improvements.Changes
descriptionrewritten toUse this agent when… Typical triggers include… See "When to invoke"…+ a new## When to invokebody section (third-person scenario bullets). Improves auto-dispatch hit rate; passes officialvalidate-agent.shwith 0 errors.verification-reviewerorange→yellow(orange is outside the official validator color set); docs markers synced (🟠→🟡).homepage(parity with marketplace.json); manifest descriptions corrected (27 agents, single command).Validation
validate-agent.shacross all 27 agents: 0 errors; 27/27 start with "Use this agent when" and have a When-to-invoke section.🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation
Style