Skill de Documentação por nível de decisão. Use quando precisar documentar features, APIs, arquitetura, setup, operação, ou manter documentação existente atualizada. Trigger em: "documentar", "documentação", "docs", "ADR", "architecture decision record", "README", "feature doc", "api doc", "setup doc", "runbook", "troubleshooting", "doc de operação", "registrar decisão", "atualizar docs", "documentar repositório", "repo wiki", "mapa de arquitetura", "C4", "documentação completa do código", "regras de negócio", "RPA", "automação", "segurança do app", "melhorias do repositório", "site da documentação", "HTML offline", "buscar na documentação".
70
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Documentação existe para responder perguntas antes que alguém precise fazer a pergunta. Cada nível de decisão tem seu próprio tipo de documentação.
Esta skill herda comportamento base de GLOBAL.md e destas policies:
policies/execution.mdpolicies/handoffs.mdpolicies/persistence.mdpolicies/token-efficiency.mdpolicies/writing-clarity.mdpolicies/anti-ai-writing.md ← antes de finalizar qualquer doc que humanos vão lerpolicies/evals.mdpolicies/search-first.mdpolicies/iterative-retrieval.mdpolicies/source-driven.mdpolicies/verification-before-completion.mdSe houver conflito entre instrucoes, a hierarquia global do kit prevalece.
Para templates completos de feature, ADR, runbook e playbook, consultar docs/skill-guides/documenter-templates.md apenas quando necessario.
Responde: qual problema resolve, para quem, com quais regras.
Conteúdo obrigatório:
Responde: qual endpoint chamar, com quais dados, e o que esperar de volta.
Conteúdo obrigatório:
Responde: qual a estrutura, quais padrões, por que essa decisão técnica.
Conteúdo obrigatório:
Responde: como subir, como deployar, como monitorar, como resolver problemas.
Conteúdo obrigatório:
Manter runbooks em docs/ops/runbooks/.
Para templates completos de runbook e playbook, consultar docs/skill-guides/documenter-templates.md.
docs/
README.md
features/
<feature-name>/
README.md
rules.md
flow.md
api.md
ui.md
architecture/
overview.md
frontend.md
backend.md
decisions/
adr-NNN-*.md
api/
README.md
errors.md
pagination.md
ops/
setup.md
deploy.md
observability.md
context/
current-focus.md
history.md
plans/O diretório context/ é gerenciado pelo Context Manager. O diretório plans/ armazena planos de implementação.
Usar templates/doc-update.md para atualizacao curta e docs/skill-guides/documenter-templates.md quando precisar dos templates completos de feature, ADR, runbook e playbook.
rules.md, não repita em api.md. Faça referênciaCheckpoint antes de finalizar: buscar (grep) o mesmo fato/regra em outros arquivos de doc do projeto — se aparecer em 2+ lugares com texto divergente, isso já é a regra 4 quebrada, não uma coincidência inofensiva. Substituir a duplicata por referência ao arquivo canônico e reler o resultado; se ainda houver repetição, repetir a busca antes de considerar a doc pronta.
Documentação é escrita DURANTE o desenvolvimento, não depois.
Documentação escrita depois do fato é incompleta por definição. Ninguém lembra de tudo.
Codigo bem escrito prioriza clareza. Comentarios so fazem sentido quando explicam contexto nao obvio, restricoes externas ou workarounds temporarios.
Exceções permitidas:
Tudo mais é sinal de que o código precisa de refatoração, não de comentário.
Nem toda decisão de nível 3 (arquitetura) ou nível 1 (fluxo de usuário) se explica melhor em prosa. Antes de desenhar, perguntar: o leitor aprende mais com isso do que com um parágrafo bem escrito? Se não, não desenhar — lista ou tabela resolve.
Quando vale desenhar, usar a skill global artifact-diagramming (carregada via Skill tool — builtin do harness, "Diagramming know-how for Artifacts") para a técnica de desenho em Artifact (SVG inline, legibilidade em ambos os temas). Esta seção cobre outra coisa: qual tipo de diagrama usar para cada tipo de decisão documentada aqui.
Tabela curada — não é a lista completa de 39 tipos do catálogo fonte (ver ## Fontes), só os que mapeiam direto para os quatro níveis desta skill:
| Tipo | Uso no contexto desta skill |
|---|---|
| Architecture | Nível 3 — componentes + conexões (frontend, backend, DB, cache, filas) |
| Flowchart | Nível 1 — lógica de decisão de um fluxo de usuário ou regra de negócio |
| Sequence | Nível 2 — troca de mensagens entre client/API/serviço ao longo do tempo (bom para documentar um endpoint com retry/refresh de token) |
| ER / data model | Nível 3 — entidades + campos quando o schema em si não basta como documentação |
| State machine | Nível 3 — estados + transições de uma entidade com ciclo de vida (pedido, assinatura, job) |
| Swimlane | Nível 1 — fluxo cross-funcional (que atravessa mais de um ator/sistema) |
| Timeline | Nível 4 (runbook) ou release notes — eventos em ordem, útil em changelog complexo |
| Deployment | Nível 4 — zonas, hosts e artefatos; runbook de operação/deploy |
| Dependency graph | Nível 3 — fan-in entre módulos; complementa achado de god node do graphify |
Fora desses nove, o catálogo fonte cobre outros 30 tipos (quadrant, radar, kanban, gantt, treemap, venn, wardley, uml-class, db-schema físico, etc.) — úteis fora do escopo desta skill (planejamento, produto, dados). Consultar o repo diretamente se a decisão a documentar não se encaixar em nenhuma linha acima.
O catálogo fonte não confia em revisão visual para aprovar um diagrama — ele roda scripts que verificam a geometria do SVG (ex.: se uma label de seta ficou coberta pelo nó pintado depois dela, o defeito só aparece ao renderizar, não ao ler o código; revisão visual e até outros linters de estilo/acessibilidade passam sem notar). Essa disciplina é portável como prática, mesmo sem portar o script Python específico deles:
Depois de gerar um diagrama de arquitetura, sequência ou fluxo nesta skill, conferir manualmente (ou pedir ao agente que confira antes de considerar o diagrama pronto):
Isso não substitui teste automatizado quando o diagrama for gerado por script/CI; é o mínimo de rigor para um diagrama feito à mão ou por agente antes de entrar em doc publicada.
Seguir policies/handoffs.md e, quando util, templates/doc-update.md.
scripts/verify-geometry.py, documentado em docs/adr/0005-label-geometry-is-verified.md) vêm de cathrynlavery/diagram-design (MIT) — curados aqui como tabela de nove tipos mapeados aos quatro níveis de documentação desta skill, e como prática recomendada descrita em texto; os templates HTML+SVG completos e os scripts verify-*.py não foram portados — gap medido por grep em "diagram" no kit antes de curar (só menções esparsas nas skills 44, 51 e em skills/02-ui-ux-design/data/charts.csv, sem catálogo dedicado de tipos com verificação).memory/research/<slug>.md como fonte de verdade para a documentação.Quando o pedido for documentar um repositório inteiro, uma arquitetura desconhecida, um legado ou uma mudança transversal, carregar docs/skill-guides/documenter-repository-intelligence.md. Esse modo incorpora a análise estruturada do Litho/deepwiki-rs ao modelo do kit sem instalar um runtime Rust, depender de uma API externa ou transformar inferência em fato.
O modo Repo-Wiki deve:
Cada regra exige leitura semântica de código executável: condição, efeito, exceções, domínio, natureza (produto, operação ou exemplo), verificação e trecho exato. Listar arquivos, símbolos ou matches de palavras-chave NÃO extrai regras. Documentos, logs e instruções de agentes não são evidência de comportamento. Nunca abrir pastas ocultas para esse levantamento, nem reutilizar seu conteúdo via cache ou páginas de evidência antigas.
Registrar a revisão em analysis.json (schema de entrada 2, contrato no guia): arquivos lidos com SHA-256 e achados com trechos exatos. O compilador valida os hashes e gera âncoras [evidence: caminho:linha]; o report.json emitido usa schema 3. Snippets sensíveis são recusados e o builder aplica mascaramento em defesa adicional. observed significa observado estaticamente, não executado; inferred marca interpretação ou proposta. Verificação em runtime é relatada separadamente. Nunca escrever “sempre atualizado”, “completo” ou “funciona” sem prova correspondente.
O compilador marca trilhas como partial ou not_reviewed; ausência de achados não prova ausência no projeto. Publicar arquivos inventariados versus realmente revisados. RPA só é considerado operacional com processo e execução comprovados; um helper de instruções de browser não executa RPA.
Arquitetura é documentada em uma seção própria de analysis.json: resumo, nós e relações com evidência exata. contexts e levels opcionais separam contexto, containers e componentes, evitando misturar runtime, aplicação consumidora, template e benchmark. O gerador valida IDs, destinos, confiança e evidências, compõe architecture.md com mapa de módulos e bloco Mermaid, e o builder transforma o bloco em SVG local no site. Relações observed vêm de import/call/configuração visível; inferred são hipóteses rastreáveis. Não desenhar organograma de pessoas, ownership ou deploy sem evidência correspondente.
A página overview.md resume o sistema para onboarding: propósito, público/consumidor, tecnologias e versões, pontos de entrada, comandos úteis, estrutura relevante e limites. Cada item técnico deve ter evidência de manifesto, configuração ou código; templates e benchmarks são identificados como auxiliares, não misturados com a stack principal.
Por padrão, gerar em docs/repo-wiki/ para não sobrescrever feature docs, contratos ou ADRs existentes:
docs/repo-wiki/
README.md # índice e escopo do snapshot
overview.md # contexto C4 nível 1
architecture.md # containers, componentes e dependências
workflows.md # fluxos e sequência de dados
boundaries.md # CLI, API, rotas, integrações e configuração
database.md # schema/SQL ou not_applicable explícito
verification.md # comandos executados e limites da prova
modules/ # índice e deep dives dos módulos centrais
runtime.json # resultado opcional do runner seguro de build/test
site/ # HTML offline + busca + evidências locais
report.json # métricas, warnings, SHA, delta e coberturanode scripts/run-repo-wiki-runtime.mjs --repo . --output docs/repo-wiki/runtime.json --allow-execution
node scripts/generate-repo-wiki.mjs --repo . --output docs/repo-wiki --mode Full --analysis docs/repo-wiki/analysis.json --runtime docs/repo-wiki/runtime.json
node scripts/build-repo-wiki.mjs --repo . --docs docs/repo-wiki --site docs/repo-wiki/site
node scripts/verify-repo-wiki.mjs --docs docs/repo-wiki --site docs/repo-wiki/site --jsonAntes do comando, o agente deve ler as fontes permitidas e escrever a análise. Sem --analysis, o CLI produz apenas inventário e páginas pendentes. O runner opcional executa somente scripts build e test declarados no package escolhido, exige --allow-execution e grava saída sanitizada. O CLI aceita Full, Focused, Incremental e Drift: Focused restringe o inventário com --focus; Incremental registra delta e não reutiliza semântica sem reapresentação evidenciada; Drift escreve drift.json sem reescrever docs. A saída base publica README, overview, architecture, workflows, boundaries, database, verification e as cinco trilhas funcionais; modules/index.md e deep dives são adicionados quando houver módulos. Sem essas seções, as páginas correspondentes permanecem explicitamente not_reviewed ou not_applicable; não são preenchidas com texto ou diagrama genérico. O HTML usa apenas o manifesto do relatório, busca local, filtros por trilha, snippets citados e SVG local para Mermaid; não copia arquivos-fonte inteiros nem republica páginas antigas fora do manifesto.
Se --repo não for informado, o alvo é o diretório corrente (process.cwd()). Portanto, ao rodar a skill dentro de um projeto, a saída padrão fica nesse próprio projeto:
<projeto>/docs/repo-wiki/README.md
<projeto>/docs/repo-wiki/report.json
<projeto>/docs/repo-wiki/site/index.htmlO agente deve informar no handoff o caminho absoluto do repositório analisado, da pasta Markdown, do report.json e do site/index.html, além do número de arquivos inventariados/revisados, trilhas pendentes e verificações executadas. Se usar --repo, --output ou --site, deve informar os caminhos efetivos retornados pelos comandos, não repetir o default. O JSON de cada comando também retorna repo, markdown_dir, report, site e index para evitar ambiguidade.
Se o projeto já tiver uma árvore canônica, atualizar os arquivos correspondentes e registrar a decisão no handoff; não criar uma segunda fonte de verdade.
Foram portados os padrões e o fluxo de trabalho, não o código Rust do upstream. O leitor Litho Book e o produto Terrain ficam fora desta skill; Mermaid é validado pelo verificador local do kit, e a análise usa as ferramentas e políticas já disponíveis na superfície do agente.
O gate de conclusão exige Markdown válido e, quando o site é solicitado, HTML construído, links locais resolvidos, busca offline presente e external_requests: 0. Isso prova o artefato local; não substitui validação de domínio, teste de segurança em runtime ou execução real de uma automação.
74aa7c1
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.