Skills Agentes

Witness

Firma, verifica y rastrea regresiones de fixes marcados a lo largo del tiempo mediante un manifiesto witness Ed25519 determinista. Funciona en cualquier proyecto: clona el toolkit, inicialízalo, registra fixes y regenera en cada release.

Solicitabash(node *)readwriteedit
Estrellas
69.4k

en todo el repo

Actividad
56

0–100, la ruta de este skill

Actualizado
hace 27 días

último commit aquí

Commits
1

últimos 90 días

Contexto
1.1k tok

49 tok en reposo

Paquete
1 archivo

4 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add ruvnet/ruflo --skill witness --agent claude-code

Se instala solo en este repositorio.

Este skill writes to your files.

Qué hace

  • Firma un manifiesto Ed25519 que lista cada fix documentado del código junto a su sha256 y una marca de texto distintiva.
  • Verifica que las marcas de los fixes sigan presentes en el árbol de trabajo, detectando regresiones.
  • Mantiene un historial temporal en JSONL para identificar en qué commit se introdujo una regresión.

Úsalo cuando

  • Para que el CI de un proyecto (propio o de ruflo) bloquee publicaciones si un fix documentado se revirtió.
  • Al inicializar el toolkit en un proyecto nuevo y registrar sus fixes en `witness-fixes.json`.
  • Para consultar el historial temporal y saber cuándo se introdujo una regresión.

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Genera el manifiesto witness para este release
    • Verifica que los fixes documentados sigan presentes
    • ¿En qué commit se introdujo esta regresión?

    SKILL.md

    En inglés

    Witness — cryptographic fix-regression tracking

    The witness toolkit lets you ship every release with a signed manifest that lists every documented fix in your codebase along with a sha256 + marker substring. Anyone with the same git commit can re-derive the public key and verify the signature without a committed private key.

    A temporal history (JSONL) tracks how the fix population evolves across releases — so when a regression appears, you can pinpoint the commit that introduced it, not just "it's broken now."

    This skill works two ways:

    1. Inside ruflo — used by ruflo's own CI to gate publishes (see .github/workflows/v3-ci.yml job witness-verify).
    2. In your own project — copy plugins/ruflo-core/scripts/witness/ into your repo, run init.mjs, register your fixes in witness-fixes.json, and call regen.mjs from your release pipeline.

    Quick start (any project)

    # One-time bootstrap — creates verification.md.json,
    # verification-history.jsonl, and witness-fixes.json template
    node plugins/ruflo-core/scripts/witness/init.mjs --root .
    
    # Edit witness-fixes.json: add { id, desc, file, marker } per fix.
    # A "marker" is a distinctive substring that MUST appear in `file`
    # while the fix is present. If someone reverts the fix, the marker
    # disappears and `verify` reports it as `regressed`.
    
    # Regenerate the manifest (signing requires @noble/ed25519)
    npm i @noble/ed25519
    node plugins/ruflo-core/scripts/witness/regen.mjs \
      --manifest verification.md.json \
      --history verification-history.jsonl \
      --fixes witness-fixes.json
    
    # Verify markers are present in the live tree
    node plugins/ruflo-core/scripts/witness/verify.mjs \
      --manifest verification.md.json
    
    # Or authenticate the manifest and check source markers in a clean clone.
    # Generated dist/ entries are explicitly reported as skipped.
    node plugins/ruflo-core/scripts/witness/verify.mjs \
      --manifest verification.md.json --source-only
    

    Temporal queries (ADR-103)

    # Latest snapshot vs. previous
    node plugins/ruflo-core/scripts/witness/history.mjs \
      --history verification-history.jsonl summary
    
    # For each currently-regressed fix, find the commit that introduced it
    node plugins/ruflo-core/scripts/witness/history.mjs \
      --history verification-history.jsonl regressions
    
    # Status timeline for a specific fix
    node plugins/ruflo-core/scripts/witness/history.mjs \
      --history verification-history.jsonl timeline --id F1
    
    # Machine-readable for CI
    node plugins/ruflo-core/scripts/witness/history.mjs \
      --history verification-history.jsonl summary --json
    

    summary exits non-zero if any fix newly regressed since the last snapshot — drop it in CI as a soft pre-merge gate.

    Anti-patterns

    • Hand-editing verification.md.json — always regenerate via regen.mjs, otherwise the signature breaks.
    • Markers that are too generic ('function', 'import') — pick something unique enough that grep doesn't false-positive against unrelated code.
    • Skipping the history append — without --history, you lose the ability to bisect when a regression was introduced.
    • Committing one without the otherverification.md.json and verification-history.jsonl belong in the same commit; the JSONL is what lets future you verify the signed manifest is the latest in the line.

    Files

    • scripts/witness/lib.mjs — shared regenerate / history logic.
    • scripts/witness/regen.mjs — CLI: sign + append history.
    • scripts/witness/history.mjs — CLI: query the temporal log.
    • scripts/witness/init.mjs — CLI: bootstrap into a fresh project.
    • scripts/witness/verify.mjs — CLI: validate signature + markers.

    In ruflo's CI

    v3-ci.yml job witness-verify runs after the behavioral smoke tests and before publish. Failure modes:

    Failure Cause
    signatureValid: no manifest hand-edited; re-run regen
    regressed: > 0 a documented fix lost its marker since issuance
    missing: > 0 a cited dist file no longer exists; rebuild or remove the entry
    scope: source-only signature + source markers checked; generated entries intentionally skipped

    Reproducido de ruvnet/ruflo bajo licencia MIT. Leer esta página en markdown.

    Archivos

    1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere Node.js y el paquete `@noble/ed25519` para firmar el manifiesto.

    Necesita en el PATH:nodenpm

    Detalles

    Creador
    ruvnet
    Licencia
    MIT
    Recursos incluidos
    Solo SKILL.md
    Repositorio
    ruvnet/ruflo
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de ruvnet/ruflo

    Este repo incluye 275 skills. Si instalas uno, normalmente ya tienes los demás.

    Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución.

    Costo de contexto al activarse
    833 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 4 días
    Permisos
    herramientas desarrollo

    Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento.

    Costo de contexto al activarse
    566 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 4 días
    Permisos
    automatizacion

    Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde.

    Costo de contexto al activarse
    627 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 4 días
    Permisos
    automatizacion

    Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP.

    Costo de contexto al activarse
    866 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 27 días
    herramientas desarrollo

    Crea un nuevo Architecture Decision Record con numeración secuencial y registro en AgentDB.

    Costo de contexto al activarse
    680 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 27 días
    herramientas desarrollo

    Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado.

    Costo de contexto al activarse
    443 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 26 días
    devops infraestructura

    Skills relacionados

    Especialista en el marketplace de aplicaciones y gestión de plantillas de Flow Nexus: publicación, descubrimiento, despliegue y analíticas de apps.

    Costo de contexto al activarse
    1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 6 meses
    devops infraestructura

    Modos de integración con GitHub para orquestación de flujos de trabajo, gestión de pull requests y coordinación de repositorios, con optimización por lotes.

    Costo de contexto al activarse
    1.7k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 6 meses
    devops infraestructura

    Gestión completa del ciclo de vida de pull requests y coordinación de flujos de trabajo de GitHub.

    Costo de contexto al activarse
    1.2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 6 meses
    devops infraestructura