Claude Code plugin · MCP · agent toolkit

livespec

Inteligencia de código local-first para agentes: grafo de llamadas, impacto, y trazabilidad Spec ↔ código — pensado para repos desconocidos.

9 lenguajes OpenSpec-aware group_db cross-repo sin API keys

Presentación interna · public beta · v0.30.0 · PyPI + Claude Code plugin · ← → o click

01 · Qué es

Un producto agent-shaped

Capa universal

Code intelligence

  • Índice SQLite local (.mcp-docs/docs.db)
  • Call graph + PageRank
  • Impact / dead code / endpoints
  • Search FTS5 + grep indexado

Diferenciador

Spec traceability

  • FR / ADR / NFR bajo una taxonomía
  • Links Spec ↔ símbolo / scenario
  • OpenSpec sync / validate / changes
  • Auditoría de cobertura

No es un IDE para humanos. Es señal que otros agentes consumen para orientarse más rápido en código ajeno.

02 · Qué responde

Las preguntas que un agente hace de verdad

PreguntaTool
¿Qué es este repo?index_project → get_project_overview
¿Quién llama a X?who_calls / quick_orient
¿Qué se rompe si cambio X?analyze_impact / git_diff_impact
¿Qué código implementa SPEC-042?get_spec_implementation
¿Qué Specs tocan este archivo?analyze_impact(target_type=file)
¿Qué flujos HTTP parecen muertos?find_legacy_flows
¿Hay dead code / tests huérfanos?find_dead_code / find_orphan_tests

03 · Cómo funciona

Pipeline local, sin nube

walk repo extract (ast / tree-sitter) resolve edges SQLite + NetworkX MCP tools

1. Index

index_project hashea contenido, re-extrae solo lo cambiado, resuelve refs con INSERT OR IGNORE.

2. Graph

Grafo cacheado por (db, project, run). Callers / callees / blast radius en µs tras el primer hit.

3. Specs

Anotaciones @spec:, OpenSpec markdown, links manuales/bulk. Explorer opcional (plugin docs).

Contrato clave: cada tool exige workspace=/abs/path/al/repo. Sin env fallback. Un repo por vez (o group_db compartido).

04 · Superficie

44 tools en tres tiers

~27 core

Siempre visibles: code intel, Spec agentic, OpenSpec read, search, legacy flows…

12 Spec plugin

CRUD, links, scenarios, scans, apply/archive change. Gate por Specs o LIVESPEC_PLUGINS.

5 Docs plugin

generate/list/export docs + Explorer / Flow Explorer.

05 · Cross-repo

group_db: el flujo entre servicios

Qué une

  • who_does_this_call → invokes_endpoints
  • who_calls → route_callers
  • find_symbol group-wide
  • find_legacy_flows
  • export_flow_explorer

Dogfood results-flow

13 repos · SM hub

20 live servers 17 live clients

2 legacy servers 20 orphan clients

Orphans ≠ basura: casi siempre SA faltante en el group (Assist Card, Details…).

06 · Claude Code plugin

MCP + Skill + Subagente + Command

.mcp.json

Arranca uvx livespec@pinned (marketplace) o checkout local vía Cursor mcp.json.

skills/livespec/

Manual operativo: tool map, workspace, traps, OpenSpec, cold open. ~215 líneas.

agents/livespec.md

Subagente especializado. Preload del Skill. Reglas duras (no inventar con grep si MCP cae).

/livespec-onboard

Command: delega cold open al subagente y pide briefing de orientación.

07 · Evaluación · Skill

Skill livespec

8.2
/ 10 · fuerte como playbook; riesgo de drift vs PyPI pin

Fortalezas

  • Regla workspace imposible de ignorar
  • Tool map por intención (no por catálogo)
  • Traps documentados: stale grep, sync_openspec duplica, bulk_link shape
  • Cold open + task loop claros
  • OpenSpec como SSoT de autoría
  • Fuente alineada a v0.30.0 public beta (find_legacy_flows, FTS-only, group_db)

