cross-review-project
정보
이 스킬은 구조화된 MCP 브로커를 통해 두 개의 Claude Code 인스턴스가 상호 코드 리뷰를 수행할 수 있도록 합니다. 최소 대역폭 요구사항과 단계별 진행 게이트를 적용한 QSG 스케일링 법칙을 통해 리뷰 품질을 강제합니다. AI 에이전트 간 체계적이고 증거 기반의 프로젝트 간 코드 분석에 사용하세요.
빠른 설치
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-projectClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Projekt-Cross-Review
Zwei Claude-Code-Instanzen pruefen die Projekte des jeweils anderen durch strukturierten Artefakt-Austausch via den cross-review-mcp-Broker. Der Broker erzwingt Quantized-Simplex-Gossip-(QSG)-Skalengesetze — Review-Buendel muessen mindestens 5 Befunde enthalten um im Selektionsregime zu bleiben (Γ_h ≈ 1,67), was verhindert dass oberflaechlicher Konsens als Uebereinstimmung durchgeht.
Wann verwenden
- Zwei Projekte teilen architektonische Anliegen und koennten voneinander lernen
- Unabhaengiges Code-Review erwuenscht das ueber das hinausgeht was ein einzelner Reviewer sieht
- Cross-Pollination ist das Ziel: Muster in einem Projekt finden die im anderen fehlen
- Strukturiertes, evidenzbasiertes Review mit accept/reject/discuss-Verdicts noetig
Eingaben
- Erforderlich: Zwei Projektpfade die zwei Claude-Code-Instanzen zugaenglich sind
- Erforderlich:
cross-review-mcp-Broker laeuft und ist als MCP-Server in beiden Instanzen konfiguriert - Optional: Fokusbereiche — spezifische Verzeichnisse, Muster oder Anliegen zu priorisieren
- Optional: Agent-IDs — Identifikatoren fuer jede Instanz (Standard: Projektverzeichnisname)
Vorgehensweise
Schritt 1: Voraussetzungen verifizieren
Bestaetigen dass der Broker laeuft und beide Instanzen ihn erreichen koennen.
- Pruefen dass der Broker als MCP-Server konfiguriert ist:
claude mcp list | grep cross-review get_statusaufrufen um zu verifizieren dass der Broker antwortet und keine veralteten Agents registriert sind- Die Protokoll-Resource bei
cross-review://protocollesen — dies ist ein Markdown-Dokument das die Review-Dimensionen und QSG-Beschraenkungen beschreibt
Erwartet: Der Broker antwortet auf get_status mit einer leeren Agent-Liste. Die Protokoll-Resource ist als Markdown lesbar.
Bei Fehler: Wenn der Broker nicht konfiguriert ist, hinzufuegen: claude mcp add cross-review-mcp -- npx cross-review-mcp. Wenn veraltete Agents aus einer vorigen Session existieren, fuer jeden deregister aufrufen bevor fortgefahren wird.
Schritt 2: Registrieren
Diesen Agent beim Broker registrieren.
registeraufrufen mit:agentId: ein kurzer, einzigartiger Identifikator (z.B. Projektverzeichnisname)project: der Projektnamecapabilities:["review", "suggest"]
- Registrierung verifizieren mit
get_status— der Agent sollte mit Phase"registered"erscheinen - Auf Registrierung des Peer-Agents warten:
wait_for_phasemit der Agent-ID des Peers und Phase"registered"aufrufen
Erwartet: Beide Agents beim Broker registriert. get_status zeigt 2 Agents in Phase "registered".
Bei Fehler: Wenn register mit "already registered" scheitert, ist die Agent-ID aus einer vorigen Session belegt. Zuerst deregister aufrufen, dann erneut registrieren.
Schritt 3: Briefing-Phase
Eigene Codebasis lesen und ein strukturiertes Briefing an den Peer senden.
- Systematisch lesen:
- Einstiegspunkte (Hauptdateien, Index, CLI-Befehle)
- Abhaengigkeitsgraph (package.json, DESCRIPTION, go.mod)
- Architektonische Muster (Verzeichnisstruktur, Modulgrenzen)
- Bekannte Probleme (TODO-Kommentare, offene Issues, Tech Debt)
- Test-Coverage (Test-Verzeichnisse, CI-Konfiguration)
- Ein
Briefing-Artefakt komponieren — eine strukturierte Zusammenfassung die der Peer nutzen kann um deine Codebasis effizient zu navigieren send_taskaufrufen mit:from: deine Agent-IDto: Peer-Agent-IDtype:"briefing"payload: JSON-kodiertes Briefing
signal_phasemit Phase"briefing"aufrufen
Erwartet: Briefing gesendet und Phase signalisiert. Der Broker erzwingt dass ein Briefing gesendet werden muss bevor zu Review uebergegangen werden kann.
Bei Fehler: Wenn send_task das Briefing ablehnt, pruefen dass das from-Feld mit deiner registrierten Agent-ID uebereinstimmt. Self-Sends werden abgelehnt.
Schritt 4: Review-Phase
Auf das Briefing des Peers warten, dann seinen Code pruefen und Befunde senden.
wait_for_phasemit der Peer-ID und Phase"briefing"aufrufenpoll_tasksaufrufen um das Briefing des Peers abzurufenack_tasksmit den empfangenen Task-IDs aufrufen — dies ist erforderlich (Peek-then-Ack-Muster)- Den tatsaechlichen Quellcode des Peers lesen, informiert durch sein Briefing
- Befunde ueber 6 Kategorien produzieren:
pattern_transfer— ein Muster in deinem Projekt das der Peer uebernehmen koenntemissing_practice— eine Praxis die dem Peer fehlt (Testing, Validierung, Fehlerbehandlung)inconsistency— interner Widerspruch innerhalb der Codebasis des Peerssimplification— unnoetige Komplexitaet die reduziert werden koenntebug_risk— potenzieller Laufzeitfehler oder Grenzfalldocumentation_gap— fehlende oder irrefuehrende Dokumentation
- Jeder Befund muss enthalten:
id: einzigartiger Identifikator (z.B."F-001")category: eine der 6 Kategorien obentargetFile: Pfad im Projekt des Peersdescription: was du gefunden hastevidence: warum dies ein gueltiger Befund ist (Code-Referenzen, Muster)sourceAnalog(empfohlen): das Aequivalent in deinem eigenen Projekt das das Muster demonstriert — dies ist der einzige Mechanismus fuer genuine Cross-Pollination
- Mindestens 5 Befunde buendeln (QSG-Beschraenkung: m ≥ 5 haelt Γ_h ≈ 1,67 im Selektionsregime)
send_taskmit Type"review_bundle"und dem JSON-kodierten Findings-Array aufrufensignal_phasemit Phase"review"aufrufen
Erwartet: Review-Bundle vom Broker akzeptiert. Weniger als 5 Befunde werden abgelehnt.
Bei Fehler: Wenn das Bundle wegen unzureichender Befunde abgelehnt wird, tiefer pruefen. Die Beschraenkung existiert um zu verhindern dass oberflaechliche Reviews dominieren. Wenn genuein keine 5 Probleme gefunden werden koennen, neu pruefen ob Cross-Review das richtige Werkzeug fuer dieses Projektpaar ist.
Schritt 5: Dialog-Phase
Befunde ueber das eigene Projekt empfangen und mit evidenzbasierten Verdicts antworten.
wait_for_phasemit der Peer-ID und Phase"review"aufrufenpoll_tasksaufrufen um Befunde zum eigenen Projekt abzurufenack_tasksmit den empfangenen Task-IDs aufrufen- Fuer jeden Befund eine
FindingResponseproduzieren:findingId: entspricht der Befund-IDverdict:"accept"(gueltig, wird gehandelt),"reject"(ungueltig, mit Gegenevidenz) oder"discuss"(braucht Klaerung)evidence: warum du akzeptierst oder ablehnst — muss nicht-leer seincounterEvidence(optional): spezifische Code-Referenzen die dem Befund widersprechen
- Alle Antworten via
send_taskmit Type"response"senden signal_phasemit Phase"dialogue"aufrufen
Hinweis: das "discuss"-Verdict ist nicht durch das Protokoll gesperrt — als Flag fuer manuelle Nachverfolgung behandeln, nicht als automatisierten Sub-Austausch.
Erwartet: Auf alle Befunde wurde mit Verdicts geantwortet. Leere Antworten werden vom Broker abgelehnt.
Bei Fehler: Wenn keine Meinung zu einem Befund gebildet werden kann, auf "discuss" defaulten mit Evidenz die erklaert welcher zusaetzliche Kontext gebraucht wird.
Schritt 6: Synthese-Phase
Ein Synthese-Artefakt produzieren das akzeptierte Befunde und geplante Aktionen zusammenfasst.
wait_for_phasemit der Peer-ID und Phase"dialogue"aufrufen- Verbleibende Tasks pollen und bestaetigen
- Ein
Synthesis-Artefakt zusammenstellen:- Akzeptierte Befunde mit geplanten Aktionen (was du aendern wirst und warum)
- Abgelehnte Befunde mit Gruenden (bewahrt das Reasoning fuer zukuenftige Reviews)
send_taskmit Type"synthesis"und der JSON-kodierten Synthese aufrufensignal_phasemit Phase"synthesis"aufrufen- Optional GitHub-Issues fuer akzeptierte Befunde erstellen
signal_phasemit Phase"complete"aufrufenderegisteraufrufen zum Aufraeumen
Erwartet: Beide Agents erreichen "complete". Der Broker verlangt mindestens 2 registrierte Agents um zu complete vorzurueacken.
Bei Fehler: Wenn der Peer bereits deregistriert hat, kann lokal trotzdem komplettiert werden. Die Synthese aus den empfangenen Befunden zusammenstellen.
Validierung
- Beide Agents registriert und Phase
"complete"erreicht - Briefings ausgetauscht bevor Reviews begannen (Phasen-Erzwingung)
- Review-Bundles enthielten jeweils mindestens 5 Befunde
- Alle Befunde erhielten ein Verdict (accept/reject/discuss) mit Evidenz
-
ack_tasksnach jedempoll_tasksaufgerufen - Synthese produziert mit akzeptierten Befunden auf Aktionen abgebildet
- Agents nach Komplettierung deregistriert
Haeufige Stolperfallen
- Weniger als 5 Befunde: Der Broker lehnt Bundles mit m < 5 ab. Dies ist nicht willkuerlich — mit N=2 Agents und 6 Kategorien setzt m < 5 Γ_h auf oder unter die kritische Grenze wo Konsens nicht von Rauschen unterscheidbar ist. Tiefer pruefen; wenn 5 Befunde genuein nicht gefunden werden koennen, profitieren die Projekte moeglicherweise nicht vom Cross-Review.
ack_tasksvergessen: Der Broker nutzt Peek-then-Ack-Delivery. Tasks bleiben in der Queue bis sie bestaetigt sind. Vergessenes Ack verursacht doppelte Verarbeitung beim naechsten Poll.- Den
from-Parameter vergessen:send_taskerfordert ein explizitesfrom-Feld das mit der Agent-ID uebereinstimmt. Self-Sends werden abgelehnt. - Selbe-Modell epistemische Korrelation: Zwei Claude-Instanzen teilen Training-Biases. Zeitliche Ordnung stellt sicher dass sie waehrend Review nicht die Ausgabe des anderen lesen, aber ihre Priors sind korreliert. Fuer genuine epistemische Unabhaengigkeit unterschiedliche Modellfamilien ueber Instanzen nutzen.
sourceAnalogueberspringen: DassourceAnalog-Feld ist optional aber der einzige Mechanismus fuer genuine Cross-Pollination — es zeigt deine Implementation des Musters das du empfiehlst. Immer befuellen wenn ein Source-Analog existiert.discussals blockierend behandeln: Nichts im Protokoll sperrtcompletedarauf dass anhaengende Diskussionen geloest werden.discuss-Verdicts als Flags fuer manuelle Nachverfolgung nach der Session behandeln.- Telemetrie nicht reviewen: Der Broker loggt alle Events nach JSONL. Nach einer Session das Log pruefen um QSG-Annahmen zu validieren — α empirisch schaetzen (
α ≈ 1 - reject_rate) und Per-Kategorie-Akzeptanzraten pruefen.
Verwandte Skills
scaffold-mcp-server— fuer Bauen oder Erweitern des Brokers selbstimplement-a2a-server— A2A-Protokoll-Muster aus denen der Broker schoepftreview-codebase— Single-Agent-Review (dieser Skill erweitert es zu Cross-Agent-strukturiertem Austausch)build-consensus— Schwarm-Konsens-Muster (QSG ist die theoretische Grundlage)configure-mcp-server— den Broker als MCP-Server in Claude Code konfigurierenunleash-the-agents— kann genutzt werden um den Broker selbst zu analysieren (battle-tested: 40 Agents, 10 Hypothesen-Familien)
GitHub 저장소
연관 스킬
qmd
개발qmd는 BM25, 벡터 임베딩, 재순위화를 결합한 하이브리드 검색을 통해 로컬 파일을 색인화하고 검색할 수 있는 로컬 검색 및 색인화 CLI 도구입니다. 명령줄 사용과 Claude 통합을 위한 MCP(Model Context Protocol) 모드를 모두 지원합니다. 이 도구는 임베딩에 Ollama를 사용하고 색인을 로컬에 저장하여 터미널에서 직접 문서나 코드베이스를 검색하는 데 이상적입니다.
subagent-driven-development
개발이 스킬은 각 독립적인 작업마다 새로운 하위 에이전트를 배치하고 작업 사이에 코드 리뷰를 진행하여 구현 계획을 실행합니다. 이 리뷰 프로세스를 통해 품질 게이트를 유지하면서 빠른 반복 작업을 가능하게 합니다. 동일한 세션 내에서 대부분 독립적인 작업을 진행할 때 내장된 품질 검증과 함께 지속적인 진행을 보장하기 위해 사용하세요.
mcporter
개발mcporter 스킬은 개발자가 Claude에서 직접 Model Context Protocol(MCP) 서버를 관리하고 호출할 수 있도록 합니다. 이 스킬은 사용 가능한 서버를 나열하고, 인수를 사용해 해당 서버의 도구를 호출하며, 인증 및 데몬 생명주기를 처리하는 명령어를 제공합니다. 개발 워크플로우에서 MCP 서버 기능을 통합하고 테스트할 때 이 스킬을 사용하세요.
adk-deployment-specialist
개발이 스킬은 A2A 프로토콜을 사용하여 Vertex AI ADK 에이전트를 배포하고 오케스트레이션하며, AgentCard 검색, 작업 제출, 코드 실행 샌드박스 및 메모리 뱅크와 같은 지원 도구를 관리합니다. Python, Java 또는 Go 언어로 순차, 병렬 또는 루프 오케스트레이션 패턴을 갖춘 다중 에이전트 시스템 구축을 가능하게 합니다. Google Cloud에서 ADK 에이전트 배포 또는 에이전트 워크플로우 오케스트레이션을 요청받았을 때 사용하세요.
