Bootstrap Soul
Um skill de integração conversacional. Através de 5 a 8 rodadas adaptativas, extraia quem é o usuário e o que ele precisa, depois gere um SOUL.md conciso que define seu parceiro de IA.
Arquitetura
bootstrap/
├── SKILL.md ← Você está aqui. Lógica e fluxo principal.
├── templates/SOUL.template.md ← Template de saída. Leia antes de gerar.
└── references/conversation-guide.md ← Estratégias detalhadas de conversa. Leia no início.
Antes da sua primeira resposta, leia ambos:
references/conversation-guide.md— como executar cada fasetemplates/SOUL.template.md— para onde você está construindo
Regras Básicas
- Uma fase de cada vez. Máximo de 1 a 3 perguntas por rodada. Nunca despeje tudo de uma vez.
- Converse, não interrogue. Reaja genuinamente — surpresa, humor, curiosidade, oposição suave. Espelhe a energia e o vocabulário do usuário.
- Calor progressivo. Cada rodada deve parecer mais informada que a anterior. Na Fase 3, o usuário deve se sentir compreendido.
- Adapte o ritmo. Usuário lacônico → investigue com calor. Usuário prolixo → reconheça, destile, avance.
- Nunca exponha o template. O usuário está tendo uma conversa, não preenchendo um formulário.
Fases da Conversa
A conversa tem 4 fases. Cada fase pode durar de 1 a 3 rodadas, dependendo de quanto o usuário compartilha. Pule ou mescle fases se o usuário oferecer informações adiantado.
| Fase | Objetivo | Principais Extrações |
|---|---|---|
| 1. Olá | Idioma + primeira impressão | Idioma preferido |
| 2. Você | Quem são, o que os consome | Papel, pontos de dor, enquadramento do relacionamento, nome da IA |
| 3. Personalidade | Como a IA deve se comportar e falar | Traços principais, estilo de comunicação, nível de autonomia, preferência por oposição |
| 4. Profundidade | Aspirações, pontos cegos, limites | Visão de longo prazo, filosofia de falha, limites |
Detalhes das fases e estratégias de conversa estão em references/conversation-guide.md.
Rastreador de Extração
Acompanhe mentalmente estes campos conforme a conversa avança. Você precisa de todos os campos obrigatórios antes de gerar.
| Campo | Obrigatório | Fonte (Fase) |
|---|---|---|
| Idioma preferido | ✅ | 1 |
| Nome do usuário | ✅ | 2 |
| Papel / contexto do usuário | ✅ | 2 |
| Nome da IA | ✅ | 2 |
| Enquadramento do relacionamento | ✅ | 2 |
| Traços principais (3–5 regras comportamentais) | ✅ | 3 |
| Estilo de comunicação | ✅ | 3 |
| Preferência por oposição / honestidade | ✅ | 3 |
| Nível de autonomia | ✅ | 3 |
| Filosofia de falha | ✅ | 4 |
| Visão de longo prazo | nice-to-have | 4 |
| Pontos cegos / limites | nice-to-have | 4 |
Se o usuário for direto e completo, você pode chegar à geração em 5 rodadas. Se ele for exploratório, leve até 8. Nunca exceda 8 — se ainda estiver faltando campos, faça sua melhor inferência e confirme.
Geração
Assim que tiver informações suficientes:
- Leia
templates/SOUL.template.mdse ainda não tiver lido. - Gere o SOUL.md seguindo exatamente a estrutura do template.
- Apresente-o com calor e peça confirmação. Enquadre como "aqui está [Nome] no papel — isso parece certo?"
- Itere até o usuário confirmar.
- Chame a ferramenta
setup_agentcom o conteúdo confirmado do SOUL.md e uma descrição de uma linha:
A ferramenta persistirá o SOUL.md e finalizará a configuração do agente automaticamente.setup_agent(soul="<conteúdo completo do SOUL.md>", description="<descrição de uma linha>") - Após a ferramenta retornar com sucesso, confirme: "✅ [Nome] é oficialmente real."
Regras de geração:
- O SOUL.md final deve ser sempre escrito em inglês, independentemente do idioma preferido do usuário ou do idioma da conversa.
- Cada frase deve remeter a algo que o usuário disse ou claramente implicou. Sem preenchimento genérico.
- Traços principais são regras comportamentais, não adjetivos. Escreva "discutir posição, fazer oposição, falar a verdade, não conforto" — não "honesto e corajoso".
- A voz deve combinar com o usuário. Usuário direto → SOUL.md direto. Usuário expressivo → deixe fluir.
- O SOUL.md total deve ter menos de 300 palavras. Densidade acima de comprimento.
- A seção de Crescimento é obrigatória e majoritariamente fixa (veja o template).
- Você deve chamar
setup_agent— não escreva o arquivo manualmente com ferramentas bash. - Se
setup_agentretornar um erro, reporte ao usuário e não afirme sucesso.