cross-review-project
关于
This skill enables two Claude Code instances to conduct structured, reciprocal code reviews through a dedicated MCP broker. It enforces review quality via QSG scaling laws with minimum bandwidth requirements and phase-gated progression. Use it for automated, evidence-backed cross-project code analysis between separate 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
Dos instancias de Claude Code revisan los proyectos de la otra a través del intercambio estructurado de artefactos vía el broker cross-review-mcp. El broker hace cumplir las leyes de escalado Quantized Simplex Gossip (QSG) — los bundles de revisión deben contener al menos 5 hallazgos para mantenerse en el régimen de selección (Γ_h ≈ 1.67), evitando que el consenso superficial pase como acuerdo.
Cuándo Usar
- Dos proyectos comparten preocupaciones arquitectónicas y podrían aprender el uno del otro
- Quieres una revisión de código independiente que vaya más allá de lo que ve un solo revisor
- La polinización cruzada es el objetivo: encontrar patrones en un proyecto que faltan en el otro
- Necesitas una revisión estructurada respaldada por evidencia con veredictos accept/reject/discuss
Entradas
- Requerido: Dos rutas de proyecto accesibles a dos instancias de Claude Code
- Requerido: Broker
cross-review-mcpejecutándose y configurado como servidor MCP en ambas instancias - Opcional: Áreas de enfoque — directorios, patrones o preocupaciones específicas a priorizar
- Opcional: IDs de agente — identificadores para cada instancia (predeterminado: nombre del directorio del proyecto)
Procedimiento
Paso 1: Verificar Prerrequisitos
Confirmar que el broker está ejecutándose y ambas instancias pueden alcanzarlo.
- Verificar que el broker está configurado como servidor MCP:
claude mcp list | grep cross-review - Llamar
get_statuspara verificar que el broker responde y no hay agentes obsoletos registrados - Leer el recurso de protocolo en
cross-review://protocol— este es un documento markdown que describe las dimensiones de revisión y las restricciones QSG
Esperado: El broker responde a get_status con una lista de agentes vacía. El recurso de protocolo es legible como markdown.
En caso de fallo: Si el broker no está configurado, añadirlo: claude mcp add cross-review-mcp -- npx cross-review-mcp. Si existen agentes obsoletos de una sesión anterior, llamar deregister para cada uno antes de proceder.
Paso 2: Registrar
Registrar este agente con el broker.
- Llamar
registercon:agentId: un identificador corto y único (p. ej., nombre del directorio del proyecto)project: el nombre del proyectocapabilities:["review", "suggest"]
- Verificar el registro llamando
get_status— tu agente debe aparecer con fase"registered" - Esperar a que el agente par se registre: llamar
wait_for_phasecon el ID del agente par y la fase"registered"
Esperado: Ambos agentes registrados con el broker. get_status muestra 2 agentes en fase "registered".
En caso de fallo: Si register falla con "already registered", el ID de agente está tomado de una sesión anterior. Llamar deregister primero, luego re-registrar.
Paso 3: Fase de Briefing
Leer tu propia base de código y enviar un briefing estructurado al par.
- Leer sistemáticamente:
- Puntos de entrada (archivos main, index, comandos CLI)
- Grafo de dependencias (package.json, DESCRIPTION, go.mod)
- Patrones arquitectónicos (estructura de directorios, límites de módulos)
- Problemas conocidos (comentarios TODO, issues abiertos, deuda técnica)
- Cobertura de pruebas (directorios de pruebas, configuración CI)
- Componer un artefacto
Briefing— un resumen estructurado que el par puede usar para navegar tu base de código eficientemente - Llamar
send_taskcon:from: tu ID de agenteto: ID de agente partype:"briefing"payload: briefing codificado en JSON
- Llamar
signal_phasecon fase"briefing"
Esperado: Briefing enviado y fase señalizada. El broker hace cumplir que debes enviar un briefing antes de avanzar a la revisión.
En caso de fallo: Si send_task rechaza el briefing, verificar que el campo from coincida con tu ID de agente registrado. Los auto-envíos son rechazados.
Paso 4: Fase de Revisión
Esperar el briefing del par, luego revisar su código y enviar hallazgos.
- Llamar
wait_for_phasecon el ID del par y fase"briefing" - Llamar
poll_taskspara recuperar el briefing del par - Llamar
ack_taskscon los IDs de tarea recibidos — esto es requerido (patrón peek-then-ack) - Leer el código fuente real del par, informado por su briefing
- Producir hallazgos en 6 categorías:
pattern_transfer— un patrón en tu proyecto que el par podría adoptarmissing_practice— una práctica que le falta al par (testing, validación, manejo de errores)inconsistency— contradicción interna dentro de la base de código del parsimplification— complejidad innecesaria que podría reducirsebug_risk— fallo potencial en runtime o caso límitedocumentation_gap— documentación faltante o engañosa
- Cada hallazgo debe incluir:
id: identificador único (p. ej.,"F-001")category: una de las 6 categorías de arribatargetFile: ruta en el proyecto del pardescription: lo que encontrasteevidence: por qué este es un hallazgo válido (referencias de código, patrones)sourceAnalog(recomendado): el equivalente en tu propio proyecto que demuestra el patrón — este es el único mecanismo para una polinización cruzada genuina
- Empaquetar al menos 5 hallazgos (restricción QSG: m ≥ 5 mantiene Γ_h ≈ 1.67 en régimen de selección)
- Llamar
send_taskcon tipo"review_bundle"y el array de hallazgos codificado en JSON - Llamar
signal_phasecon fase"review"
Esperado: Bundle de revisión aceptado por el broker. Menos de 5 hallazgos serán rechazados.
En caso de fallo: Si el bundle es rechazado por hallazgos insuficientes, revisar más a fondo. La restricción existe para evitar que las revisiones superficiales dominen. Si genuinamente no puedes encontrar 5 problemas, reconsiderar si la cross-review es la herramienta correcta para este par de proyectos.
Paso 5: Fase de Diálogo
Recibir hallazgos sobre tu propio proyecto y responder con veredictos respaldados por evidencia.
- Llamar
wait_for_phasecon el ID del par y fase"review" - Llamar
poll_taskspara recuperar hallazgos sobre tu proyecto - Llamar
ack_taskscon los IDs de tarea recibidos - Para cada hallazgo, producir un
FindingResponse:findingId: coincide con el ID del hallazgoverdict:"accept"(válido, actuarás sobre él),"reject"(inválido, con contra-evidencia), o"discuss"(necesita aclaración)evidence: por qué aceptas o rechazas — debe ser no-vacíocounterEvidence(opcional): referencias de código específicas que contradicen el hallazgo
- Enviar todas las respuestas vía
send_taskcon tipo"response" - Llamar
signal_phasecon fase"dialogue"
Nota: el veredicto "discuss" no está controlado por el protocolo — tratarlo como una bandera para seguimiento manual, no un sub-intercambio automatizado.
Esperado: Todos los hallazgos respondidos con veredictos. Las respuestas vacías son rechazadas por el broker.
En caso de fallo: Si no puedes formar una opinión sobre un hallazgo, por defecto a "discuss" con evidencia explicando qué contexto adicional necesitas.
Paso 6: Fase de Síntesis
Producir un artefacto de síntesis resumiendo los hallazgos aceptados y las acciones planificadas.
- Llamar
wait_for_phasecon el ID del par y fase"dialogue" - Hacer poll de cualquier tarea restante y reconocerlas
- Compilar un artefacto
Synthesis:- Hallazgos aceptados con acciones planificadas (qué cambiarás y por qué)
- Hallazgos rechazados con razones (preserva el razonamiento para futura revisión)
- Llamar
send_taskcon tipo"synthesis"y la síntesis codificada en JSON - Llamar
signal_phasecon fase"synthesis" - Opcionalmente crear issues de GitHub para hallazgos aceptados
- Llamar
signal_phasecon fase"complete" - Llamar
deregisterpara limpiar
Esperado: Ambos agentes alcanzan "complete". El broker requiere al menos 2 agentes registrados para avanzar a complete.
En caso de fallo: Si el par ya se ha desregistrado, aún puedes completar localmente. Compilar tu síntesis a partir de los hallazgos que recibiste.
Validación
- Ambos agentes registrados y alcanzaron la fase
"complete" - Briefings intercambiados antes de que comenzaran las revisiones (cumplimiento de fase)
- Los bundles de revisión contenían al menos 5 hallazgos cada uno
- Todos los hallazgos recibieron un veredicto (accept/reject/discuss) con evidencia
-
ack_tasksllamado después de cadapoll_tasks - Síntesis producida con hallazgos aceptados mapeados a acciones
- Agentes desregistrados después de completar
Errores Comunes
- Menos de 5 hallazgos: El broker rechaza bundles con m < 5. Esto no es arbitrario — con N=2 agentes y 6 categorías, m < 5 pone a Γ_h en o por debajo del límite crítico donde el consenso es indistinguible del ruido. Revisar más a fondo; si 5 hallazgos genuinamente no pueden encontrarse, los proyectos pueden no beneficiarse de cross-review.
- Olvidar
ack_tasks: El broker usa entrega peek-then-ack. Las tareas permanecen en cola hasta ser reconocidas. Olvidar hacer ack causa procesamiento duplicado en el siguiente poll. - Olvidar el parámetro
from:send_taskrequiere un campofromexplícito que coincida con tu ID de agente. Los auto-envíos son rechazados. - Correlación epistémica del mismo modelo: Dos instancias de Claude comparten sesgos de entrenamiento. El ordenamiento temporal asegura que no leen la salida de la otra durante la revisión, pero sus priors están correlacionados. Para independencia epistémica genuina, usar diferentes familias de modelos entre instancias.
- Saltar
sourceAnalog: El camposourceAnaloges opcional pero es el único mecanismo para una polinización cruzada genuina — muestra tu implementación del patrón que estás recomendando. Siempre poblarlo cuando exista un análogo de origen. - Tratar
discusscomo bloqueante: Nada en el protocolo controlacompleteen discusiones pendientes que estén resolviéndose. Tratar veredictosdiscusscomo banderas para seguimiento manual después de la sesión. - No revisar la telemetría: El broker registra todos los eventos a JSONL. Después de una sesión, revisar el log para validar las suposiciones QSG — estimar α empíricamente (
α ≈ 1 - reject_rate) y verificar las tasas de aceptación por categoría.
Habilidades Relacionadas
scaffold-mcp-server— para construir o extender el broker mismoimplement-a2a-server— patrones del protocolo A2A de los que el broker se nutrereview-codebase— revisión de un solo agente (esta habilidad la extiende a intercambio estructurado entre agentes)build-consensus— patrones de consenso de enjambre (QSG es la base teórica)configure-mcp-server— configurar el broker como servidor MCP en Claude Codeunleash-the-agents— puede usarse para analizar el broker mismo (probado en batalla: 40 agentes, 10 familias de hipótesis)
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的部署流程。