Gaps

  • Pin marketplace = 0.30.0 (actualizar con claude plugin update): Skill 0.30 documenta group_db + find_legacy_flows; sin embed_chunks/agent_scratch
  • Largo (~215L): satura context del subagente en tareas triviales
  • Skill 0.30 ya cubre group_db + legacy traps (re-validar en adopters)
  • Guía legacy/APM landed in Skill 0.30 — keep pin in sync
  • Poco coverage de plugin docs / Flow Explorer

08 · Evaluación · Subagente

Agent livespec

8.5
/ 10 · contratos duros bien elegidos; allowlist consciente

Fortalezas

  • Preload del Skill (skills: [livespec])
  • Sin allowlist MCP hardcodeada — evita el bug de namespace (mcp__livespec__* vs plugin)
  • STOP si MCP cae: no mentir con Grep
  • No mutar Specs sin aprobación
  • Respeta paginación / summary_only
  • Output: respuesta + evidencia + caveats
  • Trigger proactivo bien escrito en description

Gaps

  • Depende 100% del Skill preload → si el pin es viejo, el agente opera mal
  • No menciona find_legacy_flows / cross-repo en el body del agent
  • No instruye “confirm traffic before delete”
  • Command onboard es delgado (bien) pero no hay commands para impact / legacy
  • En Cursor el subagente vive como Task type; UX distinta a Claude Code

09 · Evaluación · Command

/livespec-onboard

7.5
/ 10 · hace una cosa bien; falta suite de commands

Qué hace bien

Delega al subagente el cold open canónico y pide un briefing accionable. Bajo mantenimiento.

Qué faltaría

  • /livespec-impact <qname>
  • /livespec-legacy (group_db)
  • /livespec-spec SPEC-…

10 · Limitaciones

Lo que livespec no es

No es tráfico real

Dead code / legacy flows = evidencia de grafo. Confirmá con APM/logs antes de borrar.

No es omnisciente

DI / reflection / string dispatch / Jest anónimo / SAs fuera del group → falsos positivos y ceros “honestos”.

Índice = verdad

Sin index_project fresco, grep y impacto mienten. Watcher no es el camino feliz.

Pin = PyPI 0.30

Marketplace puede ir atrás del checkout. Cursor debe apuntar al path local para dogfood.

11 · Cuándo usarlo

Fit / no-fit

Usar

  • Cold-open de repo desconocido
  • Impact antes de un refactor
  • PR review (diff → Specs / callers)
  • Polyrepo HTTP (group_db)
  • Adopción Spec / OpenSpec en brownfield
  • Candidatos a legacy (con confirmación)

No usar solo

  • “Borrá todo lo no usado” sin APM
  • Búsqueda semántica profunda (sin vectors)
  • Runtime debugging / logs / K8s
  • Indexar carpeta padre multi-repo
  • Autoría Spec solo en el motor (preferí OpenSpec md)

12 · Acciones recomendadas

Cerrar el gap Skill ↔ producto

  1. PyPI + plugin ya en 0.30.0 — al subir minor, bump pin Skill en el mismo release
  2. Done in 0.30 Skill — maintain on every release
  3. Commands: impact / legacy / spec-impl
  4. Agent body: 3 líneas sobre cross-repo + confidence=low
  5. Skill “lite” opcional (~40L) para tareas de un solo símbolo

Cierre

Una frase

livespec indexa el grafo y los Specs para que el agente pregunte menos a ciegas — y se equivoque menos al tocar código ajeno.

Qué

Call graph + Spec↔code local

Cómo

Extract → SQLite → MCP tools

Límite

Grafo ≠ prod · pin ≠ HEAD

Abrí este archivo en el browser · flechas / espacio · P para imprimir PDF
Repo: github.com/Rixmerz/livespec · docs/livespec-presentation.html