Verificando acesso...

MÓDULO 5.2

🔄 Workflow multi-cliente + operação diária

Herança CLAUDE.md raiz + cliente, ritual diário (cd, claude, /start-here, /wrap-up), separação segura entre clientes, e update.sh respeitando user-data.

6
Tópicos
~50
Minutos
Avançado
Nível
Prático
Tipo
1

🧬 Herança CLAUDE.md raiz + cliente

Quando fazes cd clients/acme && claude, o Claude lê dois CLAUDE.md em cascata: o da raiz (instruções gerais) e o do cliente (overrides específicos). Saber a ordem evita conflitos.

1

CLAUDE.md raiz (do repo)

Regras gerais que se aplicam a TODOS os clientes + ao operador

Idioma, convenções de pastas, install gate, paths, skills registry. Não tem regras específicas de cliente — só sistema.

2

clients/<X>/CLAUDE.md (do cliente)

Overrides específicos — só ativos quando estás cd no cliente

Nome do cliente, template base, regras particulares ("nunca usar 'vocês' formal"), skills prioritárias, notas operativas, referências ao brand-context do cliente.

3

brand-context/ + context/ do cliente

Carregados automaticamente pelas skills marketing-*

Voice profile, ICP, positioning, soul, user — todos do cliente. Skills da raiz (.claude/skills/) continuam disponíveis e operam sobre o brand-context do cliente.

💡 Skills custom por cliente

Se um cliente requer skill que NÃO se aplica a outros, cria em clients/<X>/.claude/skills/<categoria>/<nome>/.

Essa skill só está disponível quando estás cd nesse cliente. Não polui os outros nem a raiz.

⚠️ Sinapsis é global

O operator-state.json de Sinapsis é UM, em ~/.claude/skills/, partilhado entre todos os clientes. Aplica-se a ti como operador, não ao cliente. É o esperado — tu és o mesmo profissional para todos.

2

🔄 Workflow típico (cd, claude, /start-here, /wrap-up)

Um ritual simples que respeita a separação. Sempre cd antes de claude. Sempre /wrap-up antes de mudar de cliente.

Segunda-feira típica · 3 clientes

# Cliente A (freelance-ia)
cd clients/acme-corp && claude
> /start-here
> "Cria post LinkedIn sobre case study X"
  → marketing-copywriting gera com voice de Acme
> /wrap-up
exit

# Cliente B (agencia-marketing)
cd ../widget-shop && claude
> /start-here
> "Repurpose último vídeo do CEO em 5 peças"
  → marketing-content-repurposing
> /wrap-up
exit

# Cliente C (consultoria-b2b)
cd ../north-star-consult && claude
> /start-here
> "Redige proposta comercial para novo lead"
  → marketing-copywriting com registo A formal
> /wrap-up
exit

✓ Best practices

  • Sempre cd antes de claude
  • /wrap-up ao mudar de contexto
  • Brand voice por cliente, não partilhar
  • 2 terminais para sessões simultâneas
  • Backup separado para clientes críticos

✗ Anti-patterns

  • Trabalhar cliente desde a raiz do repo
  • Mudar de cliente sem wrap-up
  • 1 sessão a saltar entre clientes
  • Copiar voice profile entre clientes
  • Esquecer de qual cliente estás (usa pwd)
3

🔒 Segurança: separação de info entre clientes

Por design, o OS não partilha info entre clientes automaticamente. O sistema remove a maioria das oportunidades de erro; a disciplina diária é tua.

Mecanismo O que protege Limitação
.gitignore extensivoNão exporta clientes para git públicoRepo privado se quiseres sync
Skills isoladas por cdSkills marketing-* só veem o cliente atualFalha se ignoras a regra do cd
update.sh skip user-dataUpdates nunca tocam em clients/<X>/Templates de _templates/ podem mudar
Brand-context separadoVoice/ICP de A não influencia copy de BOperator-state é global
Decisions-log por clienteDecisões de A não aparecem em BDecisões pessoais ficam na raiz

💡 Reutilizar info entre clientes

Se queres usar aprendizagens do cliente A para o cliente B:

  1. Faz manual e consciente (não acidental)
  2. Gera "case study anonimizado" como output do cliente A
  3. Referencia esse case study no cliente B

⚠️ Troubleshooting comum

  • "O Claude não aplica voice do cliente" → verifica pwd (estás no cliente?), voice-profile.md preenchido (sem {{...}}), CLAUDE.md do cliente referencia o path correto.
  • "Skills da raiz não aparecem" → reinicia Claude Code (Ctrl+C × 2 + claude).
  • "Misturo info acidentalmente" → sinal de não respeitar cd. Sai do Claude entre clientes, NÃO abrir 2 sessões na mesma terminal.
4

▶️ /start-here ritual diário

Cada sessão começa com /start-here (ou automaticamente no primeiro turno). Em 30s o sistema lê tudo o que precisas saber para arrancar e propõe a tarefa do dia. Funciona por cliente ou na raiz, conforme o cwd.

