document-evolution-tracker

Rastreador de evolução de documentos. Use quando o usuário tiver uma família de versões de documentos (arquivos com carimbo de data/hora ou nomeados sequencialmente) e quiser ver como o documento mudou ao longo do tempo — quais parágrafos/linhas/frases foram adicionados, removidos ou modificados entre versões consecutivas, e como um conjunto de conceitos nomeados (ou cabeçalhos detectados automaticamente) evoluiu (introduzido / mantido / modificado / removido). Aciona com

O que é document-evolution-tracker?

O document-evolution-tracker é uma skill autônoma que rastreia a evolução de documentos ao longo de versões consecutivas. Dado um diretório com arquivos de versão (como v1.md, v2.md ou arquivos com carimbo de data/hora), a skill calcula diferenças no nível de parágrafo entre versões e rastreia a linhagem de conceitos nomeados (introduzido, mantido, modificado, removido). Suporta granularidade de linha, parágrafo (padrão) ou sentença. É útil para autores, revisores e pesquisadores que precisam de uma linha do tempo detalhada das mudanças em um documento, em vez de uma única comparação final. A skill funciona em Windows, macOS e Linux, com dependência opcional de PyYAML para arquivos de configuração YAML. O relatório de saída é gerado como Markdown (legível por humanos) e JSON (para uso programático).

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que document-evolution-tracker faz?

Uma skill autônoma que rastreia como um documento evolui ao longo das versões. Dada uma família de versões (um diretório com v1.md, v2.md, ... ou arquivos com carimbo de data/hora), ela calcula diferenças no nível de parágrafo entre versões consecutivas e rastreia a linhagem de conceitos (introduzido / mantido / modificado / removido).

FLUXO DE TRABALHO OBRIGATÓRIO

Bootstrap de dependências (executar na primeira execução)

Antes da primeira execução, verifique as dependências de tempo de execução para esta skill:

  • Core: biblioteca padrão pura — nenhuma instalação necessária.
  • Opcional: PyYAML (apenas quando o config for .yaml; configs JSON funcionam apenas com a biblioteca padrão).

Se o PyYAML estiver faltando e o config for YAML, informe o usuário e pergunte se deseja pip install pyyaml; instale somente após confirmação. Nunca instale no ambiente global sem consentimento explícito.

  1. Carregue um config (config/examples/family.json como referência; configs YAML também são suportados quando PyYAML está instalado).

  2. Verifique se versions_dir contém pelo menos dois arquivos de versão.

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

  4. Relate a contagem de transições e aponte o usuário para ./evolution/evolution_<tracking_id>.{md,json}.

Quando usar

  • Uma família de versões de documentos (arquivos com carimbo de data/hora ou nomeados sequencialmente) precisa ser comparada ao longo do tempo.
  • O usuário pergunta "rastrear alterações no documento", "histórico de versões", "o que mudou entre rascunhos" ou "linhagem de conceitos".
  • Um conceito nomeado (um termo, um cabeçalho, uma definição) precisa ser rastreado entre rascunhos para ver quando foi introduzido, modificado ou removido.
  • A evolução de um rascunho precisa ser relatada como uma linha do tempo em vez de uma única comparação de ponta a ponta.

Exemplos de uso

# Validar um config e ver os arquivos de versão descobertos.
python -m src.cli validate --config config/examples/family.json
python -m src.cli versions --config config/examples/family.json

# Executar o rastreador; opcionalmente nomear os conceitos a seguir.
python -m src.cli run --config config/examples/family.json --concepts "entropy,partition function"

Os relatórios são escritos em ./evolution/evolution_<tracking_id>.{md,json}; a linha do tempo em Markdown é para leitores, o JSON para uso programático.

Tratamento de falhas

  • Config inválido (validate sai com código não-zero) — corrija o campo relatado e revalide; o esquema de nomenclatura e versions_dir são os culpados comuns.
  • Menos de duas versões descobertas — a execução é abortada; verifique a regra version_naming em relação aos nomes reais dos arquivos e tente novamente.
  • Um conceito nunca aparece — é relatado como ausente em todas as versões, o que é um resultado válido, não um erro.
  • Código de saída inesperado — relate a mensagem textualmente; não recorra a fazer diff manual dos arquivos.

Granularidade do diff

GranularidadeRegra de divisão
lineLinhas não vazias
paragraph (padrão)Blocos separados por linhas em branco
sentenceFrases delimitadas por pontuação

Limitações

  • O diff é estrutural (alinhamento de blocos via difflib), não semântico. Um conceito está "presente" apenas quando sua frase exata (insensível a maiúsculas/minúsculas) aparece no texto da versão.
  • Esquemas de nomenclatura personalizados além de sequential / timestamp não são suportados.

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).

Habilidades Relacionadas