CommunityProgramación y desarrollogithub.com

rastreador-de-evolucion-de-documentos

Rastrea la evolución de documentos a través de versiones. Úsalo cuando el usuario tenga una familia de versiones de un documento (archivos con marcas de tiempo o nombres secuenciales) y quiera ver cómo cambió el documento a lo largo del tiempo: qué párrafos, líneas o frases se agregaron, eliminaron o modificaron entre versiones consecutivas, y cómo evolucionó un conjunto de conceptos (o encabezados detectados automáticamente) (introducidos, conservados, modificados, eliminados). Se activa con expresiones como 'seguir cambios de documento', 'historial de versiones', 'qué cambió entre borradores', 'linaje de conceptos', 'evolución del documento'. Genera una línea de tiempo en Markdown y JSON.

¿Qué es rastreador-de-evolucion-de-documentos?

Esta habilidad está diseñada para desarrolladores y usuarios que trabajan con múltiples versiones de un documento (por ejemplo, borradores numerados secuencialmente o con marcas de tiempo) y necesitan rastrear cambios estructurales y conceptuales a lo largo del tiempo. A diferencia de un simple diff entre dos archivos, esta herramienta analiza todas las versiones consecutivas y produce un informe detallado a nivel de párrafo, línea o frase, identificando qué contenido se agregó, eliminó o modificó en cada transición. Además, permite definir conceptos específicos (o detectar automáticamente encabezados) para rastrear su linaje: cuándo se introdujeron, si se mantuvieron, modificaron o desaparecieron en versiones posteriores. Es útil para entornos como la revisión de documentos legales, académicos o técnicos, donde se necesita una línea de tiempo clara de la evolución del contenido. La salida se genera tanto en Markdown (legible para humanos) como en JSON (para consumo programático).

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JiamingShi-JsPhys/agent-skills/tree/HEAD/skills/document-evolution-tracker

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace rastreador-de-evolucion-de-documentos?

Una habilidad autónoma que rastrea cómo un documento evoluciona a través de versiones. Dada una familia de versiones (un directorio con v1.md, v2.md, ... o archivos con marcas de tiempo), calcula diferencias a nivel de párrafo entre versiones consecutivas y rastrea el linaje de conceptos (introducidos / conservados / modificados / eliminados).

FLUJO DE TRABAJO OBLIGATORIO

Inicialización de dependencias (ejecutar en el primer uso)

Antes de la primera ejecución, verifica las dependencias de tiempo de ejecución para esta habilidad:

  • Núcleo: biblioteca estándar pura — no requiere instalación.
  • Opcional: PyYAML (solo cuando la configuración es un .yaml; las configuraciones JSON funcionan solo con la biblioteca estándar).

Si falta PyYAML y la configuración es YAML, informa al usuario y pregúntale si desea pip install pyyaml; instálalo solo después de su confirmación. Nunca instales en el entorno global sin consentimiento explícito.

  1. Carga una configuración (config/examples/family.json como referencia; las configuraciones YAML también son compatibles cuando PyYAML está instalado).

  2. Verifica que versions_dir contenga al menos dos archivos versionados.

  3. Ejecuta python -m src.cli run --config <ruta> [--concepts "A,B"].

  4. Reporta el conteo de transiciones y señala al usuario hacia ./evolution/evolution_<id_de_seguimiento>.{md,json}.

Cuándo usarlo

  • Una familia de versiones de documentos (con marcas de tiempo o nombres secuenciales) debe ser comparada a lo largo del tiempo.
  • El usuario solicita "seguir cambios de documento", "historial de versiones", "qué cambió entre borradores" o "linaje de conceptos".
  • Un concepto con nombre (un término, un encabezado, una definición) debe ser rastreado a través de los borradores para ver cuándo se introdujo, modificó o eliminó.
  • La evolución de un borrador debe reportarse como una línea de tiempo, no como una diferencia única de extremo a extremo.

Ejemplos de uso

# Validar una configuración y ver los archivos de versión descubiertos.
python -m src.cli validate --config config/examples/family.json
python -m src.cli versions --config config/examples/family.json

# Ejecutar el rastreador; opcionalmente nombrar los conceptos a seguir.
python -m src.cli run --config config/examples/family.json --concepts "entropía,función de partición"

Los informes se escriben en ./evolution/evolution_<id_de_seguimiento>.{md,json}; la línea de tiempo en Markdown es para lectores, el JSON para uso programático.

Manejo de errores

  • Configuración inválida (validate termina con código distinto de cero) — corrige el campo reportado y vuelve a validar; el esquema de nombres y versions_dir suelen ser los culpables.
  • Menos de dos versiones descubiertas — la ejecución se cancela; verifica la regla version_naming con los nombres de archivo reales y reintenta.
  • Un concepto nunca aparece — se reporta como ausente en todas las versiones, lo cual es un resultado válido, no un error.
  • Código de salida inesperado — reporta el mensaje textual; no recurras a comparar los archivos manualmente.

Granularidad de diferencias

GranularidadRegla de división
lineaLíneas no vacías
parrafo (predeterminado)Bloques separados por líneas en blanco
oracionOraciones delimitadas por puntuación

Limitaciones

  • La comparación es estructural (alineación de bloques mediante difflib), no semántica. Un concepto está "presente" solo cuando su frase exacta (sin distinción de mayúsculas/minúsculas) aparece en el texto de la versión.
  • No se admiten esquemas de nombres personalizados más allá de secuencial/marca_de_tiempo.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

JiamingShi-JsPhys/agent-skills

Cross-document conflict detector. Use when the user has two or more documents, datasets, or extracted fact tables and wants to find contradictions between them. Triggers on "detect conflicts", "find contradictions", "do these documents agree", "cross-check claims", "inconsistency check", or when comparing a claim across multiple sources. Runs three detection levels: entity (numeric / boolean mismatch on the same key), clause (categorical mismatch), and argument (free-text disagreement). Emits a machine-readable conflict report in JSON / CSV / Markdown.

JiamingShi-JsPhys/agent-skills

Longitudinal statistical analysis pipeline. Use when the user has panel / repeated-measures data (one or more sessions per subject, with between-subject conditions) and wants to run a reproducible analysis: descriptive stats, a manipulation check, a linear mixed model, a lagged mediator, or a sensitivity analysis over random-effects / covariance structures. Triggers on any of the phrases "LMM", "mixed model", "repeated measures", "longitudinal analysis", "mediation over time", "lagged mediator", "sensitivity analysis of RE structure". When fired, load the YAML config that lists the enabled steps, run the pipeline, and report the per-step results plus the generated CSVs.

JiamingShi-JsPhys/agent-skills

State manager for multi-dimensional computational experiments. Iterate a parameter grid over many rounds, snapshot declared critical files each round, audit every round (params, hashes, timestamps, status), and roll back to any round non-destructively. Use it when a workflow runs hundreds of rounds across multiple parameter dimensions and needs per-round snapshots, full audit trail, and arbitrary rollback - e.g. longitudinal studies, parameter scans, or symbolic/ numerical sweeps calling external solvers (Mathematica, GAP, SymPy, custom scripts).

Skills relacionados