💡 O que /start-here lê

  • ~/.claude/skills/_operator-state.json — perfil do operador, deteta needsOnboarding
  • context/me.md — identidade (deriva para wizard se vazio)
  • synapsis/daily-summaries/<ONTEM>.md — "For tomorrow" da sessão anterior
  • context/learnings.md — última lição adicionada
  • projects/briefs/*/brief.md com status: active
  • context/decisions-log.md — últimas 5 decisões

3 modos de cumprimento

# Modo 1 · Continuidade (há daily summary de ontem)
"Olá Nei. Ontem fechaste com: blog post Stripe billing (status: pending review).
 Para hoje propunhas: passá-lo pelo output-verifier e publicar.
 Continuas com isso, ou mudamos?"

# Modo 2 · Projeto ativo sem summary recente
"Olá Nei. Tens o projeto **landing-iamasters** aberto na fase copy.
 Continuas com ele ou vamos a outra coisa?"

# Modo 3 · Sem atividade recente
"Olá Nei. Em que te ajudo hoje?"

💡 Em multi-cliente

O /start-hereo contexto do cwd atual. Se estás em clients/acme/, lê só a daily summary, projetos e decisions de Acme. Continuidade preservada por cliente.

5

⏹️ /wrap-up (commit, daily summary, learnings)

/wrap-up é o ritual de fecho. Sem wrap-up, amanhã não há memória de hoje. 9 passos automáticos, ~1 minuto.

1

Recap mental + sync skills

Resume o que se completou, o que ficou a meio, o que se aprendeu. Sincroniza skills-catalog.json.

2

Update CLAUDE.md skills registry

Regenera tabela entre <!-- skills-registry-start --> e end. Sem isto, o registry desincroniza-se do filesystem.

3

Append learnings (se aplicável)

Se uma skill falhou, append em context/learnings.md com data + razão + fix. Próxima vez essa skill carrega o aprendido.

4

Gerar daily summary

Cria/atualiza synapsis/daily-summaries/<TODAY>.md com Sessions, Done, Pending, Learnings, Decisions + "For tomorrow" + "Quick resume".

5

Commit Git (com aprovação)

Mostra git status, propõe mensagem conventional (feat(skills): add X, chore(wrap-up): EOD <data>). Espera "sim" explícito. Nunca push automático.

⚠️ NÃO se invoca automaticamente

Fechar Claude Code com Ctrl+C não dispara wrap-up. Tens de pedi-lo explicitamente. Se esqueces, perdes o daily summary daquela sessão.

💡 Em multi-cliente

Daily summary é gerado por cliente (o cwd determina onde grava). Ao mudar de cliente, faz /wrap-up primeiro para não misturar.

6

⬆️ update.sh + multi-cliente

bash scripts/update.sh sincroniza o repo com o upstream do iAmasters OS. Nunca toca em user-data — clients/, brand-context/, context/, projects/, .env. Skills custom por cliente também protegidas.

O que update.sh ATUALIZA O que update.sh NÃO toca
✅ Skills do repo (.claude/skills/)❌ clients/<nome>/ (todos os teus clientes)
✅ Slash commands (.claude/commands/)❌ brand-context/ (a tua marca)
✅ Templates de clientes (_templates/)❌ context/ (me, work, decisions-log, learnings)
✅ Scripts (install, add-client, etc.)❌ projects/ (os teus outputs)
✅ vendor/sinapsis/ (espelho upstream)❌ .env (API keys)
✅ CLAUDE.md raiz + docs/❌ clients/<X>/.claude/skills/ (custom)

📊 Fluxo seguro

  1. git status — commit ou stash tudo o que tens pendente primeiro
  2. bash scripts/update.sh — faz backup automático antes
  3. Se houver conflitos em ficheiros que editaste, interativo: mantém o teu / aceita upstream / merge
  4. /doctor após update — confirma que tudo continua válido
  5. Se o state schema mudou (raro), /install --resume reaplica as fases necessárias

⚠️ Conflict resolution

Se editaste algum ficheiro do sistema, o update deteta conflito e pergunta:

  • [1] Manter o meu — perde fixes do upstream, guarda customização
  • [2] Aceitar upstream — perde a tua edição (backup em .backup/)
  • [3] Merge manual — abre 3-way merge para resolveres

💡 Frequência

Update mensal está bem para a maioria. Se segues o release notes ativamente, semanal. Se nada do que sai te interessa, fica como estás — o OS funciona sem updates.

Resumo do Módulo

Cascade CLAUDE.md raiz + cliente — overrides por cliente sem duplicar regras
Sempre cd antes de claude — ritual cd → claude → /start-here → trabalha → /wrap-up → exit
Separação por design + disciplina — .gitignore, brand-context isolado, decisions-log por cliente
/start-here em 30s — operator-state, daily summary, learnings, projetos, decisions
/wrap-up em 9 passos — sync skills, learnings, daily summary, commit (com aprovação)
update.sh respeita user-data — separação rígida system vs your-stuff, skills custom por cliente protegidas

Próxima Trilha:

Trilha 6 — Estender: install-skill (skills externas de GitHub), install-mcp (MCP servers), criar a tua skill própria e contribuir ao catálogo.