MÓDULO 5.3

🧰 Skills: ensina, revisa, ingere

Com o cérebro pronto, o dia a dia do mentor cabe em três comandos: aprender construindo, revisar antes de entregar e ensinar algo novo ao próprio mentor. Cada um termina com um script que dá a nota de fora.

6
Tópicos
50
Minutos
Médio
Nível
Prático
Tipo
0%0 de 6
1

🧰 Seis skills: três constroem, três usam

Toda skill do kit tem o mesmo formato: passos numerados, os comandos exatos e um "pronto quando" que é sempre um script com exit 0. Exit code é o número que um programa devolve ao terminar: 0 significa sucesso, qualquer outro valor significa falha. É assim que a skill sabe se terminou sem confiar na própria palavra.

SkillFasePronto quandoNo piloto
/nei-coletar1 Coletastats.py → exit 013 lives por legenda em 1,6 min
/nei-compilar2 Wikivalidar_links.py → exit 05 subagentes, 3,3 min, 73 páginas
/nei-regras3 Regrasvalidar_citacoes.py → exit 01,1 min, 8 regras, 31 citações
/nei-ensina4 Usovalidar_resposta.py → exit 0teste 1: 0,9 min + subagente
/nei-revisa4 Usovalidar_resposta.py --perfil revisaoteste 2: 1,8 min, 1 subagente
/nei-ingere5 Evoluçãoos três validadores → exit 0teste 3: 2,4 min

As três linhas destacadas são o assunto deste módulo. As três de cima você já usou nas trilhas 2, 3 e 4; o tópico 5 volta a elas.

Mesmo formato

Passos + comandos

Pronto = exit 0

Nunca "acho que foi"

Só stdlib

Python sem instalar nada

Minutos

Não horas, no piloto

2

🧑‍🏫 /ensina: checklist por regra e validação de fora

A skill ensina não ensina nada sozinha. Ela é a coordenadora: passa sua dúvida ao mentor sem reescrever, salva o que ele devolve, roda o validador e monta um checklist de uma linha por regra ativa. Se algo falhar, devolve ao mentor uma vez para corrigir.

sua dúvidasem reescrever subagente mentorloop de 6 seções testes/respostas/<data>-<slug>.md validar_resposta--transcript checklist R1 ✓ Saída real R3 ✗ previsão houve ✗? devolve ao mentor para corrigir — uma vez só

Como ler: repare que o validador (ciano) fica depois da resposta salva e fora do mentor. O checklist não é a opinião do mentor sobre si mesmo: cada ✓ aponta o trecho da resposta que o comprova. A volta tracejada tem limite de uma vez, para a correção não virar um laço.

Formato do checklist que a skill mostra (do SKILL.md):

R1 ✓ — construiu a menor versão (seção Menor versão)
R3 ✗ — não previu antes de rodar

✓ O que a skill faz

  • ✓Repassa a dúvida como veio; se estiver vaga, quem pergunta é o mentor
  • ✓Salva a resposta antes de julgar
  • ✓Cada ✓ aponta um trecho; cada ✗ diz o que faltou

✗ O que ela não aceita

  • ✗Autoavaliação: "segui todas as regras"
  • ✗Reescrever sua dúvida para ficar "mais fácil"
  • ✗Insistir em correções sem limite
3

🔍 /revisa em 5 seções: Previsão → Reprodução → Correção → Lado a lado → Relatório

Revisar é outro perfil de resposta. Em vez de construir, o mentor recebe um arquivo "que funciona" e precisa responder: quem recebe isto aceitaria? A revisão tem cinco seções fixas, e a primeira é escrita lendo o código, sem rodar nada.

Previsão Reprodução Correção Lado a lado Relatório só lê (cat, grep)"Previsão: …" antes roda o cenário previstoacertou ou errou? <nome>.revisado.<ext>original intacto mesma entradamesma saída útil passo → regra a Reprodução prova a Previsão; o Lado a lado prova a Correção

