feat!: unify all review commands into a single auto-dispatching /code-review#7
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>
… 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
… + code-graph-analyzer multi-language L2 coverage
- 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)
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>
…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)
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
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>
|
Warning Review limit reached
More reviews will be available in 34 minutes and 30 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 (12)
✨ 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
變更摘要
- 將 9 個 slash command 收斂為單一
/code-review,移除/review-pr與 7 個語言專項 command - 在
commands/code-review.md實作 Language/Framework Auto-Dispatch:依副檔名 + 內容特徵自動加入對應 specialist agent - 本地模式升級為與 PR 模式相同的完整並行 pipeline;同步更新 CLAUDE.md、README.md、docs/index.html
優點
- Phase 結構一致性佳:Local / GitHub / Bitbucket 三種模式均參照相同的 Classify & Dispatch → Context → Code Graph → Parallel Agents → Verification 流程,減少使用者需記的模式差異
- dispatch shell script 精確:
add_agent()以 substring match 去重,while IFS= read -r正確處理含空格的路徑;migration 目錄的第二段case置於迴圈內也能正確疊加database-reviewer - headRefOid 補入 Phase 1 fetch:Phase 7b inline comment 需要 HEAD SHA,Phase 1 已取得,Phase 7 再次 fetch 是冗餘但不是 bug;Phase 1 的補入讓快取可行
問題與建議
無 — 此 PR 通過 Phase 3 全部過濾。
(Chill profile 下掃描 HIGH / CRITICAL;詳細檢視 dispatch script、phase 編號更新、cross-reference 一致性、Bitbucket Phase 2–5 合併、Fast Path 跳過清單新增 2.5 / 3.5,均無發現可重現的功能缺陷。)
結論
可合併
) * 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> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* 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>
Summary
將 9 個 slash command 收斂為單一
/code-review,執行時依變更檔案自動偵測語言/框架並 dispatch 對應的 specialist reviewer agent — 不再需要為每個語言記不同 command。Changes
/review-pr+ 7 個語言 command(cpp/fastapi/flutter/go/kotlin/python/rust),能力併入/code-review.py→python-reviewer、.go→go-reviewer…),框架(Django/FastAPI/Flutter)以內容特徵輔助;偵測到才加,零匹配不浪費--focus與--profileBreaking change
/review-pr與所有/<lang>-reviewcommand 移除 → 一律改用/code-review。觸發 major bump(→ 2.0.0)。🤖 Generated with Claude Code