@fontdata/ai-harness 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +9 -2
  3. package/LICENSE +21 -0
  4. package/README.md +175 -140
  5. package/{src → dist}/catalog.js +5 -12
  6. package/dist/cli.js +180 -0
  7. package/dist/comentarios/command.js +74 -0
  8. package/dist/comentarios/instalar.js +33 -0
  9. package/dist/config/config.js +99 -0
  10. package/dist/contratos/artefatos.js +284 -0
  11. package/dist/contratos/eventos.js +103 -0
  12. package/dist/doctor/checks.js +424 -0
  13. package/dist/init.js +240 -0
  14. package/dist/install/atomic.js +51 -0
  15. package/dist/install/flags.js +99 -0
  16. package/dist/install/hooks.js +47 -0
  17. package/dist/install/lock.js +39 -0
  18. package/dist/install/plan.js +209 -0
  19. package/dist/install/selection.js +77 -0
  20. package/dist/install/settings.js +112 -0
  21. package/dist/memoria/indice.js +195 -0
  22. package/dist/migrar/migrar.js +426 -0
  23. package/dist/rastro/command.js +46 -0
  24. package/dist/run.js +86 -0
  25. package/dist/trabalhos/conflitos.js +115 -0
  26. package/dist/types.js +1 -0
  27. package/dist/update/legado.js +74 -0
  28. package/dist/update/update.js +284 -0
  29. package/package.json +17 -8
  30. package/templates/CLAUDE.md +59 -30
  31. package/templates/agents/auditor-plano.md +44 -0
  32. package/templates/agents/investigador.md +32 -0
  33. package/templates/agents/qa.md +44 -0
  34. package/templates/agents/revisor-testes.md +40 -0
  35. package/templates/catalog.json +24 -61
  36. package/templates/commands/atualizar-deps.md +43 -9
  37. package/templates/commands/diagrama.md +35 -10
  38. package/templates/commands/gerar-env.md +39 -10
  39. package/templates/commands/gerar-testes.md +42 -10
  40. package/templates/commands/git-commit-push.md +0 -0
  41. package/templates/commands/onboarding.md +44 -15
  42. package/templates/commands/refatorar.md +50 -10
  43. package/templates/commands/revisar-pr.md +56 -12
  44. package/templates/commands/sincronizar-claude-md.md +177 -9
  45. package/templates/commands/versao.md +0 -0
  46. package/templates/hooks/comentarios/check.mjs +210 -0
  47. package/templates/hooks/hooks.json +34 -0
  48. package/templates/hooks/lembrete.mjs +29 -0
  49. package/templates/hooks/lib/config.mjs +40 -0
  50. package/templates/hooks/lib/hook.mjs +85 -0
  51. package/templates/hooks/lib/rastro.mjs +144 -0
  52. package/templates/hooks/lib/segredos.mjs +91 -0
  53. package/templates/hooks/lib/temas.mjs +111 -0
  54. package/templates/hooks/lib/trabalho.mjs +94 -0
  55. package/templates/hooks/proteger-contratos.mjs +80 -0
  56. package/templates/hooks/segredo-no-commit.mjs +76 -0
  57. package/templates/hooks/sem-jargao.mjs +58 -0
  58. package/templates/hooks/task-so-fecha-verde.mjs +33 -0
  59. package/templates/legado/manifesto.json +1267 -0
  60. package/templates/rules/comentarios.md +166 -0
  61. package/templates/rules/harness-projeto.md +41 -0
  62. package/templates/skills/auditar-performance/SKILL.md +53 -0
  63. package/templates/skills/auditar-performance/references/pontos-quentes.md +35 -0
  64. package/templates/skills/auditar-performance/templates/relatorios/CLIENTE.md +26 -0
  65. package/templates/skills/auditar-performance/templates/relatorios/TECNICO.md +27 -0
  66. package/templates/skills/auditar-seguranca/SKILL.md +67 -0
  67. package/templates/skills/auditar-seguranca/references/seguranca-tecnica.md +23 -0
  68. package/templates/skills/auditar-seguranca/templates/relatorios/CLIENTE.md +30 -0
  69. package/templates/skills/auditar-seguranca/templates/relatorios/TECNICO.md +38 -0
  70. package/templates/skills/auditar-ui/SKILL.md +64 -0
  71. package/templates/skills/auditar-ui/references/lentes.md +33 -0
  72. package/templates/skills/auditar-ui/templates/relatorios/CLIENTE.md +26 -0
  73. package/templates/skills/auditar-ui/templates/relatorios/TECNICO.md +31 -0
  74. package/templates/skills/evoluir-harness/SKILL.md +81 -0
  75. package/templates/skills/evoluir-harness/references/agent.md +83 -0
  76. package/templates/skills/evoluir-harness/references/auditoria.md +107 -0
  77. package/templates/skills/evoluir-harness/references/code-reviewer.md +68 -0
  78. package/templates/skills/evoluir-harness/references/design-system.md +56 -0
  79. package/templates/skills/evoluir-harness/references/hook.md +95 -0
  80. package/templates/skills/evoluir-harness/references/rule.md +67 -0
  81. package/templates/skills/evoluir-harness/references/skill.md +63 -0
  82. package/templates/skills/executar-plan/SKILL.md +130 -0
  83. package/templates/skills/executar-plan/references/delegacao.md +43 -0
  84. package/templates/skills/executar-plan/references/retomada.md +33 -0
  85. package/templates/skills/executar-plan/templates/BLOQUEIOS.md +30 -0
  86. package/templates/skills/harness/SKILL.md +75 -0
  87. package/templates/skills/harness/references/auto-tag.md +118 -0
  88. package/templates/skills/harness/references/ignores.md +40 -0
  89. package/templates/skills/harness/references/scaffold.md +29 -0
  90. package/templates/skills/harness/references/validar-ideia.md +42 -0
  91. package/templates/skills/memoria/SKILL.md +52 -0
  92. package/templates/skills/nova-tarefa/SKILL.md +99 -0
  93. package/templates/skills/nova-tarefa/references/isso-ja-existe.md +24 -0
  94. package/templates/skills/nova-tarefa/references/regras-do-plano.md +35 -0
  95. package/templates/skills/nova-tarefa/templates/DECISOES.md +20 -0
  96. package/templates/skills/nova-tarefa/templates/PLAN.md +58 -0
  97. package/templates/skills/nova-tarefa/templates/SPEC.md +37 -0
  98. package/templates/skills/resolver-bug/SKILL.md +104 -0
  99. package/templates/skills/resolver-bug/references/relatorio-para-cliente.md +26 -0
  100. package/templates/skills/resolver-bug/templates/PLAN.md +62 -0
  101. package/templates/skills/resolver-bug/templates/relatorios/CLIENTE.md +29 -0
  102. package/templates/skills/resolver-bug/templates/relatorios/TECNICO.md +32 -0
  103. package/bin/cli.js +0 -122
  104. package/src/init.js +0 -317
  105. package/src/installer.js +0 -92
  106. package/src/run.js +0 -99
  107. package/templates/commands/auditar-performance.md +0 -27
  108. package/templates/commands/auditar-seguranca.md +0 -64
  109. package/templates/commands/auditar-ui.md +0 -38
  110. package/templates/commands/codigo-morto.md +0 -22
  111. package/templates/commands/configurar-auto-tag.md +0 -185
  112. package/templates/commands/configurar-comentarios.md +0 -543
  113. package/templates/commands/configurar-orquestrador.md +0 -13
  114. package/templates/commands/corrigir-review.md +0 -11
  115. package/templates/commands/criar-agents.md +0 -42
  116. package/templates/commands/criar-code-reviewer.md +0 -30
  117. package/templates/commands/criar-hooks.md +0 -32
  118. package/templates/commands/criar-rag.md +0 -25
  119. package/templates/commands/criar-rules.md +0 -31
  120. package/templates/commands/criar-skill.md +0 -22
  121. package/templates/commands/design-system.md +0 -27
  122. package/templates/commands/executar-plan.md +0 -36
  123. package/templates/commands/gerar-claude-md.md +0 -66
  124. package/templates/commands/gerar-ignore.md +0 -37
  125. package/templates/commands/gerar-spec.md +0 -33
  126. package/templates/commands/harness.md +0 -34
  127. package/templates/commands/nova-tarefa.md +0 -60
  128. package/templates/commands/resolver-bug.md +0 -25
  129. package/templates/commands/review-por-task.md +0 -16
  130. package/templates/commands/scaffold.md +0 -25
  131. package/templates/commands/validar-commands.md +0 -24
  132. package/templates/commands/validar-ideia.md +0 -36
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: evoluir-harness
3
+ description: Cria ou ajusta peças do harness no projeto — agents, skills, rules, hooks, code-reviewer e design system — ou audita a pasta .claude e sugere o que mudar. Use de vez em quando, conforme o projeto cresce.
4
+ argument-hint: "[agent|skill|rule|hook|code-reviewer|design-system|auditar]"
5
+ ---
6
+
7
+ # Evoluir o harness
8
+
9
+ Pedido: $ARGUMENTS
10
+
11
+ O harness entrega os fluxos e as garantias; as peças específicas do projeto (agents de domínio, skills, rules,
12
+ hooks) nascem aqui, quando uma dor recorrente justifica. Cada tipo tem uma referência própria: **leia só a do tipo
13
+ escolhido**, quando ele for escolhido.
14
+
15
+ > **🚦 Há um GATE de aprovação** antes de gravar qualquer arquivo. Esta skill **não faz commit nem push**.
16
+
17
+ ## Passo 0 — Escolher o caminho
18
+
19
+ A primeira palavra do pedido é o tipo; o resto é contexto (nome, domínio, URL de referência).
20
+
21
+ | Tipo | Referência | O que sai |
22
+ |---|---|---|
23
+ | vazio ou `auditar` | `references/auditoria.md` | Diagnóstico da pasta `.claude` e as listas manter, ajustar, remover e criar |
24
+ | `agent` | `references/agent.md` | Agents de domínio em `.claude/agents/` e o mapa na rule de projeto |
25
+ | `skill` | `references/skill.md` | Skill do projeto em `.claude/skills/<nome>/` |
26
+ | `rule` | `references/rule.md` | Rules incondicionais, escopadas por path e de código legado |
27
+ | `hook` | `references/hook.md` | Hooks por agent sobre a biblioteca do harness |
28
+ | `code-reviewer` | `references/code-reviewer.md` | Agent de review somente leitura e o portão extra |
29
+ | `design-system` | a referência `design-system.md` em `references/` | Agent, skill e rules da identidade visual |
30
+
31
+ Tipo desconhecido: mostre a tabela e pergunte. Não carregue as outras referências.
32
+
33
+ ## Passo 1 — Contexto (somente leitura)
34
+
35
+ 1. Leia o `CLAUDE.md` e o `SPEC.md` da raiz e `.claude/rules/harness-projeto.md`. Faltando `SPEC.md` ou
36
+ `CLAUDE.md`, sugira `/sincronizar-claude-md` antes; siga só se o usuário quiser usar o código como fonte.
37
+ 2. Liste `.claude/agents/`, `.claude/skills/`, `.claude/rules/`, `.claude/hooks/` e `.claude/commands/`; leia
38
+ `.claude/settings.json` e `.ai-harness/config.json`.
39
+ 3. Havendo trabalho em curso, leia o `PLAN.md`, o `DECISOES.md` e o `BLOQUEIOS.md` em `docs/trabalhos/<id>/`.
40
+ 4. Rode `npx @fontdata/ai-harness doctor` e guarde os achados: eles alimentam a auditoria e a conferência final.
41
+
42
+ ## Passo 2 — Sem tipo: auditar
43
+
44
+ Siga `references/auditoria.md`. Entregue as quatro listas (**manter / ajustar / remover / criar**), cada item com
45
+ o motivo, e pergunte o que aplicar. Para cada item escolhido, leia então a referência do tipo dele e siga do Passo 3.
46
+
47
+ ## Passo 3 — Com tipo: desenhar (sem gravar)
48
+
49
+ Siga a referência do tipo. Rascunhe o conteúdo completo de cada arquivo e o que muda nos arquivos existentes.
50
+ Toda peça proposta precisa apontar a dor recorrente que resolve; sem ela, não proponha.
51
+
52
+ ## Passo 4 — 🚦 GATE de aprovação
53
+
54
+ Mostre ao usuário, antes de gravar:
55
+
56
+ - os caminhos exatos a criar e a alterar;
57
+ - o conteúdo proposto de cada arquivo novo e o trecho de cada alteração (merge);
58
+ - o que fica de fora de propósito (peças do harness, arquivos já existentes).
59
+
60
+ **Não grave nada sem o "ok".** Ajuste e mostre de novo quando o usuário pedir mudança.
61
+
62
+ ## Passo 5 — Gravar e conferir
63
+
64
+ 1. Grave só o que foi aprovado, com **merge, não sobrescrita**, em `settings.json`, `config.json`, frontmatter
65
+ de agents e `.claude/rules/harness-projeto.md`.
66
+ 2. Rode `npx @fontdata/ai-harness doctor` de novo e confirme que não surgiu achado novo.
67
+ 3. Mostre como usar cada peça: invocar o agent, disparar a skill, demonstrar o hook com uma entrada de exemplo.
68
+ 4. Agent novo muda a orquestração: sugira `/sincronizar-claude-md` para reconciliar o `CLAUDE.md`.
69
+ 5. Pare aqui. Para versionar, o usuário roda `/git-commit-push` quando quiser.
70
+
71
+ ## Guardrails
72
+
73
+ - **Nunca** gravar antes do GATE; **nunca** fazer commit ou push.
74
+ - **Não recriar, renomear nem editar** as peças do harness: os agents `revisor-testes`, `qa`, `investigador` e
75
+ `auditor-plano`, `.claude/hooks/ai-harness/`, `.claude/hooks/comentarios/` e `.claude/rules/comentarios.md`. O
76
+ `update` as mantém; o que é específico do projeto vai para `.claude/rules/harness-projeto.md`.
77
+ - Todo agent declara `tools:` mínimo e `model:`; hook novo nasce em `aviso`.
78
+ - Uma fonte por assunto: não repetir em rule, skill ou agent o que já está no `CLAUDE.md` ou em outra rule.
79
+ - Não criar skill ou comando que repita os fluxos `/nova-tarefa`, `/resolver-bug`, `/executar-plan` ou `/harness`.
80
+ - Documento de trabalho só em `docs/trabalhos/<id>/`.
81
+ - Conteúdo em **pt-BR**.
@@ -0,0 +1,83 @@
1
+ # Referência — agent
2
+
3
+ Cria os **agents de domínio** do projeto em `.claude/agents/`.
4
+
5
+ ## Leitura
6
+
7
+ `CLAUDE.md` e `SPEC.md` da raiz, o `PLAN.md` do trabalho em curso em `docs/trabalhos/<id>/`,
8
+ `.claude/rules/harness-projeto.md` e os agents que já existem.
9
+
10
+ ## O que já vem com o harness
11
+
12
+ `revisor-testes`, `qa`, `investigador` e `auditor-plano` são agents somente leitura do harness, instalados pelo
13
+ `init` ou disponíveis no plugin como `fontdata:<nome>`. **Não os recrie nem crie agent com esses nomes**: um agent
14
+ do projeto com o mesmo nome substitui o do harness e quebra os gates. Se o projeto precisa que o `qa` rode a suíte
15
+ de outro jeito, isso vai para a seção "Suíte de testes" da rule de projeto, não para um agent novo.
16
+
17
+ Crie aqui só agents de domínio: implementação por módulo, design system, parser, integração.
18
+
19
+ ## Quando vale um agent
20
+
21
+ - Área com padrões próprios e tasks recorrentes (API, frontend, módulo Delphi, integração fiscal).
22
+ - Trabalho que precisa de contexto limpo ou de ferramentas diferentes das da sessão.
23
+
24
+ Contra-exemplos: agent por task ou por arquivo; agent "generalista" que faz tudo; agent que só repete o
25
+ `CLAUDE.md`.
26
+
27
+ ## Para cada agent
28
+
29
+ 1. **Nome e descrição:** `kebab-case`; a `description` diz quando usar, com o domínio e a pasta. O orquestrador
30
+ delega por ela.
31
+ 2. **`tools:` mínimo**, sempre declarado. Sem `tools:`, o agent herda todas as ferramentas da sessão, inclusive
32
+ edição e `Bash`. Não dê `Write` a quem só precisa de `Read`.
33
+ 3. **Modelo:** `haiku` para tarefa simples, `sonnet` para implementação, `opus` para arquitetura.
34
+ 4. **Skills do projeto** que o agent deve carregar.
35
+ 5. **System prompt** com papel e responsabilidades, escopo de pastas, restrições explícitas (o que nunca fazer),
36
+ padrões do projeto, como rodar os testes (o comando da rule de projeto) e o que devolver ao orquestrador.
37
+
38
+ ```markdown
39
+ ---
40
+ name: backend-dev
41
+ description: Implementa tasks de API e regras de negócio em apps/api/. Use quando a task do plano for do domínio backend.
42
+ tools: Read, Grep, Glob, Edit, Write, Bash
43
+ model: sonnet
44
+ ---
45
+ ```
46
+
47
+ ## Obrigatório em todo agent que escreve código
48
+
49
+ Implementação, testes, refactor e design system levam no system prompt, literalmente, o bloco abaixo. A rule
50
+ `.claude/rules/comentarios.md` é carregada sozinha em toda sessão; o bloco repete só o orçamento e diz **onde** a
51
+ rastreabilidade mora — não use `@import` da rule.
52
+
53
+ ```markdown
54
+ ## Comentários
55
+
56
+ O padrão é **não comentar**; a regra completa está em `.claude/rules/comentarios.md`. Orçamento: bloco interno
57
+ <= 3 linhas · docstring pública <= 5 · cabeçalho de arquivo proibido · densidade <= 10%.
58
+ Nunca colocar no código: banner/separador de seção, task/fase/plano/spec, data, hash de commit, achado de
59
+ review, narração do passo a passo, código comentado.
60
+ Isso mora na mensagem de commit e em `docs/trabalhos/<id>/` — nunca em comentário.
61
+ ```
62
+
63
+ > Foi aqui que o padrão falhou antes: os agents eram instruídos a rastrear plano, spec e task e despejavam essa
64
+ > rastreabilidade em comentário, porque nada dizia onde ela deveria morar.
65
+
66
+ Agent que toca código legado leva também uma linha sobre a precedência: na área legada tocada, vale o padrão local
67
+ do arquivo (ver `rule.md`).
68
+
69
+ ## Mapa domínio → agent
70
+
71
+ O mapa vai para a seção "Mapa de agents por domínio" de `.claude/rules/harness-projeto.md` (merge, sem apagar
72
+ linhas existentes). É por ele que o `/executar-plan` e o `/resolver-bug` delegam cada task.
73
+
74
+ | Domínio ou pasta | Agent | Observação |
75
+ |---|---|---|
76
+ | `apps/api/` | `backend-dev` | mudança estrutural passa antes pelo `arquiteto` |
77
+
78
+ ## Depois de gravar
79
+
80
+ - Mostre como invocar cada agent manualmente ("use o agent `backend-dev` para ...") e como o orquestrador delega
81
+ sozinho, pela `description` e pelo mapa.
82
+ - Sugira `/sincronizar-claude-md` para reconciliar a seção de orquestração do `CLAUDE.md`.
83
+ - Guardas por agent: `/evoluir-harness hook`. Rules do domínio: `/evoluir-harness rule`.
@@ -0,0 +1,107 @@
1
+ # Auditoria da pasta .claude
2
+
3
+ Diagnóstico de commands, agents, skills, rules e hooks do projeto. **Explique o motivo** de cada avaliação — nada
4
+ de veredito sem justificativa — e não altere nada antes do GATE.
5
+
6
+ ## Como coletar
7
+
8
+ 1. Parta dos achados de `npx @fontdata/ai-harness doctor`. Ele já aponta, entre outros, `comando-sombreia-skill`,
9
+ `comando-legado`, `bloco-comentarios-antigo`, hook que aponta para script inexistente e documento fora do
10
+ contrato. Não refaça à mão o que ele já checou; explique o achado e proponha a correção.
11
+ 2. Leia cada arquivo de `.claude/agents/`, `.claude/commands/`, `.claude/skills/*/SKILL.md` e `.claude/rules/`, os
12
+ hooks registrados em `.claude/settings.json`, `.claude/settings.local.json` e no frontmatter dos agents, e o
13
+ lock e a config em `.ai-harness/`.
14
+
15
+ ## 1. Agents — modelo e ferramentas
16
+
17
+ - **Modelo:** Haiku para trabalho mecânico (checagem por lista, renomeação, formatação); Sonnet para implementação,
18
+ testes e revisão; Opus para arquitetura, planejamento e investigação difícil. Aponte sub e superdimensionamento
19
+ (Opus numa task mecânica, Haiku desenhando arquitetura). Agent sem `model:` herda o da sessão: declare.
20
+ - **`tools:`:** agent sem `tools:` herda todas as ferramentas da sessão, inclusive edição e `Bash`. Revisor,
21
+ auditor e code-reviewer não têm `Write` nem `Edit`; `Bash` só quando precisam rodar a suíte. Implementador recebe
22
+ só as ferramentas do seu escopo.
23
+ - **Descrição:** o orquestrador delega pela `description`. Descrição vaga ("ajuda no backend") faz o agent nunca
24
+ ser chamado ou ser chamado para tudo.
25
+ - **Comentários:** agent que escreve código sem o bloco de comentários no system prompt (ver `agent.md`).
26
+ - **Mapa:** agent de domínio fora do mapa em `.claude/rules/harness-projeto.md` não recebe task do `/executar-plan`.
27
+
28
+ ## 2. Agent do projeto com nome de agent do harness
29
+
30
+ `qa`, `investigador`, `revisor-testes` e `auditor-plano` vêm com o harness. Para cada `.claude/agents/<nome>.md`
31
+ com um desses nomes:
32
+
33
+ - registrado no lock e sem edição: é a cópia do harness, mantenha;
34
+ - personalizado ou criado pelo projeto: ele substitui o do harness, e os fluxos passam a depender de um contrato que
35
+ ninguém garante (por exemplo, um `qa` que não registra `suite_verde` trava o fechamento das tasks). Leve o que é
36
+ do projeto (comando da suíte, verificação manual, portões) para `.claude/rules/harness-projeto.md` e restaure a
37
+ cópia com `npx @fontdata/ai-harness update`; se o papel é outro, renomeie (ex.: `qa-mobile`).
38
+
39
+ ## 3. Guardas de agent inoperantes
40
+
41
+ Hook que existe mas não protege nada é pior que hook nenhum: dá falsa segurança. Procure:
42
+
43
+ - **Lê argumentos em vez do JSON da stdin** (`$1`, `process.argv`, `$ARGUMENTS`, variável de ambiente inventada):
44
+ o Claude Code entrega o evento pela stdin, então a guarda nunca vê o comando. Refaça sobre `runHook` (`hook.md`).
45
+ - **Caminho absoluto de outra máquina** (`C:\Users\fulano\...`, `/home/fulano/...`): falha em qualquer outra
46
+ máquina. Use `$CLAUDE_PROJECT_DIR`.
47
+ - **Dependência de binário ausente** (`pwsh`, `php`, `python`, `jq`): confira com `command -v <binário>`. Sem ele,
48
+ o hook quebra calado ou trava tudo. Reescreva em Node, que existe onde o harness roda.
49
+ - **Protocolo à mão:** `exit 2` ou JSON montado no script, com efeito diferente em cada evento.
50
+ - **Hooks do harness em dobro:** plugin habilitado e, ao mesmo tempo, os scripts de `.claude/hooks/ai-harness/`
51
+ registrados no `settings.json` — cada hook roda duas vezes.
52
+
53
+ Para confirmar que uma guarda funciona, rode o script com uma entrada de exemplo (ver `hook.md`).
54
+
55
+ ## 4. Commands — uso, redundância e legado
56
+
57
+ - Diga quais commands tendem a ser **mais usados** neste projeto e quais são **pouco úteis** no contexto dele.
58
+ - Aponte **sobreposição** entre commands e com as skills do harness (`/nova-tarefa`, `/resolver-bug`,
59
+ `/executar-plan`, `/harness`, `/evoluir-harness`, `/auditar-seguranca`, `/auditar-performance`, `/auditar-ui`) e
60
+ com `/sincronizar-claude-md`. Comando que repete um fluxo sai; a parte específica vira rule. Review a cada task
61
+ vira portão extra na rule de projeto.
62
+ - Comando com o mesmo nome de uma skill vence e o fluxo da skill nunca roda: renomeie ou apague.
63
+ - **Comandos `*-legado.md`:** versões personalizadas que o `update` renomeou. Para cada um, extraia o que é do
64
+ projeto (mapa de domínio, comando da suíte, portões, verificação manual, restrições) para
65
+ `.claude/rules/harness-projeto.md` ou para a rule do domínio, e só então proponha apagar o arquivo. Nunca apague
66
+ antes de a extração ser aprovada.
67
+
68
+ ## 5. Citações ao layout anterior à 2.1
69
+
70
+ Antes da 2.1, os documentos ficavam em pastas separadas por tipo de documento (specs, planos, bugs e investigações,
71
+ cada tipo na sua pasta dentro de `docs/`). Hoje cada trabalho mora em `docs/trabalhos/<id>/`, com `SPEC.md`,
72
+ `PLAN.md`, `DECISOES.md`, `BLOQUEIOS.md` e `relatorios/`.
73
+
74
+ - Procure as citações com `grep -rnE 'docs/(specs|plans|bugs|investigacoes)' CLAUDE.md .claude`.
75
+ - Cada citação em `CLAUDE.md`, rule, agent, skill ou command vira ajuste para `docs/trabalhos/<id>/`.
76
+ - Documentos ainda nas pastas antigas: `npx @fontdata/ai-harness migrar` mostra o plano e `--yes` aplica. O
77
+ `migrar` reescreve os links dentro dos documentos migrados, mas só lista as citações do `.claude/` e do
78
+ `CLAUDE.md` — essas são desta auditoria.
79
+
80
+ ## 6. Rules
81
+
82
+ - **Rule de projeto ausente:** o `init` instala o esqueleto de `.claude/rules/harness-projeto.md` quando ele falta.
83
+ - **Rule de projeto vazia:** só com os exemplos em itálico (`_ex.: ..._`), ou sem mapa de agents e sem comando da
84
+ suíte, embora o projeto tenha agents de domínio e testes. Proponha o preenchimento a partir dos agents, dos
85
+ scripts de teste e do CI; apague as seções que não valem.
86
+ - **Comentários:** `.claude/rules/comentarios.md` ausente (o `init` e o `update` a instalam); outra rule que repete
87
+ regra de comentário; bloco antigo de comentários no `CLAUDE.md`.
88
+ - Rule com mais de 30 linhas, que repete o `CLAUDE.md`, descreve o que o código já mostra ou contradiz outra rule.
89
+ - Projeto com código legado sem a rule de precedência do padrão local (ver `rule.md`).
90
+
91
+ ## 7. Skills e hooks do projeto
92
+
93
+ - Skill sem `description` que diga quando disparar, sem exemplos ou sem critério de quando não usar.
94
+ - Skill que repete fluxo do harness ou que ninguém dispara.
95
+ - Hook em `bloqueio` sem histórico de avisos pertinentes no rastro (`docs/eventos/*.jsonl`).
96
+
97
+ ## 8. O que criar
98
+
99
+ Sugira peças novas para dores recorrentes. Busque evidência em `docs/trabalhos/*/DECISOES.md`, `BLOQUEIOS.md`,
100
+ relatórios, achados de review repetidos e `npx @fontdata/ai-harness memoria --arquivo <arquivo>`. Para cada
101
+ sugestão: tipo (`agent`, `skill`, `rule`, `hook`, `code-reviewer`, `design-system`), o que faria, quando seria
102
+ usada e qual **dor recorrente** elimina.
103
+
104
+ ## Fechamento
105
+
106
+ Consolide em quatro listas — **manter / ajustar / remover / criar** —, cada item com motivo e o tipo que o trata, e
107
+ **pergunte o que aplicar**. Cada item escolhido segue a referência do seu tipo e passa pelo GATE.
@@ -0,0 +1,68 @@
1
+ # Referência — code-reviewer
2
+
3
+ Cria o agent de review **somente leitura** em `.claude/agents/code-reviewer.md` e o declara como portão extra.
4
+
5
+ ## Leitura
6
+
7
+ `CLAUDE.md`, `SPEC.md`, as rules em `.claude/rules/` e `.claude/rules/harness-projeto.md`. Se já existe um
8
+ `code-reviewer`, ajuste-o em vez de criar outro.
9
+
10
+ ## O agent
11
+
12
+ - `tools: Read, Grep, Glob` — nunca escrita nem execução. Sem `tools:`, o agent herda todas as ferramentas da
13
+ sessão, inclusive edição e `Bash`.
14
+ - `model: sonnet`; `opus` quando o domínio tem regra de negócio densa ou isolamento de dados crítico.
15
+ - System prompt focado em revisar a task contra o `SPEC.md` e o `PLAN.md` do trabalho em `docs/trabalhos/<id>/`,
16
+ olhando só o diff da task.
17
+ - Classificação: **BLOQUEANTE**, **IMPORTANTE**, **SUGESTÃO**. Com BLOQUEANTE, o veredito é `REPROVADO`;
18
+ IMPORTANTE é corrigido antes de a task fechar, salvo decisão registrada em `DECISOES.md`; SUGESTÃO não segura.
19
+ - Saída: veredito e achados com `arquivo:linha`, severidade, problema e correção sugerida.
20
+ - O agent não corrige nada: identifica e reporta.
21
+
22
+ ## Checklist no system prompt
23
+
24
+ Sem checklist explícito, o agent revisa o que lhe parecer relevante e ignora o resto.
25
+
26
+ 1. **Correção** — bugs, casos de borda, erros silenciados.
27
+ 2. **Aderência** ao `SPEC.md` e ao `PLAN.md` do trabalho.
28
+ 3. **Testes** — existem e cobrem o crítico da task?
29
+ 4. **Segurança e isolamento de dados** — multi-tenant, autorização, segredos.
30
+ 5. **Rules do projeto** em `.claude/rules/`.
31
+ 6. **Código legado** — na área antiga tocada, o padrão local do arquivo foi preservado?
32
+ 7. **Comentários** — classificar como **IMPORTANTE** (nunca SUGESTÃO): bloco interno acima de 3 linhas, docstring
33
+ pública acima de 5, cabeçalho de arquivo, banner ou separador de seção, task/fase/plano/data/hash de
34
+ commit/achado de review dentro do código, narração do passo a passo, código comentado. Ver
35
+ `.claude/rules/comentarios.md`.
36
+ 8. **Legibilidade e simplicidade.**
37
+
38
+ ## Guarda extra
39
+
40
+ Hook `PreToolUse` com `matcher: Edit|Write|MultiEdit|NotebookEdit` que bloqueia qualquer modificação, criado sobre a
41
+ biblioteca do harness conforme `hook.md`. O handler devolve sempre `{ motivo: 'o code-reviewer é somente leitura' }`.
42
+ Por pedido explícito, este nasce em `bloqueio` em `.ai-harness/config.json`. O `tools:` já impede a edição; o hook
43
+ cobre um `tools:` alterado por engano.
44
+
45
+ ## Portão extra na rule de projeto
46
+
47
+ O code-reviewer só entra no fluxo quando declarado na seção "Portões extras" de `.claude/rules/harness-projeto.md`
48
+ (merge). Ele roda **depois de `revisor-testes` e `qa`**:
49
+
50
+ ```markdown
51
+ - `code-reviewer` em contexto limpo ao fim de cada task, depois de `revisor-testes` e `qa`
52
+ ```
53
+
54
+ O `/executar-plan` lê essa seção e aplica o portão. Como o agent não tem `Bash`, quem registra o veredito no rastro é
55
+ o orquestrador:
56
+
57
+ ```bash
58
+ npx @fontdata/ai-harness evento agent_veredito --trabalho <id> --task <T-SS.NN> --nome code-reviewer \
59
+ --dados '{"veredito":"aprovado","motivo":"<resumo em uma linha>"}'
60
+ ```
61
+
62
+ Reprovado, a task volta ao implementador com os achados, dentro do limite de voltas do `/executar-plan`.
63
+
64
+ ## Contra-exemplos
65
+
66
+ - Reviewer com `Edit` "para corrigir o óbvio": quem implementa não aprova, e quem aprova não implementa.
67
+ - Portão declarado antes do `qa`: o review gasta tempo em código que ainda não passa na suíte.
68
+ - Checklist genérico copiado de outro projeto, sem as rules e os riscos deste.
@@ -0,0 +1,56 @@
1
+ # Referência — design system
2
+
3
+ Cria o **agent responsável pelo design system**, que trabalha principalmente com o agent de frontend, e as skills e
4
+ rules que guardam a conformidade da identidade visual. O agent vai em `.claude/agents/`, as skills em
5
+ `.claude/skills/` e as rules em `.claude/rules/`.
6
+
7
+ Nomes sugeridos: agent `identidade-visual`, skill `conformidade-visual`, rule `visual.md` escopada nos arquivos de
8
+ interface. Ajuste aos nomes que o projeto já usa.
9
+
10
+ ## Origem da identidade visual
11
+
12
+ O contexto que veio depois do tipo decide a fonte:
13
+
14
+ - **Com URL:** trate-a como referência externa. Acesse o site e extraia cores, fontes e padrões visuais —
15
+ principalmente do CSS; quando a página só traz o texto, busque as folhas de estilo que ela referencia.
16
+ - **Sem URL:** **não acesse a internet.** Extraia o design system que já existe no projeto, pelo código: CSS e SCSS,
17
+ variáveis CSS, tokens de tema, `tailwind.config`, bibliotecas de UI e componentes.
18
+
19
+ Em qualquer caso, o que o código já usa tem precedência: referência externa orienta o que falta, não apaga o que
20
+ existe sem decisão registrada.
21
+
22
+ ## O que extrair
23
+
24
+ | Grupo | O que registrar |
25
+ |---|---|
26
+ | Cores | primária, secundária, neutros, estados (sucesso, alerta, erro, info), contraste mínimo AA |
27
+ | Tipografia | famílias com fallback, escala de tamanhos, pesos, altura de linha |
28
+ | Espaçamento | escala (ex.: 4, 8, 12, 16, 24, 32) e onde cada passo se aplica |
29
+ | Forma | raios, bordas, sombras, camadas (`z-index`) |
30
+ | Layout | breakpoints, larguras máximas, grid |
31
+ | Componentes | botões, campos, cards, tabelas, modais: variantes e estados (hover, foco, desabilitado) |
32
+ | Movimento e ícones | durações, curvas, biblioteca de ícones |
33
+
34
+ Aponte as divergências encontradas (três azuis parecidos, tamanhos soltos) como decisões a tomar, não como
35
+ correção automática.
36
+
37
+ ## As peças
38
+
39
+ - **Agent:** `tools:` com edição só nas pastas de interface e de tokens; `model: sonnet`. System prompt com os
40
+ tokens, os componentes base, as restrições e o bloco de comentários obrigatório (ver `agent.md`).
41
+ - **Skill:** passo a passo para criar ou alterar tela conforme o sistema — usar token, reaproveitar componente,
42
+ conferir estados e contraste —, com exemplos de entrada e saída e quando não usar.
43
+ - **Rule escopada** nos arquivos de interface, em até 30 linhas: nada de cor, tamanho ou espaçamento literal fora
44
+ dos tokens; componente existente antes de componente novo; foco visível e contraste AA.
45
+ - **Mapa:** acrescente o domínio de interface e o agent em `.claude/rules/harness-projeto.md`.
46
+
47
+ ## Contra-exemplos
48
+
49
+ - Copiar logotipo, imagem ou fonte licenciada da referência externa: ela orienta estilo, não fornece assets.
50
+ - Tokens soltos no prompt do agent, sem arquivo de tokens no código: o sistema diverge na primeira tela.
51
+ - Rule que repete o design system inteiro: ela aponta para os tokens, não os transcreve.
52
+
53
+ ## Depois de gravar
54
+
55
+ Mostre onde ficaram os tokens e como o agent de frontend delega ao de design system. Para conferir telas existentes
56
+ contra o sistema, sugira `/auditar-ui`.
@@ -0,0 +1,95 @@
1
+ # Referência — hook
2
+
3
+ Cria hooks por agent em `.claude/hooks/<agent>/` sobre a biblioteca comum do harness. A biblioteca já cuida do
4
+ protocolo do Claude Code, dos **modos** (`aviso`, `bloqueio`, `desligado`), da **falha aberta** e do **registro no
5
+ rastro** de eventos.
6
+
7
+ ## Pré-checagem (somente leitura)
8
+
9
+ 1. Liste os agents em `.claude/agents/` e leia o `PLAN.md` do trabalho em curso em `docs/trabalhos/<id>/`, se houver.
10
+ 2. Confira a biblioteca em `.claude/hooks/ai-harness/lib/hook.mjs`. O `init` a copia junto com os hooks do harness.
11
+ Faltando, `npx @fontdata/ai-harness init --claude-md manter` mostra o que instalaria (`--yes` aplica). Com o
12
+ plugin habilitado, o `init` não copia os hooks para o projeto, para não rodarem duas vezes: leve essa pendência
13
+ ao GATE e decida com o usuário antes de escrever o hook.
14
+ 3. Leia `.ai-harness/config.json` e `.claude/settings.json` para saber os modos e os hooks já registrados.
15
+ 4. **Hooks existentes não são recriados nem removidos:** `.claude/hooks/ai-harness/` (`lembrete`,
16
+ `segredo-no-commit`, `proteger-contratos`, `task-so-fecha-verde`, `sem-jargao`) e
17
+ `.claude/hooks/comentarios/check.mjs` (catraca em `baseline.json`).
18
+
19
+ ## Desenhar por tipo de agent
20
+
21
+ **Antes de qualquer hook, restrinja o agent pelo `tools:` do frontmatter.** É a garantia estrutural; o hook é
22
+ proteção a mais, não substituto.
23
+
24
+ | Tipo de agent | `tools:` sugerido | Hooks que fazem sentido |
25
+ |---|---|---|
26
+ | Somente leitura (revisor, auditor) | `Read, Grep, Glob` (+ `Bash` só para rodar testes) | `PreToolUse` em `Bash` que avisa sobre comando que altera estado (`git commit`, `rm`, `npm install`) |
27
+ | Implementação (backend, frontend, parser) | as ferramentas de edição do seu escopo | `PreToolUse` que avisa sobre arquivo fora do escopo; `PostToolUse` que lembra de rodar os testes do módulo |
28
+ | Testes | `Read, Grep, Glob, Bash` | `PreToolUse` em `Bash` que avisa sobre comando que não é de teste |
29
+
30
+ Para cada hook: nome (`kebab-case`), evento, `matcher`, o que verifica e a mensagem de motivo.
31
+ **Todo hook novo nasce em `aviso`**; hook de segurança pode nascer em `bloqueio` se o usuário pedir.
32
+
33
+ ## Script
34
+
35
+ `.claude/hooks/<agent>/<hook>.mjs`:
36
+
37
+ ```js
38
+ // @ts-check
39
+ import { runHook } from '../ai-harness/lib/hook.mjs';
40
+
41
+ await runHook('<hook>', (input) => {
42
+ const command = String(input.tool_input?.command ?? '');
43
+ if (!/\bgit\s+push\b/.test(command)) return null;
44
+ return { motivo: 'o agent de backend não publica código; deixe o push para o fechamento do trabalho.' };
45
+ });
46
+ ```
47
+
48
+ - O `runHook` **lê o JSON do evento pela stdin**: `tool_name`, `tool_input`, `prompt`, `cwd`, `hook_event_name`.
49
+ Nunca leia `$1`, `process.argv` ou variável de ambiente para obter o comando — a guarda fica cega.
50
+ - O handler devolve `null` quando está tudo certo, ou `{ motivo }` para avisar ou bloquear.
51
+ - **Não** use `exit 2` nem escreva JSON à mão: o `runHook` responde no formato de cada evento e modo, falha aberta
52
+ em erro interno e registra `hook_aviso` ou `hook_bloqueio` no rastro.
53
+ - Só Node e módulos nativos: nada de `pwsh`, `php`, `python` ou `jq`, que podem não existir na outra máquina.
54
+ - Caminho sempre relativo ao projeto, pelo `root` que o `runHook` entrega; nunca caminho absoluto.
55
+
56
+ Registro no frontmatter do agent, com `$CLAUDE_PROJECT_DIR`:
57
+
58
+ ```yaml
59
+ hooks:
60
+ PreToolUse:
61
+ - matcher: Bash
62
+ hooks:
63
+ - type: command
64
+ command: node "$CLAUDE_PROJECT_DIR/.claude/hooks/<agent>/<hook>.mjs"
65
+ ```
66
+
67
+ Modo em `.ai-harness/config.json` (merge): `{ "hooks": { "<hook>": "aviso" } }`.
68
+
69
+ ## GATE
70
+
71
+ Mostre a tabela (agent, hook, evento, matcher, o que verifica, modo inicial), o `tools:` proposto para cada agent e
72
+ os caminhos exatos a criar ou alterar.
73
+
74
+ ## Depois de gravar
75
+
76
+ 1. Demonstre cada hook sem abrir uma sessão:
77
+
78
+ ```bash
79
+ echo '{"hook_event_name":"PreToolUse","tool_name":"Bash","tool_input":{"command":"git push"},"cwd":"'"$PWD"'"}' \
80
+ | CLAUDE_PROJECT_DIR="$PWD" node .claude/hooks/<agent>/<hook>.mjs
81
+ ```
82
+
83
+ A saída mostra o aviso ou o bloqueio exatamente como o Claude Code o recebe. Sem saída, a guarda não disparou.
84
+ 2. Rode `npx @fontdata/ai-harness doctor` e confirme que nenhum hook aponta para script inexistente.
85
+
86
+ ## Promoção de aviso para bloqueio
87
+
88
+ Só quando o rastro mostra avisos pertinentes e nenhum falso positivo:
89
+
90
+ ```bash
91
+ grep -h '"nome":"<hook>"' docs/eventos/*.jsonl
92
+ ```
93
+
94
+ Se o usuário decidir promover, troque o modo em `.ai-harness/config.json` e registre a decisão no `DECISOES.md` do
95
+ trabalho em curso.
@@ -0,0 +1,67 @@
1
+ # Referência — rule
2
+
3
+ Cria rules em `.claude/rules/` que complementam o system prompt dos agents.
4
+
5
+ `.claude/rules/` é **carregada automaticamente** em toda sessão, com subpastas: não importe rule no `CLAUDE.md`
6
+ nem no agent. Rule com `paths:` no frontmatter só entra quando o trabalho toca arquivos que casam com o padrão.
7
+
8
+ ## O que já vem com o harness
9
+
10
+ - **`comentarios.md`** — padrão de comentários, instalado e atualizado pelo `init` e pelo `update`, junto com o hook
11
+ e a catraca do legado. **Não crie rule de comentários** nem repita regra de comentário em outra rule: duas fontes
12
+ divergentes é pior que uma. Se ela faltar, rode `npx @fontdata/ai-harness update`.
13
+ - **`harness-projeto.md`** — convenção lida pelos fluxos e pelos agents `qa` e `revisor-testes`: mapa de agents,
14
+ portões extras, suíte de testes e verificação manual. O que é disso vai lá, não numa rule paralela.
15
+
16
+ ## Leitura
17
+
18
+ Os agents em `.claude/agents/`, o `CLAUDE.md`, o `SPEC.md` e as rules que já existem.
19
+
20
+ ## O que criar
21
+
22
+ 1. **Rules incondicionais**, que valem para qualquer agent:
23
+ - `seguranca.md` — o que nunca fazer;
24
+ - `convencoes-gerais.md` — padrões universais do projeto.
25
+
26
+ 2. **Rules escopadas por path**, uma por domínio coberto pelos agents:
27
+
28
+ ```markdown
29
+ ---
30
+ paths:
31
+ - "apps/api/**/*.ts"
32
+ ---
33
+
34
+ # Backend
35
+ ```
36
+
37
+ Exemplos: `backend.md` com `backend/**/*.py`, `frontend.md` com `frontend/src/**`, `testes.md` com `tests/**`.
38
+
39
+ 3. **Rule de precedência em código legado** (`legado.md`, incondicional), quando o projeto tem código antigo com
40
+ padrões próprios:
41
+ - na área de código legado tocada, vale o **padrão local** do arquivo — nomenclatura, estrutura e estilo de
42
+ tratamento de erro —, mesmo que difira das convenções novas;
43
+ - as convenções novas valem para arquivo novo;
44
+ - não "modernizar" arquivo antigo fora do escopo da task.
45
+
46
+ Identifique as áreas legadas (pastas, extensões como `.pas` e `.dfm`, módulos antigos) e cite-as na rule.
47
+
48
+ 4. **Rule que teria evitado um bug**, quando o `/resolver-bug` sugerir: padrão proibido, validação obrigatória ou
49
+ teste exigido.
50
+
51
+ ## Cada rule deve
52
+
53
+ - Ser concisa — máximo de 30 linhas.
54
+ - Conter apenas o que o agent não descobriria sozinho lendo o código.
55
+ - Complementar o system prompt do agent, não repetir o que já está lá nem no `CLAUDE.md`.
56
+ - Focar em restrições e padrões específicos do domínio, não em comportamento geral.
57
+
58
+ ## Contra-exemplos
59
+
60
+ - "Escreva código limpo e bem testado": genérico, não muda nada.
61
+ - Rule que copia a configuração do linter, que já é aplicada pela ferramenta.
62
+ - Duas rules que dizem coisas diferentes sobre o mesmo assunto.
63
+ - Rule que manda gravar documento fora de `docs/trabalhos/<id>/`.
64
+
65
+ ## Depois de gravar
66
+
67
+ Confirme que nenhuma rule nova contradiz outra e, para rule escopada, cite um arquivo real que casa com o `paths:`.
@@ -0,0 +1,63 @@
1
+ # Referência — skill
2
+
3
+ Cria uma skill do projeto em `.claude/skills/<nome>/` para um problema **recorrente** que os agents enfrentam.
4
+
5
+ ## Leitura
6
+
7
+ `CLAUDE.md` e `SPEC.md` da raiz, as skills que já existem (do projeto e do harness) e, como evidência de
8
+ recorrência, `DECISOES.md`, `BLOQUEIOS.md` e relatórios em `docs/trabalhos/*/`.
9
+
10
+ ## Skill, rule, agent ou hook?
11
+
12
+ | Peça | Serve para | Carregada |
13
+ |---|---|---|
14
+ | Rule | Restrição curta que vale sempre ou num conjunto de paths | Automaticamente |
15
+ | Skill | Procedimento com passos, exemplos e material de apoio | Sob demanda, quando a `description` casa com o pedido |
16
+ | Agent | Papel com ferramentas e contexto próprios | Quando o orquestrador delega |
17
+ | Hook | Garantia que não depende de o modelo lembrar | Em todo evento do matcher |
18
+
19
+ Se a necessidade é "nunca faça X", é rule. Se é "quando precisar de Y, siga estes passos", é skill.
20
+
21
+ ## Sugerir antes de criar
22
+
23
+ Apresente opções de skills úteis para este projeto, cada uma com:
24
+
25
+ - o que a skill faria;
26
+ - quando dispararia automaticamente (as palavras e situações que casam com a `description`);
27
+ - que tarefa resolveria sem precisar repetir instruções no prompt;
28
+ - a evidência da recorrência (pedido repetido, achado de review que volta, bloqueio parecido).
29
+
30
+ Espere a escolha do usuário.
31
+
32
+ ## Estrutura
33
+
34
+ ```
35
+ .claude/skills/<nome>/
36
+ ├── SKILL.md # enxuto: quando usar, passos, guardrails
37
+ ├── references/ # detalhe lido só quando o passo pede
38
+ └── templates/ # documentos que a skill gera, quando houver
39
+ ```
40
+
41
+ A skill deve ter:
42
+
43
+ 1. **Frontmatter** com `name` (igual ao nome da pasta, `kebab-case`) e `description` que diz o que faz e quando
44
+ usar, com gatilhos concretos, em até ~250 caracteres; `argument-hint` quando aceitar argumento.
45
+ 2. **Instruções claras** baseadas nas convenções do `CLAUDE.md`, sem copiá-lo.
46
+ 3. **Exemplos de input e output** esperados.
47
+ 4. **Critério de quando NÃO usar** a skill.
48
+ 5. **GATE com 🚦** antes de gravar algo relevante, e guardrails no fim.
49
+
50
+ Mantenha o `SKILL.md` curto e leve o detalhe para `references/`, citado no passo em que é necessário.
51
+
52
+ ## Contra-exemplos
53
+
54
+ - `description` genérica ("ajuda com o backend"): dispara em tudo ou em nada.
55
+ - Skill que repete um fluxo do harness (`/nova-tarefa`, `/resolver-bug`, `/executar-plan`, `/harness`) ou o texto
56
+ do `CLAUDE.md`.
57
+ - Skill com o mesmo nome de um arquivo em `.claude/commands/`: o comando vence e a skill nunca roda.
58
+ - Skill que grava documento de trabalho fora de `docs/trabalhos/<id>/`.
59
+
60
+ ## Depois de gravar
61
+
62
+ Mostre como disparar (`/<nome>` ou por um pedido que casa com a `description`) e sugira testar com um pedido real
63
+ do projeto. Se algum agent deve carregá-la, ajuste o agent com `/evoluir-harness agent`.