Documentar o sistema
Preparação obrigatória
Antes de executar esta skill, carregue obrigatoriamente $specsfy-setup na
raiz do projeto. Em handoff automático, carregue-o de novo antes desta etapa.
Reutilize a raiz confirmada na conversa e não prossiga se o setup apontar uma
pendência.
Modo de interação
Modo de interação: sem perguntas.
Não formule perguntas nesta skill. Registre como não identificado todo dado
que as fontes executáveis não sustentarem.
Ler instruções locais, PROJECT.md, .specsfy/STACK.md,
.specsfy/RULES.md, .specsfy/DATABASE.md, manifests, lockfiles,
metadados instalados e código existente.
Ler o padrão documental antes de
alterar a topologia publicada.
Construir toda a documentação e .specsfy/PACKAGES.md, mesmo quando a
skill for acionada sem uma spec ou implementação recente:
node scripts/build_documentation.mjs --project <raiz>
Inspecionar os arquivos gerados e corrigir manualmente somente inferências
que o código não sustente. Não inventar decisões, relações ou integrações.
Executar --check para provar que a documentação representa o estado atual:
node scripts/build_documentation.mjs --project <raiz> --check
Preservar conteúdo humano fora dos blocos specsfy:documentator, inclusive
em .specsfy/PACKAGES.md. Tratar o bloco como projeção reconstruível das
fontes locais.
Registrar na evidência da tarefa o comando, resultado e arquivos atualizados.
Cobertura obrigatória
Manter em docs/:
- portal e roteiro de leitura;
- arquitetura, componentes e UML em Mermaid;
- inventário da aplicação e implementações existentes;
- banco e entidades com
erDiagram;
- fluxos com
flowchart e sequenceDiagram;
- guia e resumo dos testes;
- frontend, views, React e Tailwind;
- bibliotecas e pacotes nativos, de framework, integrados e terceiros, com
versão, fonte e referência GitHub;
- integrações e variáveis de configuração sem valores sensíveis;
- decisões explícitas e suas fontes.
Manter em .specsfy/PACKAGES.md:
- todos os pacotes npm e Composer encontrados nos manifests e lockfiles do
projeto, inclusive dependências transitivas registradas localmente;
- gerenciador, escopo, nome, versão, finalidade curta e fonte de cada pacote;
- descrição declarada no lockfile ou pacote instalado quando existir;
- aviso explícito quando os metadados locais não comprovarem a finalidade.
Para Laravel, mapear rotas, controllers, models, services, jobs, policies,
Blade, migrations e Pest/PHPUnit. Para Node, Next.js, React ou Astro, mapear
páginas, rotas de API, componentes, módulos, scripts e Vitest/Jest/Node Test.
Limites
- Não copiar segredos, valores de
.env, dados de produção ou código inteiro.
- Não apresentar heurística como decisão confirmada.
- Não substituir specs,
PROJECT.md ou arquivos humanos em .specsfy/.
PACKAGES.md é a única projeção reconstruída pela skill nesse diretório e
preserva conteúdo fora do bloco gerado.
- Não exigir rede para construir. Quando o repositório GitHub de um pacote não
estiver declarado localmente nem for conhecido, publicar uma busca GitHub
claramente rotulada, em vez de inventar uma URL.
1---2name: specsfy-documentator3description: Construir a documentação técnica em docs/ e o inventário npm/Composer em .specsfy/PACKAGES.md. Use ao documentar sistemas ou após implementações.4---56# Documentar o sistema78## Preparação obrigatória910Antes de executar esta skill, carregue obrigatoriamente `$specsfy-setup` na11raiz do projeto. Em handoff automático, carregue-o de novo antes desta etapa.12Reutilize a raiz confirmada na conversa e não prossiga se o setup apontar uma13pendência.1415## Modo de interação1617Modo de interação: `sem perguntas`.18Não formule perguntas nesta skill. Registre como não identificado todo dado19que as fontes executáveis não sustentarem.20211. Ler instruções locais, `PROJECT.md`, `.specsfy/STACK.md`,22 `.specsfy/RULES.md`, `.specsfy/DATABASE.md`, manifests, lockfiles,23 metadados instalados e código existente.242. Ler [o padrão documental](references/documentation-standard.md) antes de25 alterar a topologia publicada.263. Construir toda a documentação e `.specsfy/PACKAGES.md`, mesmo quando a27 skill for acionada sem uma spec ou implementação recente:2829 ```bash30 node scripts/build_documentation.mjs --project <raiz>31 ```32334. Inspecionar os arquivos gerados e corrigir manualmente somente inferências34 que o código não sustente. Não inventar decisões, relações ou integrações.355. Executar `--check` para provar que a documentação representa o estado atual:3637 ```bash38 node scripts/build_documentation.mjs --project <raiz> --check39 ```40416. Preservar conteúdo humano fora dos blocos `specsfy:documentator`, inclusive42 em `.specsfy/PACKAGES.md`. Tratar o bloco como projeção reconstruível das43 fontes locais.447. Registrar na evidência da tarefa o comando, resultado e arquivos atualizados.4546## Cobertura obrigatória4748Manter em `docs/`:4950- portal e roteiro de leitura;51- arquitetura, componentes e UML em Mermaid;52- inventário da aplicação e implementações existentes;53- banco e entidades com `erDiagram`;54- fluxos com `flowchart` e `sequenceDiagram`;55- guia e resumo dos testes;56- frontend, views, React e Tailwind;57- bibliotecas e pacotes nativos, de framework, integrados e terceiros, com58 versão, fonte e referência GitHub;59- integrações e variáveis de configuração sem valores sensíveis;60- decisões explícitas e suas fontes.6162Manter em `.specsfy/PACKAGES.md`:6364- todos os pacotes npm e Composer encontrados nos manifests e lockfiles do65 projeto, inclusive dependências transitivas registradas localmente;66- gerenciador, escopo, nome, versão, finalidade curta e fonte de cada pacote;67- descrição declarada no lockfile ou pacote instalado quando existir;68- aviso explícito quando os metadados locais não comprovarem a finalidade.6970Para Laravel, mapear rotas, controllers, models, services, jobs, policies,71Blade, migrations e Pest/PHPUnit. Para Node, Next.js, React ou Astro, mapear72páginas, rotas de API, componentes, módulos, scripts e Vitest/Jest/Node Test.7374## Limites7576- Não copiar segredos, valores de `.env`, dados de produção ou código inteiro.77- Não apresentar heurística como decisão confirmada.78- Não substituir specs, `PROJECT.md` ou arquivos humanos em `.specsfy/`.79 `PACKAGES.md` é a única projeção reconstruída pela skill nesse diretório e80 preserva conteúdo fora do bloco gerado.81- Não exigir rede para construir. Quando o repositório GitHub de um pacote não82 estiver declarado localmente nem for conhecido, publicar uma busca GitHub83 claramente rotulada, em vez de inventar uma URL.