Como ler: as seções andam em pares. A Reprodução existe para confirmar ou desmentir a Previsão; o Lado a lado existe para provar que a Correção não mudou o que importa. A Previsão está em ciano pelo mesmo motivo do módulo 5.2: é a única com condição de tempo.

SeçãoO que aconteceu no teste 2 do piloto (script_emoji.py)
PrevisãoNum terminal cp1252, o print com emoji quebra antes de gravar o relatório
ReproduçãoPYTHONIOENCODING=cp1252 → UnicodeEncodeError, exit 1, sem relatorio.txt. Achou um 2º ponto que o Nei não tinha previsto: o 🤔 vem dentro dos dados, então tirar emoji do código não basta
Correçãosys.stdout.reconfigure(errors="replace"); na 1ª rodada enxugou de 38 para 25 linhas
Lado a ladoMesma entrada nos dois; o relatório saiu igual (hash idêntico). Original intacto
RelatórioPasso → o que rodou → o que saiu → regra (R1, R3, R7, R8)

🆕 Novo aqui? cp1252 e PYTHONIOENCODING

cp1252 é a codificação de texto antiga do Windows, que não tem emoji. PYTHONIOENCODING=cp1252 na frente do comando força o Python a escrever na tela como se estivesse num terminal desses. É o jeito de reproduzir, no seu Linux ou Mac, o erro que o usuário do Windows teria.

📏 Enxugar não é obrigatório: medir é

Numa rodada seguinte do mesmo teste, a correção acrescentou validação da entrada (arquivo vazio, objeto em vez de lista, item sem texto) e o arquivo foi de 38 para 41 linhas. A resposta disse isso com o número e explicou: a validação custa mais linhas do que o corte economiza. O que não pode é afirmar "ficou menor" sem contar.

4

📥 /ingere: o mentor aprende uma fonte nova

O especialista continua publicando. A skill ingere leva uma fonte nova pelo mesmo caminho das trilhas 2 a 4, mas só para ela: coleta, página de fonte, propagação na wiki e, se for o caso, promoção de regra. Não chama o subagente mentor.

1

Coletar com o coletor do tipo certo. Já está no manifesto? Para e avisa.

2

Página de fonte em wiki/fontes/<id>.md.

3

Propagar para todo tema, princípio ou método que o conteúdo toca, com links nos dois sentidos. Página nova só para conceito realmente novo.

4

Regras: 2ª fonte para uma banco → acrescenta citação e promove para ativa; reforço de ativa → acrescenta citação; comportamento novo → cria como banco.

5

Controle: atualiza index.md, hot.md e acrescenta uma linha no log.md.

6

Provar com os três validadores em cadeia, todos com exit 0, e dizer em 3–5 linhas o que o mentor aprendeu.

✓ Ingestão bem feita

  • ✓Fonte já no manifesto → para e avisa
  • ✓Página nova só para conceito realmente novo; o resto é atualização
  • ✓Promove banco → ativa só com citação de um 2º arquivo diferente

✗ Ingestão que estraga a wiki

  • ✗Coletar a mesma fonte duas vezes
  • ✗Criar uma página por parágrafo, sem ligar às existentes
  • ✗Promover regra para ativa com uma fonte só

📎 Teste 3 do piloto: um guia novo entrou

2,4 min
duração
2
métodos novos
R9 · R10
criadas já ativas
3 × exit 0
validadores

R9 e R10 nasceram como ativa porque a 2ª fonte já existia no raw. R1, R2 e R6 ganharam citação. O mentor passou de 8 regras e 31 citações para 10 regras e 40 citações.

5

🏗️ coletar, compilar, regras: as skills de construção, revisitadas

As três skills de construção já apareceram nas trilhas 2, 3 e 4, como fases. Aqui vale olhá-las como skills: arquivos que você pode ajustar. E vale saber o que o piloto mudou nelas para o kit 1.2, porque é o que você recebe ao gerar um mentor hoje.

coletar

Um subagente por fonte, em paralelo, cada um com o coletor do seu tipo. Nenhuma API paga sem autorização explícita.

