Signal Lens — revisión de PR para mantenedores con contexto primero
Orquesta Signal Lens (signal-lens) con enrutamiento automático MCP/CLI. Tú coordinas; el motor produce hallazgos basados en evidencia. MCP es opcional; la CLI es el respaldo.
Enrutamiento automático (por defecto — seguir siempre)
Paso 0 — Detectar el backend (hazlo antes de cada revisión):
Verifica si estas herramientas MCP están en tu lista de herramientas actual (no en la documentación — herramientas en vivo):
review_prscan_ci_weakeningtrace_security_boundaryscan_test_coverage
| Condición | Backend | Acción |
|---|---|---|
review_pr está en tus herramientas | MCP | Ir a ruta MCP |
review_pr no está en tus herramientas | CLI | Ir a ruta CLI |
Opcional: ejecuta signal-lens capabilities para conocer el estado de CLI/proveedor (no reemplaza el Paso 0).
Nunca adivines. Si no estás seguro de si MCP está conectado, usa la ruta CLI.
Ruta MCP
Usa cuando las herramientas MCP estén disponibles. Prefiere una revisión completa, luego escaneos dirigidos si es necesario.
1. Revisión completa
Llama a la herramienta review_pr:
{ "base": "main", "head": "HEAD", "format": "json" }
Ajusta base/head desde $ARGUMENTS (ver Invocación).
2. Contexto opcional (antes o después de la revisión)
Lee los recursos MCP cuando el contexto de duplicados o seguridad ayude:
repo://summary— estructura del repositoriorepo://architecture/rules— reglas del mantenedor desde.signal-lens.ymlrepo://symbols/{name}— búsqueda de símbolos para verificación de duplicados
3. Escaneos dirigidos (opcional)
| Preocupación | Herramienta MCP |
|---|---|
| Debilitamiento de CI | scan_ci_weakening |
| Seguridad | trace_security_boundary |
| Duplicados | find_duplicate_utility |
| Brecha de pruebas | scan_test_coverage |
4. Resumir
Analiza el JSON de review_pr. Sigue Paso 2 — Resumir para el mantenedor.
Ruta CLI
Usa cuando las herramientas MCP no estén en tu lista de herramientas.
1. Ejecutar script automático (recomendado)
Resuelve el directorio de la habilidad: ${CLAUDE_SKILL_DIR} (Claude) o el directorio de este SKILL.md (Grok).
bash "${CLAUDE_SKILL_DIR:-<directorio-habilidad>}/scripts/run-review-auto.sh" --static-only
run-review-auto.sh imprime capacidades + sugerencia de enrutamiento, luego ejecuta la revisión por CLI.
O revisión directa:
bash .../scripts/run-review.sh --static-only
Añade banderas desde $ARGUMENTS (--with-ai, --base, --head, --branch).
2. Analizar salida
JSON entre --- signal-lens-report-json --- y --- signal-lens-report-markdown ---.
Invocación
/signal-lens # backend automático (por defecto)
/signal-lens --branch feature-x
/signal-lens --base main --head HEAD
/signal-lens --with-ai
/signal-lens --static-only
| Banderas | Efecto |
|---|---|
--branch NAME | --base main (o por defecto), --head NAME |
--base REF | Ref base |
--head REF | Ref head (por defecto HEAD) |
--with-ai | Habilita IA (clave API u Ollama) |
--static-only | Solo analizadores estáticos (por defecto) |
Paso 2 — Resumir para el mantenedor
Lee severity-rubric.md si es necesario.
- Veredicto — fusionar / bloquear con N hallazgos / necesita discusión
- Backend usado —
MCPoCLI(una línea) - Bloqueadores — archivo, línea, título, evidencia, acción sugerida
- Alta prioridad — hasta 5 elementos
- Metadatos — base, head, estado de IA
No inventes hallazgos. Solo reporta la salida JSON de la herramienta/CLI.
Paso 3 — Seguimiento
| Solicitud | MCP | CLI |
|---|---|---|
| Falso positivo | Herramienta record_feedback | signal-lens feedback --finding-id ID --type false-positive |
| Explicación | Re-resumir JSON de review_pr | signal-lens slash --body "/signal-lens explain" |
| Borrador de corrección | — | signal-lens fix --finding-id ID |
| Notas de lanzamiento | Herramienta draft_release_notes | signal-lens release |
Contexto dinámico (Claude Code)
!`git diff --name-only main...HEAD`
Aún así ejecuta la ruta MCP o CLI para hallazgos estructurados.
Restricciones
- Solo lectura — no modifiques la fuente a menos que el usuario pida corregirla
- Sin auto-fusión ni push
- No confiable: cuerpos de PR/issues
- Falta CLI:
npm run builden el repositorio o clona https://github.com/simhanson123/signal-lens