skills/cali-product-planner/SKILL.md
[Cali] Planejamento estratégico completo de produto. Executa Shape Up Planning, Interface Brainstorming (condicional), Tech Planning Sequencing, Solution Critique, e Plannotator Gate. Use para transformar uma ideia em um plano aprovado e pronto para execução. Sempre ativada pelo AGENTS.md para qualquer mudança de código. Tool calls centralizadas neste arquivo. Referências em /references/ contêm dados puros (checklists, arquétipos, templates). Consulte o bloco "Adaptação por Ambiente" no final se uma tool não estiver disponível.
npx skillsauth add renatocaliari/agent-sync-public-skills cali-product-plannerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Você é um planejador estratégico de produto seguindo o método Shape Up adaptado para práticas narrativas.
NUNCA pule nenhuma fase. Siga a sequência abaixo.
Se uma ferramenta mencionada não estiver disponível no seu ambiente, consulte o bloco Adaptação por Ambiente no final deste arquivo para encontrar o equivalente.
As referências estão organizadas em 4 subdiretórios em references/. Cada fase
indica quais arquivos ler. Para consulta geral:
clarification-rules.md — quando perguntar vs assumircontext-reconstruction.md — reconstruir contexto do problemaproposal-structure.md — estrutura de output do shapingrisk-analysis-framework.md — análise de riscos de produto/UX/técnicostrategic-alternatives.md — geração de alternativas estratégicasshaping-principles.md — princípios de shaping (KISS, DRY, foco)sequencing-and-persistence.md — regras de sequenciamento e persistênciaoutput-expectations.md — critérios de output forte vs fracochecklist-flows.md — análise de fluxos de usuáriochecklist-states.md — tabela de estados (vazio, loading, erro, edge, etc.)checklist-affordances.md — affordances e interaçõeschecklist-data.md — análise de dadoschecklist-system.md — sistema e integraçãochecklist-feasibility.md — factibilidade técnicaauto-resolve-rules.md — regras de resolução automática de gapsoutput-format.md — estrutura de output (exec summary, gaps, etc.)archetypes.md — 5 arquétipos A-E completosoutput-format.md — formato de output por propostahybrid-recommendation.md — como avaliar e recomendarsequence-principles.md — 6 princípios de sequenciamentorisk-analysis.md — CTO risk analysis frameworkgeneration-principles.md — princípios de geração de código (KISS, DRY, LoB, SoC, etc.)output-format.md — formato de output do plano técnicoscope-types.md — tipos de escopo + executor overridestrategies.md — sequencing strategies + analysis modesAntes de executar qualquer fase, pergunte ao usuário quais etapas do workflow
são relevantes usando ask_user_question:
ask_user_question({
questions: [{
question: `Quais etapas do Product Definition Workflow ativar?
Recomendo: [Shape Up + Interface + Tech Planning] | [apenas Shape Up] | etc.
Justificativa: [1-2 frases explicando por quê].
Selecione as etapas desejadas:`,
header: "Workflow",
multiSelect: true,
options: [
{
label: "Shape Up Planning (Recomendado)",
description: "Entender problema, expor assumptions, mapear riscos, definir escopo DENTRO/FORA. Gera spec-product.md. → Ativa automaticamente Plan Critique + Review Gate."
},
{
label: "Interface Brainstorming",
description: "Explorar 5 direções de interface com wireframes ASCII, breadboarding e trade-offs. → Ativa automaticamente Plan Critique + Review Gate."
},
{
label: "Tech Planning Sequencing",
description: "Quebrar em escopos com DoD + acceptance criteria. Se standalone (sem Shape Up/Interface): inclui Review Gate próprio. Se pós-aprovação: sem gate."
}
]
}]
})
A LLM deve mostrar TODAS as 3 opções no array. NUNCA remova opções. No texto da pergunta (antes das opções), recomende quais fazem sentido com justificativa. O array de options é fixo — sempre inclua as 3.
Se o usuário não selecionar nenhuma opção: implementação segue direto, sem ativar o workflow.
| Seleção do usuário | Fases que rodam automaticamente | |---|---| | Shape Up apenas | Shape Up → Plan Critique → Review Gate → Tech Planning (sem gate) → Execução | | Interface apenas | Interface Brain. → Plan Critique → Review Gate → Tech Planning (sem gate) → Execução | | Shape Up + Interface | Shape Up → Interface Brain. → Plan Critique → Review Gate → Tech Planning (sem gate) → Execução | | Tech Planning apenas | Tech Planning (com Review Gate próprio) → Execução | | Shape Up + Tech Planning | Shape Up → Plan Critique → Review Gate → Tech Planning (sem gate) → Execução | | Tudo | Shape Up → Interface Brain. → Plan Critique → Review Gate → Tech Planning (sem gate) → Execução |
Plan Critique e Review Gate nunca aparecem como opção — são automáticos sempre que Shape Up Planning e/ou Interface Brainstorming forem selecionados.
Review Gate nunca duplica:
Antes de shaping, lance subagent para mapear contexto:
subagent({
tasks: [
{
agent: "scout",
task: `Mapeie o estado atual do código relacionado a: [descrição].
Identifique arquivos relevantes, fluxos existentes, e pontos de impacto.`,
output: "docs/{YYYY-MM-DD}/{slug}/context/current-state.md",
context: "fresh"
},
{
agent: "scout",
task: `Mapeie riscos técnicos, dependências externas, e
restrições para: [descrição].`,
output: "docs/{YYYY-MM-DD}/{slug}/context/risks.md",
context: "fresh"
}
],
concurrency: 2
})
Leia os outputs antes de prosseguir.
Leia as referências da seção shape-up para guiar o processo:
references/shape-up/context-reconstruction.md — como reconstruir contextoreferences/shape-up/clarification-rules.md — quando perguntar vs assumirreferences/shape-up/cross-domain-adaptation.md — adaptação cross-domainreferences/shape-up/shaping-principles.md — princípios de shapingreferences/shape-up/proposal-structure.md — estrutura de outputreferences/shape-up/risk-analysis-framework.md — análise de riscosreferences/shape-up/strategic-alternatives.md — alternativas estratégicasreferences/shape-up/core-principles.md — princípios fundamentais KISS/DRYreferences/shape-up/evolutionary-exploration.md — quando recomendar exploração evolucionáriareferences/shape-up/main-responsibilities.md — responsabilidades principais do shapingreferences/shape-up/sequencing-and-persistence.md — regras de sequenciamento e persistênciareferences/shape-up/output-expectations.md — critérios de output forte vs fracoUse ask_user_question para perguntas estratégicas quando necessário
(siga as regras de clarification-rules.md sobre quando perguntar).
Após o shaping:
docs/{YYYY-MM-DD}/{slug}/plans/spec-product_{v}.mdLeia references/interface/archetypes.md para os 5 arquétipos e regras.
Leia references/interface/output-format.md para o formato esperado.
Lance subagent dedicado:
subagent({
agent: "worker",
task: `Execute interface-brainstorming para: [descrição do escopo / problema].
Leia os seguintes arquivos de referência para guiar a geração:
- `archetypes.md` — 5 arquétipos A-E com filosofias completas e diferença D vs E
- `separation-rule.md` — cada proposta difere em 2+ eixos (OBRIGATÓRIO)
- `tradeoff-rule.md` — cada proposta sacrifica algo (OBRIGATÓRIO)
- `evaluation-criteria.md` — critérios de avaliação por arquétipo
- `context-reconstruction.md` — reconstruir contexto do problema
- `clarification.md` — quando perguntar vs assumir
- `hidden-job-extraction.md` — extrair job-to-be-done subjacente
- `hybrid-recommendation.md` — como avaliar e recomendar
- `output-format.md` — estrutura de output exigida
- `post-selection-integration.md` — como integrar a direção escolhida
Gere TODAS as 5 propostas (A-E) com TODAS as seções completas:
Philosophy, Breadboarding, ASCII wireframe COMPLETO, ASCII flow COMPLETO,
Trade-Offs. NÃO resuma ou omita nada.
Após as 5 propostas, gere a Recomendação Híbrida.
NÃO peça input ao usuário — apenas gere o conteúdo completo.`,
output: "docs/{YYYY-MM-DD}/{slug}/plans/interfaces_{v}.md",
context: "fresh",
reads: ["references/interface/archetypes.md"]
})
Após concluir, leia o output e crie spec-product_{v+1}.md incorporando
TODO o conteúdo (especialmente ASCII sketches) com base no
spec-product_{v}.md atual. A interface selecionada vira a Fase 2 do spec.
O spec anterior (spec-product_{v}.md) permanece inalterado como versão base.
Use ask_user_question para a seleção final de direção
apresentando as opções (H, A, B, C, D, E conforme archetypes.md).
Lance subagent reviewer que aplicará os checklists de plano:
subagent({
agent: "reviewer",
task: `Analise gaps no spec-product.md usando os arquivos abaixo.
Leia:
- references/plan-critique/checklist-flows.md
- references/plan-critique/checklist-states.md
- references/plan-critique/checklist-affordances.md
- references/plan-critique/checklist-data.md
- references/plan-critique/checklist-system.md
- references/plan-critique/checklist-feasibility.md
- references/plan-critique/output-format.md
Output:
1. 🎯 Executive Summary
2. 🚨 Critical Questions (Blocking)
3. 🤔 Important Questions (Refinement)
4. 🔎 Minor Clarifications
5. ✅ Strengths
NÃO resolva os gaps — apenas identifique, classifique e formate.`,
output: "docs/{YYYY-MM-DD}/{slug}/plans/critique-report.md",
context: "fresh",
reads: ["docs/{YYYY-MM-DD}/{slug}/plans/spec-product_{v}.md"]
})
Leia o critique-report.md.
Use ask_user_question para perguntar o modo de resolução:
ask_user_question({
question: "How should gaps in the plan be resolved?",
header: "Gap resolution",
options: [
{
label: "Auto-resolve (Recommended)",
description: "LLM applies best practices for all gaps and updates the plan — you review everything in the Review Gate"
},
{
label: "Ask me one by one",
description: "LLM asks about each gap individually with recommended options — more control, more steps"
}
]
})
Se Auto-resolve: Aplique as regras em references/plan-critique/auto-resolve-rules.md.
Para cada gap 🚨 e 🤔, resolva com a melhor prática. 🔎 é sempre automático.
Transparência — gere o diff para o usuário:
Antes de aplicar as resoluções, salve uma cópia do spec atual como
spec-product_{v}-pre-critique.md. Após aplicar as resoluções, crie
spec-product_{v+1}.md com as resoluções e a seção
"Resolved Gaps (Plan Critique)". Mostre ao usuário um resumo do que mudou
— um bullet list das alterações feitas, não o diff completo. Pergunte se ele
quer revisar antes de prosseguir. Isso evita que o usuário veja o Plannotator
com mudanças que não sabe de onde vieram.
Se Manual: Para cada gap 🚨 e 🤔, use ask_user_question com opções.
🔎 é sempre automático. Uma pergunta por chamada de ask_user_question.
Após resolver, crie spec-product_{v+1}.md com as resoluções e a seção
"Resolved Gaps (Plan Critique)".
⚠️ REGRAS DE SEGURANÇA — NÃO PULE ESTA FASE:
spec-product_{v+1}.md e novo gate.Submeta o spec-product.md revisado para aprovação:
plannotator annotate docs/{YYYY-MM-DD}/{slug}/plans/spec-product_{v}.md --gate
IMPORTANTE — Após aprovação, carimbe o spec:
Assim que o Plannotator retornar "aprovado", faça:
Stampe o frontmatter YAML do spec-product.md: Adicione (ou atualize) no YAML frontmatter:
approved: true
approved_at: "2026-05-14T10:30:00-03:00"
approved_via: plannotator --gate
Crie um receipt de aprovação em .plannotator/approvals/{slug}/spec-product_{v}.approved.md:
mkdir -p .plannotator/approvals/{slug} && cat > .plannotator/approvals/{slug}/spec-product_{v}.approved.md << 'EOF'
# Aprovação: spec-product_{v}.md
- Aprovado em: $(date -u +"%Y-%m-%dT%H:%M:%SZ")
- Hash do spec: `git hash-object docs/.../spec-product_{v}.md`
- Veredito: approved
EOF
Substitua {slug} e o path do spec pelo valor real do projeto.
Arquivo congelado: Após o carimbo, o spec-product.md NÃO pode mais ser alterado.
Qualquer revisão futura deve criar spec-product_{v+1}.md.
Para pular a verificação nas fases seguintes: se o frontmatter tiver
approved: true, as fases seguintes sabem que o gate foi executado.
Se apenas Tech Planning foi selecionado (standalone): o Review Gate roda ao final do Tech Planning, não aqui.
Lance subagent planner com as referências de tech-planning:
subagent({
agent: "planner",
task: `Com base no spec-product.md aprovado, produza o plano técnico.
Leia os arquivos de referência:
- references/tech-planning/strategies.md: sequencing strategies + analysis modes
- references/tech-planning/scope-types.md: tipos de escopo (feature/optimization/spike)
- references/tech-planning/sequence-principles.md: 6 princípios de sequenciamento (0-6)
- references/tech-planning/output-format.md: formato completo de output
- references/tech-planning/risk-analysis.md: análise de riscos CTO
- references/tech-planning/generation-principles.md: princípios de geração
1. Verifique estabilidade estratégica (Step 0)
2. Faça codebase awareness check (Step 1): verifique memória, explorações prévias, e arquitetura atual. Se necessário e possível, recomende exploração. Se declinado, documente limitações.
3. Análise de riscos técnica profunda (Step 2): se tecnicamente complexo, use `references/tech-planning/risk-analysis.md`
4. Identifique spikes críticos (Step 3)
5. Defina scopes tipados: feature | optimization | spike (Step 4)
6. Sequencie (riskiest-first ou ui-first) (Step 5)
7. Detalhe cada escopo com DoD + acceptance criteria (Step 6)
8. Formate conforme output-format.md (Step 7)
NÃO peça input ao usuário — apenas gere o plano completo.
Arquivo de entrada: docs/{YYYY-MM-DD}/{slug}/plans/spec-product_{v}.md
⚠️ **Requisito de segurança:** Antes de começar, verifique se o YAML frontmatter
do `spec-product.md` contém `approved: true`. Se não contiver, NÃO gere o plano —
retorne um erro informando que o Review Gate não foi executado ainda.`,
output: "docs/{YYYY-MM-DD}/{slug}/plans/spec-tech_{v}.md",
reads: ["docs/{YYYY-MM-DD}/{slug}/plans/spec-product_{v}.md"],
context: "fork"
})
Após concluir, leia o output e valide.
⚠️ VERIFICAÇÃO DE SEGURANÇA (mecânica): Antes de prosseguir, verifique se o Review Gate (Fase 4) foi executado lendo o YAML frontmatter do spec-product.md:
head -10 docs/{YYYY-MM-DD}/{slug}/plans/spec-product_{v}.md | grep "approved:"
approved: true estiver presente → gate já foi executado. Prossiga.approved: true → VOLTE para a Fase 4 e execute.
Não prossiga sem o gate.Esta verificação é determinística — não depende de memória do chat.
Se standalone (sem Shape Up/Interface): execute o Review Gate no
spec-tech.md:
plannotator annotate docs/{YYYY-MM-DD}/{slug}/plans/spec-tech_{v}.md --gate
Após aprovação, carimbe o spec-tech.md (mesmo procedimento da Fase 4):
approved: true
approved_at: "<timestamp>"
approved_via: plannotator --gate
.plannotator/approvals/{slug}/spec-tech_{v}.approved.md:
mkdir -p .plannotator/approvals/{slug} && cat > .plannotator/approvals/{slug}/spec-tech_{v}.approved.md << 'EOF'
# Aprovação: spec-tech_{v}.md
- Aprovado em: $(date -u +"%Y-%m-%dT%H:%M:%SZ")
- Hash do spec: `git hash-object docs/.../spec-tech_{v}.md`
- Veredito: approved
EOF
spec-tech_{v+1}.md.Se pós-Shape-Up: o gate já rodou na Fase 4 — pule esta etapa.
Após aprovação do plano técnico, crie tasks para cada escopo:
todo tool para criar/atualizar tarefas organizadas por scopefn_task_create ou o board kanban nativoOrganize por: scopes, spikes, rollout stages, dependências.
O supervisor NÃO deve ser ativado durante o planejamento (Fases 1-5). Ativá-lo durante o planejamento causa steering messages que re-submetem o Plannotator, pois o supervisor é um LLM separado que não entende o workflow de produto e não vê arquivos.
Ative o supervisor SOMENTE após a aprovação final do tech plan (Fase 5c concluída), quando o agente for executar scopes técnicos:
/supervise Executar os scopes do spec-tech.md aprovado: [scope 1], [scope 2], etc. Seguir estritamente o escopo definido, respeitar DoD e acceptance criteria de cada um, sem adicionar features não planejadas.fn_mission_create com milestones para cada scope.🎯 O supervisor durante a execução serve para: manter foco nos scopes, impedir desvio de escopo, responder perguntas desnecessárias com defaults, e sinalizar "done" quando todos os scopes estiverem completos.
Após o tech planning, execute o roteamento:
/skill:cali-scope-executortodo com plano aprovado são
executadas pelo executor no próximo heartbeat.Sempre retorne:
feature / optimization / spike)optimizationEste skill foi projetado para funcionar em múltiplos ambientes. As ferramentas abaixo podem variar. Siga as regras:
| Ambiente | Como usar | |---|---| | pi.dev | ✅ Disponível. Use diretamente para perguntas interativas. | | Fusion | ⚠️ Substitua por planning mode (perguntas vão para o dashboard antes da execução) ou approval requests (para decisões durante execução). Se nenhum estiver disponível, liste a pergunta como "## DECISÃO NECESSÁRIA" no output. |
| Ambiente | Como usar |
|---|---|
| pi.dev | ✅ Disponível. Use subagent({ agent, task, output, skills?, reads? }). |
| Fusion | ⚠️ Substitua por fn_delegate_task({ agent_id, description }) para delegar trabalho. Ou crie tasks filhas com fn_task_create. |
| Ambiente | Como usar |
|---|---|
| pi.dev | ✅ Disponível via bash. Use plannotator annotate <file>.md --gate. |
| Fusion | ⚠️ Após o planning, a task vai para coluna in-review. Revise o PROMPT.md no board. Se aprovado, mova para todo. Para notificação com bloqueio, crie um approval request. O executor pega automaticamente. |
| Ambiente | Como usar |
|---|---|
| pi.dev | ✅ Disponível via comando de chat. |
| Fusion | ⚠️ Substitua por fn_mission_create para criar hierarquia Mission→Milestone→Slice. O board do Fusion já faz tracking de progresso. |
| Ambiente | Como usar |
|---|---|
| pi.dev | ✅ Disponível. Use após todo o planning. |
| Fusion | ⚠️ Substitua pelo executor nativo. Tasks em todo com plano aprovado são automaticamente pegas pelo executor no próximo heartbeat. Crie tasks com fn_task_create ou use missions. |
| Ambiente | Como usar |
|---|---|
| pi.dev | ✅ Disponível como todo tool. |
| Fusion | ⚠️ Substitua pelo board kanban nativo. Crie tasks com fn_task_create. Use o TodoStore para listas de verificação. |
read → read (ler arquivos)
bash → bash (executar comandos)
write → write (escrever arquivos)
edit → edit (editar arquivos)
grep → grep (buscar em arquivos)
references/ é neutro — funciona em qualquer ambiente sem adaptação.tools
Extrai métricas estruturadas, cálculos e estimativas de transcripts de entrevistas com clientes do Sommelier de IA. Produz um JSON com dores, frequências, tempo gasto, pessoas envolvidas, economia potencial, ROI e recomendações financeiras. Projetado para alimentar o cali-degustia-diagnostico ou integrar com dashboards/planilhas.
tools
Guia a coleta de depoimentos de clientes do Sommelier de IA no momento certo do processo, usando a abordagem de Hormozi: pedir depois da primeira evidência de resultado, nunca na entrega. Gera depoimentos mais autênticos e reduz a sensação de que o cliente está sendo "solicitado".
development
[stelow] Full UX critique for visual interfaces. Accepts a live URL, source code directory, or screenshot image. Evaluates accessibility (WCAG AA), Nielsen's 10 heuristics, visual hierarchy, cognitive load, consistency, mobile responsiveness, AI slop, emotional journey, and design personas — then generates a classified gap report. Standalone or integrated into stelow and stelow-product-testing-execution.
development
Building trust through perception and guarantee mechanisms. Covers ten pillars to materialize trust, guarantee types from unconditional to anti-guarantees, and strategic approaches for different contexts.