Pular para o conteúdo
MÓDULO 3.2

💉 Injetando no Modelo (e Sem Dados Próprios)

O playbook só vale se ENTRAR no contexto. Aqui: o hook SessionStart, virar skill, o CLAUDE.md, o plano B com traces abertos no Hugging Face para quem não tem dados próprios, o que transfere e o que NÃO, e a ética de fechar o loop.

6
Tópicos
30
Minutos
Aplicado
Nível
Prática
Tipo
playbook.md a fonte hook SessionStart skill fable-mindset CLAUDE.md additionalContext início da sessão
1

🪝 Hook SessionStart

O caminho "sempre ativo, sem pensar": o script inject-playbook.sh injeta o playbook como additionalContext a cada sessão. Você o aponta no evento SessionStart do settings.json. E é fail-open: se o arquivo do playbook não existir, a sessão segue normal — nada quebra.

// ~/.claude/settings.json
{
  "hooks": {
    "SessionStart": [
      {
        "matcher": "startup",
        "hooks": [
          { "type": "command",
            "command": "bash ~/projetos/fablelite/hooks/inject-playbook.sh" }
        ]
      }
    ]
  }
}

✓ O que o hook faz

  • Lê o .md e devolve via additionalContext.
  • Dispara no startup de cada sessão.
  • Aponta para outro arquivo via FABLE_PLAYBOOK=.

🔎 Fail-open na prática

Se o playbook não existir, o script imprime {"continue":true} e sai com código 0 — a sessão começa normalmente. Injeção é um bônus, nunca um ponto de falha.

2

🧩 Virar skill

Nem sempre você quer o playbook em TODA sessão. A skill fable-mindset carrega o playbook sob demanda e ainda traz os scripts junto (debloat, extract, compare, make_playbook). É o canal de quando você prefere invocar explicitamente em vez de injetar sempre.

Sob demanda

O modelo consulta o playbook quando a tarefa é de código — não em toda conversa. Você controla o quando.

Scripts incluídos

A skill traz o pipeline inteiro: dá para re-medir e regenerar o playbook a partir da própria invocação.

💡 Dica prática

A skill fable-mindset mora em ~/.claude/skills/fable-mindset/. Use-a quando quiser o playbook E as ferramentas na mão, sem deixá-lo ativo o tempo todo.

3

📄 CLAUDE.md — o caminho mais simples

O mínimo esforço: cole o conteúdo do playbook (ou um link para ele) no CLAUDE.md — global ou de projeto. Ele já é auto-injetado em toda sessão, versionado junto do repo, sem nenhuma configuração de hook. Três canais, três trade-offs — escolha pelo que você precisa:

Canal Quando ativa Escolha se…
🪝 Hook sempre ativo (todo SessionStart) quer sem pensar, em toda sessão
🧩 Skill sob demanda + os scripts quer invocar explicitamente
📄 CLAUDE.md auto-injetado, versionado quer mínimo esforço

📊 Resumo da decisão

  • Sempre ativo, sem pensar → hook SessionStart.
  • Sob demanda + os scripts juntos → skill.
  • Mínimo esforçoCLAUDE.md.
4

🤗 Sem dados do Fable? Os traces abertos

E se você mal teve tempo de conversar com o Fable e não tem sessões dele para minerar? Pessoas abriram as próprias sessões no Hugging Face: Glint-Research/Fable-5-traces. O import_hf_traces.py baixa o dataset e roda o MESMO exercício comportamental sobre dados de terceiros — mesma leitura de ferramentas/turno, raciocínio e ordem de trabalho.

pip install datasets

# Glint-Research/Fable-5-traces (default):
python import_hf_traces.py
# inspeciona o schema do dataset:
python import_hf_traces.py --peek
# escreve stats.json num corpus:
python import_hf_traces.py --out corpus_fable_hf

💡 Dica prática

O importador é defensivo: tenta mapear formatos comuns (chat, JSONL embutido, transcrição crua). Se a contagem sair estranha, abra um registro com --peek e ajuste record_to_events(). Depois, make_playbook.py --from-json vira playbook (lado a = estes dados).

Dataset

Fable-5-traces (HF)

Requisito

pip install datasets

Script

import_hf_traces.py

Resultado

mesmo exercício

5

🎚️ O que transfere e o que NÃO

A expectativa honesta: você imita o RITMO (pensar antes, ler antes de editar, fechar o loop), não clona o modelo. O poder do Fable está nos pesos — e isso o playbook não atravessa. O que ele faz é melhorar a execução do modelo-alvo; ele não vira Fable.

✓ TRANSFERE (o ritmo)

  • Pensar antes de agir no não-trivial.
  • Ler antes de editar; ferramenta com propósito.
  • Fechar o loop com teste/build.

✗ NÃO transfere

  • Os pesos do modelo — onde mora o poder.
  • Virar Fable: a identidade não muda.
  • O conteúdo do raciocínio (vem cifrado nos logs).

🔎 A leitura honesta

O playbook é uma melhoria de processo, não um transplante de capacidade. Ele dá ao modelo-alvo o ritmo bom medido no Fable — ganho real, sem promessa mágica de "transformar Opus em Fable".

6

⚖️ Ética e generalização

Para fechar o loop com responsabilidade: rode no SEU histórico; trate o corpus como sensível — ele tem seu código e seus dados. O método não é exclusivo do par Fable/Opus: aplica a Opus, Codex e modelos open-source. E mantenha o playbook vivo: itere com novos dados conforme você acumula sessões.

logs delta medido playbook injetado no modelo novos logs realimentam — itere o playbook

⚠️ O corpus é sensível

Seus logs contêm código, caminhos e possivelmente segredos. Trate-os como dado pessoal: redija antes de compartilhar e não os exponha. O ouro é o ritmo, não os dados — e o ritmo você pode publicar; os dados, não.

Rode em

seu histórico

Corpus

trate como sensível

Aplica a

Opus/Codex/open-source

Mantenha

iterando com novos dados

💉 Resumo do Módulo

Hook SessionStart — injeta como additionalContext, fail-open.
Skill fable-mindset — sob demanda, com os scripts juntos.
CLAUDE.md — auto-injetado, mínimo esforço.
Sem dados? import_hf_traces.pyGlint-Research/Fable-5-traces no HF.
Você imita o RITMO, não clona o modelo — o poder está nos pesos.
Corpus sensível; itere com novos dados — o loop fecha e recomeça.

Fim da trilha:

Do log ao playbook injetado — o método é seu. Rode no seu histórico e itere.