cross-review-project
关于
This skill enables two Claude Code instances to conduct structured, reciprocal code reviews via a dedicated MCP broker. It enforces review quality through QSG scaling laws that require minimum evidence thresholds and phase-gated progression. Use it when you need systematic, evidence-backed cross-project analysis between two codebases.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/cross-review-project在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Cross-Review Project
2 Claude Code instances review each other via cross-review-mcp broker. QSG scaling laws enforce quality: bundles ≥5 findings → selection regime (Γ_h ≈ 1.67), prevents shallow consensus.
Use When
- 2 projects share arch concerns
- Indep review beyond 1 reviewer
- Cross-pollinate: find patterns missing in other
- Structured evidence-backed verdicts (accept/reject/discuss)
In
- Required: 2 project paths, 2 Claude Code instances
- Required:
cross-review-mcpbroker + MCP server in both - Optional: Focus areas (dirs, patterns, concerns)
- Optional: Agent IDs (def: project dir name)
Do
Step 1: Prereqs
Broker running + both instances reach it.
- Broker configured:
claude mcp list | grep cross-review - Call
get_status→ responsive + no stale agents - Read
cross-review://protocol— markdown doc w/ dims + QSG constraints
Got: Broker responds w/ empty agent list. Protocol readable.
If err: Not configured → claude mcp add cross-review-mcp -- npx cross-review-mcp. Stale agents → deregister each first.
Step 2: Register
- Call
register:agentId: short unique ID (project dir name)project: project namecapabilities:["review", "suggest"]
- Verify:
get_status→ agent at phase"registered" - Wait for peer:
wait_for_phasew/ peer ID + phase"registered"
Got: Both registered. get_status → 2 agents @ "registered".
If err: register fails "already registered" → ID taken from prior. deregister first + re-register.
Step 3: Briefing
Read own codebase, send structured briefing → peer.
- Systematic read:
- Entry pts (main, index, CLI)
- Dep graph (package.json, DESCRIPTION, go.mod)
- Arch patterns (dirs, modules)
- Known issues (TODOs, issues, debt)
- Test coverage (tests, CI)
- Compose
Briefing— structured summary → peer navigates efficiently send_task:from: your IDto: peer IDtype:"briefing"payload: JSON briefing
signal_phase→"briefing"
Got: Briefing sent + phase signaled. Broker enforces briefing pre-review.
If err: send_task rejects → from must = registered ID. Self-sends rejected.
Step 4: Review
Wait peer briefing, review their code, send findings.
wait_for_phasepeer ID +"briefing"poll_tasks→ peer's briefingack_tasksw/ task IDs (peek-then-ack req)- Read peer's src, informed by briefing
- Findings, 6 cats:
pattern_transfer— pattern in yours peer could adoptmissing_practice— practice peer lacks (testing, valid., err handling)inconsistency— internal contradiction in peersimplification— unnecessary complexitybug_risk— potential runtime fail / edge casedocumentation_gap— missing / misleading docs
- Each finding:
id: unique ("F-001")category: 1 of 6targetFile: path in peerdescription: what foundevidence: why valid (code refs, patterns)sourceAnalog(rec): equivalent in yours → single mech for genuine cross-pollination
- Bundle ≥5 findings (QSG: m ≥ 5 keeps Γ_h ≈ 1.67 selection regime)
send_tasktype"review_bundle"+ JSON findings arraysignal_phase→"review"
Got: Bundle accepted. <5 → rejected.
If err: Rejected for <5 → review deeper. Constraint prevents shallow dominating. Can't find 5 → reconsider if cross-review fits.
Step 5: Dialogue
Receive findings about yours → respond w/ verdicts.
wait_for_phasepeer +"review"poll_tasks→ findings about yoursack_tasks- Per finding,
FindingResponse:findingId: matches finding's IDverdict:"accept"(valid, will act) /"reject"(invalid + counter-evidence) /"discuss"(needs clarify)evidence: why accept/reject — must be non-emptycounterEvidence(opt): code refs contradicting
- Send all →
send_tasktype"response" signal_phase→"dialogue"
Note: "discuss" not gated → flag for manual follow-up, not auto sub-exchange.
Got: All findings → verdict. Empty → rejected.
If err: Can't form opinion → default "discuss" + evidence explaining what context needed.
Step 6: Synthesis
Produce synth artifact: accepted findings + planned actions.
wait_for_phasepeer +"dialogue"- Poll remaining + ack
- Compile
Synthesis:- Accepted + planned actions (what change + why)
- Rejected + reasons (preserves reasoning)
send_tasktype"synthesis"+ JSON synthsignal_phase→"synthesis"- Optional: create GH issues for accepted
signal_phase→"complete"deregister→ cleanup
Got: Both reach "complete". Broker req ≥2 registered to advance.
If err: Peer already deregistered → complete locally. Compile synth from received.
Check
- Both registered + reached
"complete" - Briefings exchanged pre-review (phase enforced)
- Bundles ≥5 findings each
- All findings → verdict + evidence
-
ack_tasksafter everypoll_tasks - Synth produced + actions mapped
- Deregistered post-complete
Traps
- <5 findings: Broker rejects m<5. Not arbitrary — N=2 agents × 6 cats, m<5 → Γ_h at/below critical → consensus = noise. Review deeper; can't find 5 → projects may not benefit.
- Forgot
ack_tasks: Peek-then-ack delivery. Tasks stay in queue until acked. Forget → dup processing on next poll. - Forgot
fromparam:send_taskneeds explicitfrom= your ID. Self-sends rejected. - Same-model epistemic correlation: 2 Claude share training biases. Temporal ordering prevents reading during review, but priors correlated. Genuine epistemic indep → diff model families.
- Skip
sourceAnalog: Optional but single mech for genuine cross-pollination — shows your impl of pattern. Populate when exists. - Treat
discussas blocking: Protocol doesn't gatecompleteon pending discussions. Flag for manual follow-up post-session. - Skip telemetry: Broker logs all → JSONL. Post-session, validate QSG: estimate α empirical (
α ≈ 1 - reject_rate) + check per-cat accept rates.
→
scaffold-mcp-server— build/extend brokerimplement-a2a-server— A2A patterns broker draws fromreview-codebase— single-agent (this extends → cross-agent structured)build-consensus— swarm consensus (QSG theoretical foundation)configure-mcp-server— broker as MCP in Claude Codeunleash-the-agents— analyze broker itself (battle-tested: 40 agents, 10 hypothesis families)
GitHub 仓库
相关推荐技能
qmd
开发这是一个本地搜索和索引的CLI工具,支持BM25、向量搜索和重排序功能。开发者可以用它快速索引本地文件(如Markdown文档)并进行混合搜索,特别适合代码库或文档的本地检索。它还提供MCP模式,能轻松集成到Claude开发环境中使用。
subagent-driven-development
开发该Skill用于在当前会话中执行包含独立任务的实施计划,它会为每个任务分派一个全新的子代理并在任务间进行代码审查。这种"全新子代理+任务间审查"的模式既能保障代码质量,又能实现快速迭代。适合需要在当前会话中连续执行独立任务,并希望在每个任务后都有质量把关的开发场景。
mcporter
开发mcporter Skill 让开发者能在Claude中直接管理和调用MCP服务器。它支持列出可用服务器、调用工具、处理OAuth认证以及管理服务器守护进程。开发者可以通过命令行式交互快速执行`mcporter list`查看服务器,或使用`mcporter call`直接调用工具,简化了MCP工作流程。
adk-deployment-specialist
开发这是一个用于部署和编排Google Vertex AI ADK智能体的Claude Skill,专为构建生产级多智能体系统而设计。它支持通过A2A协议进行智能体通信,提供代码执行沙箱和记忆库功能,并能处理智能体发现与任务提交。当开发者需要部署ADK智能体或编排多智能体协作时,可使用此Skill来简化Vertex AI Agent Engine的部署流程。