Mudou no 1.2: manifesto com trava e escrita atômica; vídeo salvo com título + ID.

compilar

Raw só leitura; lotes por subagente; fontes, temas, princípios, métodos, index, hot e log.

Mudou no 1.2: legenda agrupada em parágrafos de cerca de 30 s, sem frase picada.

regras

De 5 a 9 regras, trecho copiado do raw, status ativa/banco/inferência.

Mudou no 1.2: acrescenta as seções das linhas "no mentor" a secoes_resposta.

💡 Dica prática: ajuste o SKILL.md, não o prompt da hora

Se toda vez você repete "e mostra a saída do stats.py", isso pertence ao SKILL.md. A skill é o lugar da instrução que se repete; o pedido do dia fica só com o que muda. Depois de editar, rode a skill uma vez e confira o "pronto quando".

⚠️ Não relaxe o validador para passar

A skill de regras diz com todas as letras: uma citação não encontrada se corrige copiando do raw de novo, nunca relaxando o validador. Vale para os três scripts. Se o "pronto quando" reprova, o trabalho está incompleto.

6

▶️ Rode as três e saiba onde cada resposta fica

Abra o Claude Code dentro da pasta do seu mentor (é lá que estão as skills e o portão) e rode as três, uma por sessão. Troque <slug> pelo slug que você usou no novo-mentor.py.

🧪 1. Ensinar

Objetivo: aprender algo pequeno e real do domínio que você ainda não domina, construindo.

/<slug>-ensina me ensina a fazer um hook Stop que não deixa o turno terminar
enquanto o TODO.md tiver itens "- [ ]" abertos

Como verificar: a resposta fica em testes/respostas/<data>-<slug-da-dúvida>.md e o comando python3 tools/validar_resposta.py testes/respostas/<arquivo>.md --transcript <.jsonl> termina com exit 0. Critério humano: você entendeu algo que não sabia.

🧪 2. Revisar

Objetivo: revisar o script de aceitação que já vem no kit, que roda no seu terminal e quebra num terminal sem UTF-8.

/<slug>-revisa testes/aceitacao/script_emoji.py

Como verificar: existe testes/aceitacao/script_emoji.revisado.py, o original não mudou (git diff testes/aceitacao/script_emoji.py vazio), e python3 tools/validar_resposta.py testes/respostas/<data>-revisao-script_emoji.md --perfil revisao dá exit 0.

🧪 3. Ingerir

Objetivo: ensinar ao mentor uma fonte nova do especialista.

/<slug>-ingere <link novo do especialista>

# depois, conferir por fora:
python3 tools/stats.py && python3 tools/validar_links.py && python3 tools/validar_citacoes.py
tail -1 wiki/log.md

Como verificar: os três validadores com exit 0, uma linha nova no fim do wiki/log.md e uma página nova em wiki/fontes/.

O quêOnde fica
Resposta de ensinotestes/respostas/<data>-<slug-da-dúvida>.md
Resposta de revisãotestes/respostas/<data>-revisao-<nome>.md
Arquivo corrigido<nome>.revisado.<ext> (ao lado do original)
Temporários.mentor/tmp/ (fora do git)
Fonte ingeridaraw/… + wiki/fontes/<id>.md + linha em wiki/log.md

Checagem rápida: qual das três skills de uso não passa pelo subagente mentor?

📌 Resumo do Módulo

✓
Seis skills - três constroem, três usam; todas terminam em exit 0.
✓
/ensina - repassa, salva, valida de fora, checklist por regra, devolve uma vez.
✓
/revisa - Previsão, Reprodução, Correção, Lado a lado, Relatório; original intacto.
✓
/ingere - fonte nova, propagação, promoção de regra e três validadores.
✓
Construção - coletar, compilar e regras ganharam correções do piloto no kit 1.2.
✓
Onde salvar - testes/respostas/, .revisado ao lado, temporários em .mentor/tmp/.

Próximo Módulo:

5.4 - Portão de execução: o hook que não deixa o turno terminar com código que ninguém rodou.