Tabela resumo
Tool
Signature
Descrição
Metodologia (7)
get_principles
() → str
Princípios fundamentais (LTV/CAC, payback, cashflow).
get_framework
(name: str) → str
Frameworks: growthEquation, retentionModel, acquisitionModel, monetizationModel.
get_glossary_term
(term: str) → str
Define um termo (CURR, NURR, payback, aha moment, etc).
search_methodology
(query: str) → str
Busca livre em todo o knowledge base.
get_playbook
(name: str) → str
Playbooks: clientOnboarding, howItWorks, skillsRetro.
get_skill_template
(skill_name: str) → str
Template de execução de cada skill (cohortAnalysis, retentionDrilldown, etc).
list_available_tools
() → str
Meta-tool: lista todas as tools disponíveis.
Quota (2)
record_command_run
(command: str) → dict
Registra execução de comando + aplica gate de quota.
get_quota_status
() → dict
Status da quota sem registrar nada (read-only).
Onboarding adaptativo (2)
get_onboarding_skeleton
() → dict
Retorna as 6 perguntas do onboarding.
generate_dataspec
(category: str, answers: dict) → str
Renderiza dataSpec.md adaptado pro tipo de negócio.
Metodologia · 7 tools
get_principles()
def get_principles() -> str
Retorna os princípios fundamentais de growth operations. A skill
before-analysis chama essa tool antes de cada comando — garante que toda análise é calibrada por LTV/CAC, payback, cashflow.Exemplo de saída (truncado)
# Growth Principles
## O objetivo
Growth existe para otimizar LTV/CAC respeitando o fluxo de caixa da empresa.
## Os três princípios
### 1. Otimizar LTV/CAC
LTV/CAC mede a eficiência do crescimento...
[+ ~120 linhas: payback, cashflow, hierarquia, análise temporal/causal]
get_framework(name)
def get_framework(name: str) -> str
Retorna conteúdo Markdown de um framework. Opções:
growthEquation (decomposição da equação de crescimento), retentionModel (buckets MECE — CURR/NURR/RURR/SURR), acquisitionModel (canais e funil), monetizationModel (ARPU, LTV).Chamada e saída
get_framework('retentionModel')
# Retention Model
## Buckets MECE
- CURR (Current Users): ativos no mês
- NURR (New Users): primeiro mês
- RURR (Resurrected): voltaram após churn
- SURR (Sustained): mantiveram-se ativos
[+ ~80 linhas: taxas de transição, sensitivity, exemplos]
get_glossary_term(term)
def get_glossary_term(term: str) -> str
Busca um termo no glossário de métricas e retorna definição + fórmula + como analisar temporalmente. Termos cobertos: LTV, CAC, CURR, NURR, RURR, SURR, churn, activation rate, payback, power users, core users, casual users, aha moment, setup moment, habit moment.
Chamada e saída
get_glossary_term('aha moment')
## Aha moment
Definição: momento em que o usuário entende o valor do produto.
Fórmula: variável por produto. Costuma ser uma ação + frequência
(ex: 3 logs de transação na primeira semana).
Como analisar: medir % de usuários que atingem em M0...
search_methodology(query)
def search_methodology(query: str) -> str
Busca livre por texto em toda a base de conhecimento (frameworks, princípios, playbooks, skills). Use quando não souber o nome exato do termo. Retorna até 5 snippets ordenados por relevância.
Chamada e saída
search_methodology('zona do esquecimento')
Encontrados 2 resultado(s) para 'zona do esquecimento':
### retentionModel.md
... usuários no bucket Casual ficam na "zona do esquecimento":
não estão churn ainda, mas a frequência caiu pra 1x/mês ou menos...
### skillsRetro.md
... a zona do esquecimento é o ponto onde a aposta é binária:
ou volta pra Core ou churn no próximo ciclo...
get_playbook(name)
def get_playbook(name: str) -> str
Retorna um playbook operacional. Opções:
clientOnboarding (processo de 4 semanas pra novo cliente), howItWorks (como o sistema de growth ops funciona), skillsRetro (protocolo de retrospectiva de skills).Chamada e saída
get_playbook('clientOnboarding')
# Client Onboarding Playbook (4 semanas)
## Semana 1: Setup + dataSpec
- Roda /setup, gera dataSpec.md
- Conecta warehouse, valida 1 query exemplo
- Define cliente do projeto, branding...
[+ ~150 linhas: semana 2/3/4]
get_skill_template(skill_name)
def get_skill_template(skill_name: str) -> str
Retorna o template/instrução de como executar uma skill de análise. O agente do cliente usa isso pra saber o que fazer, sem ter a skill local. Skills disponíveis: growthEquation, cohortAnalysis, retentionDrilldown, sensitivityAnalysis, hypothesisGenerator, createHypothesis, dataSchemaSetup, reportRetention, reportAcquisition, reportActivation, reportAffiliates, weeklyBriefing, postCallLog.
Chamada e saída
get_skill_template('hypothesisGenerator')
# Como rodar: Hypothesis Generator
1. Ler princípios (get_principles) — toda hipótese ladders up
2. Ler equação e drilldowns existentes
3. Para cada causa identificada, gerar hipótese com:
- Descrição da causa
- Ação proposta
- Impact (1-10), Confidence (1-10), Ease (1-10)
- ICE = I × C × E / 10
4. Ordenar por ICE
5. Salvar em _initiatives/[cliente]/hypotheses.md
list_available_tools()
def list_available_tools() -> str
Meta-tool. Lista todas as ferramentas disponíveis com 1 linha de descrição cada. Útil como primeiro passo pra saber o que o servidor oferece — embora a página atual já cubra isso de forma mais completa.
Chamada e saída (truncado)
list_available_tools()
## Growth Brain — Ferramentas disponíveis
### Conhecimento
- get_principles() — Princípios de growth (LTV/CAC, payback, cashflow)
- get_framework(name) — Frameworks
- get_glossary_term(term) — Buscar termo
- search_methodology(query) — Busca livre
[+ Operação, Como usar]
Quota · 2 tools
record_command_run(command)
def record_command_run(command: str) -> dict
Registra execução de um comando de análise + aplica gate de quota. Chamada automaticamente pela skill
before-analysis antes de cada comando. Retorna estado pós-tentativa: se trial bateu 30 análises, retorna blocked=true e a tentativa NÃO incrementa o contador. Identifica cliente via JWT (sub).Chamada e saída (trial não bloqueado)
record_command_run('/hypotheses')
{
"used": 12,
"limit": 30,
"remaining": 18,
"tier": "trial",
"blocked": false,
"reason": null,
"expires_at": "2026-05-15T00:00:00.000+00:00"
}
get_quota_status()
def get_quota_status() -> dict
Status da quota sem registrar nada — read-only. Usado pelo plugin pra mostrar avisos progressivos antes do bloqueio (20+ contador discreto / 25+ aviso amarelo). Não consome nada.
Chamada e saída (business)
get_quota_status()
{
"used": 87,
"limit": null,
"remaining": null,
"tier": "business",
"blocked": false,
"reason": null,
"expires_at": "2027-04-30T00:00:00.000+00:00"
}
Onboarding adaptativo · 2 tools
get_onboarding_skeleton()
def get_onboarding_skeleton() -> dict
Retorna a estrutura das 6 perguntas do onboarding (categoria, monetização, granularidade, fonte de dados, conta-fonte, margem). Cada pergunta tem id, tipo (single_choice / multi_choice / free_text / composite), opções (se aplicável). O
/setup consome essa estrutura pra dirigir o fluxo de perguntas.Chamada e saída (truncado)
get_onboarding_skeleton()
{
"version": 1,
"questions": [
{
"id": "category",
"type": "single_choice",
"options": ["ecommerce", "saas-b2b", "saas-b2c", "marketplace", "fintech", "outro"]
},
{
"id": "monetization",
"type": "single_choice",
"options": ["assinatura", "transacional", "freemium", "ads", "take-rate"]
}
[+ 4 perguntas]
]
}
generate_dataspec(category, answers)
def generate_dataspec(category: str, answers: dict) -> str
Renderiza
dataSpec.md adaptado pro tipo de negócio dado as respostas do /setup. Cada categoria tem template específico (templates/ecommerce.md.j2, etc) com schema de tabelas esperado, métricas-chave, queries de exemplo. Saída ~7000 caracteres em média.Chamada e saída (truncado)
generate_dataspec('ecommerce', {
'category': 'ecommerce',
'monetization': 'transacional',
'granularity': 'pedido',
'data_source': 'bigquery',
'data_account': 'meu-projeto.dataset',
'margin': '0.35'
})
# DataSpec — ECOMMERCE
## Schema esperado
### clientes
- id (PK), email, criado_em, canal_aquisicao, ...
### pedidos
- id (PK), cliente_id (FK), valor, estado, criado_em, ...
[+ ~120 linhas: itens_pedido, eventos, custos, queries-exemplo]
Como invocar
Tools são chamadas pelos commands automaticamente — você raramente chama uma tool diretamente. Exceções:
- Debug: invocar
get_principles()ouget_framework('retentionModel')manualmente pra inspecionar o conteúdo que o brain está lendo. - Quota check:
get_quota_status()antes de rodar um comando custoso pra confirmar que tem espaço no trial. - Lookup rápido:
get_glossary_term('payback')pra ver definição/fórmula em meio a uma conversa.
Em sessão normal de uso, você só roda comandos do plugin (/hypotheses etc) — eles cuidam das chamadas internas.