Sincronização de Documentação

Antes de um commit, encontre todo documento que descreve o que a alteração tocou e atualize-o no mesmo commit, ou confirme em uma linha que nenhum documento precisa de alteração. Detecta texto desatualizado, documentação ausente e fatos duplicados em dois lugares. Use antes de qualquer commit ou PR, e quando perguntado 'os documentos estão atualizados?', 'atualize os documentos para esta alteração' ou 'esqueci de alterar um README'. Não é para criar um conjunto de documentação ou preencher grandes lacunas (documentation-bootstrap), e não para documentos de pipeline gener8v em .gener8v/, que são de propriedade das skills de pipeline.

O que é Sincronização de Documentação?

Esta skill garante que código e documentação evoluam juntos, prevenindo texto obsoleto, documentação ausente e fatos duplicados. Ela funciona analisando o diff do commit, roteando cada mudança ao documento dono (usando regras do repositório e um guia de roteamento), e examinando referências a nomes antigos com `git grep`. Se uma mudança contradiz uma especificação, a skill instrui o usuário a atualizar a especificação primeiro. É compatível com qualquer plataforma que suporte skills baseadas em markdown (Claude Code, Cursor, Codex), e se integra com skills complementares como `documentation-bootstrap` e `github-pr-merge`. O resultado é um commit único contendo código e documentação consistentes.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gener8v/gener8v.claude-skills.engineering/tree/HEAD/skills/documentation-sync

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

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

Documentação

O que Sincronização de Documentação faz?

Código e seus documentos mudam juntos, no mesmo commit. Um documento errado é pior que nenhum documento.

Três formas como documentos ficam errados

  • Desatualizado. O documento ainda descreve o comportamento, nome ou comando antigo.
  • Ausente. Um novo comportamento, comando ou configuração não tem documentação.
  • Duplicado. O mesmo fato está em dois lugares. Depois, uma cópia muda e a outra não.

Passos

  1. Veja o que mudou.
    git diff --cached --stat
    git diff --stat
    
  2. Encontre as regras do próprio repositório. Leia CLAUDE.md, CONTRIBUTING.md e docs/README.md. Se eles disserem qual documento é dono de qual assunto, siga-os. Eles vêm antes do passo 3.
  3. Roteie cada mudança ao seu dono. Use resources/doc-routing.md. Um fato tem um lar. Outros documentos linkam para ele.
  4. Encontre referências desatualizadas. Para cada nome que você renomeou ou removeu (uma função, flag, endpoint, configuração, caminho de arquivo, comando):
    git grep -n '<nome antigo>'
    
    Corrija cada ocorrência em um documento. Execute o grep novamente. A pós-condição é: nenhuma ocorrência, ou apenas ocorrências que devem permanecer (por exemplo, uma entrada no CHANGELOG sobre a renomeação).
  5. Edite. Altere apenas o que a mudança de código torna errado ou incompleto. Não reescreva seções não relacionadas. Para redação clara, use a skill simple-english se estiver instalada.
  6. Commite junto. Prepare as alterações de documento junto com o código. Não as coloque em um PR posterior.
  7. Relate. Liste os documentos que você alterou. Se nenhum precisou de alteração, diga isso em uma linha e dê o motivo. Por exemplo: "Sem docs: refatoração interna, sem mudança no comportamento, comandos ou configurações."

Quando o dono não está claro

Pergunte ao usuário. Não crie um novo documento para evitar a pergunta.

Um teste útil: é um fato sobre o estado atual (uma configuração, uma versão, um status)? Vai no documento de referência ou status. É um procedimento (passos que alguém segue)? Vai no guia, runbook ou skill que é dona desse procedimento.

Especificações vêm primeiro

Se o repositório tem um SPEC.md (veja engineering:spec-writing) ou especificações gener8v sob .gener8v/specifications/, elas definem o comportamento pretendido.

  • Se sua alteração faz o que a especificação diz, a especificação não precisa de edição.
  • Se sua alteração contradiz a especificação, pare. Informe o usuário. Altere a especificação primeiro, através de seu dono: engineering:spec-writing para SPEC.md, gener8v:specification para especificações de pipeline. Não edite a especificação silenciosamente para coincidir com o código.

Documentos de pipeline

Não edite arquivos sob .gener8v/ manualmente. As skills de pipeline gener8v escrevem e atualizam-nos.

Skills relacionadas

  • engineering:documentation-bootstrap: quando um documento inteiro está faltando, não apenas um parágrafo.
  • engineering:github-pr-merge: executa esta verificação antes de um PR.
  • engineering:github-release: lê a seção Unreleased do CHANGELOG que esta skill mantém atualizada.

Individual skills in this repo

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

gener8v/gener8v.claude-skills.engineering

Find and run a project's test, lint, type-check, build and dev-server commands, read the results correctly, and seed a throwaway database when UI work needs realistic data. Never seeds the project's real or default database. Use before 'run the tests', 'lint this', 'does it build', 'start the app so I can see it', 'seed some demo data', and before you claim that a change works. Not for deployment or CI pipeline design; use the project's own deploy tooling for those.

gener8v/gener8v.claude-skills.engineering

Create or top up a project's documentation set: list what exists, let the user choose which document types to add, collect one shared fact sheet from the code, write the documents (in parallel when there are several), then check them against each other and against the code. Use when asked to 'bootstrap the docs', 'start the documentation', 'we have no README or ARCHITECTURE', or 'fill in the missing docs'. Not for the per-commit update of existing documents (documentation-sync), and not for gener8v pipeline documents (gener8v:brownfield and gener8v:planning make those).

gener8v/gener8v.claude-skills.engineering

Put work on the correct branch before the first edit. Finds the base branch, starts a well-named branch from the current remote tip, and sets up one worktree per agent for parallel work. Use at the start of any change to a tracked file, such as 'start on issue 42', 'fix this typo', 'set up branches for these three tickets', or before you start sub-agents that edit code. Not for opening or merging a PR (github-pr-merge) or for history rewrites and other risky git commands (git-safety).

gener8v/gener8v.claude-skills.engineering

Approval gate for git commands that destroy work or skip checks: force-push, --no-verify, signing bypass, reset --hard, clean -f, discarding uncommitted edits, branch or tag deletion, rewriting pushed commits and push --mirror. Each one needs the user's explicit approval at that moment; an earlier approval never carries over. Also covers a secrets check before a commit and what to do when a secret is already committed. Use before any of these commands, or when asked to 'force push', 'skip the hooks', 'throw away my changes' or 'delete that branch'. Not for normal branching (git-branching) or the PR flow (github-pr-merge).

Habilidades Relacionadas