--- name: brainstorm description: Brainstorming estruturado que explora ideias de múltiplos ângulos antes de criar spec. Consulta NotebookLM e Dify KB para perspectivas de especialistas. --- # /brainstorm v1.1 - Ideacao Estruturada Explora ideias de multiplos angulos antes de formalizar num spec. Consulta especialistas via NotebookLM (conhecimento curado profundo) e Dify KB (boas praticas gerais). **Flow:** brainstorm -> /spec create -> /sprint plan -> codigo --- ## Comandos | Comando | Funcao | |---------|--------| | `/brainstorm` | Brainstorm interactivo sobre ideia | | `/brainstorm ` | Brainstorm focado num tema | | `/brainstorm decide` | Resumir opcoes e ajudar a decidir | | `/brainstorm save` | Guardar resultado para usar no /spec | --- ## Protocolo Principal ``` 1. mcp__mcp-time__current_time 2. RECEBER ideia do utilizador: - Se argumento dado: usar como tema - Se nao: "Qual e a ideia que queres explorar?" 3. FASE 1 - Entender a Ideia a. Repetir a ideia nas proprias palavras: "Se entendo bem, queres [X] para resolver [Y]. Correcto?" b. Perguntar contexto se faltar: - Para quem e? (cliente, interno, produto) - Que problema resolve? - Ha restricoes (tempo, budget, tecnicas)? 4. FASE 2 - Consultar Especialistas **Passo A: NotebookLM (conhecimento curado profundo)** Encontrar notebooks relevantes ao tema: ``` mcp__notebooklm__search_notebooks({ query: "[tema palavras-chave]" }) ``` Perguntar ao(s) notebook(s) encontrado(s): ``` mcp__notebooklm__ask_question({ question: "Quais sao as melhores abordagens para [tema]? Que boas praticas existem?", notebook_id: "[id do notebook relevante]" }) ``` Mapeamento de notebooks a temas: | Tema | Notebooks NotebookLM | |------|---------------------| | CRM/Perfex | perfex-crm-knowledge-base | | Dev/Claude Code | claude-code-advanced-knowledge | | IA/SaaS/Automacao | stack-tecnol-gica-ia-descompli | | Servidores/Hosting | centos-web-panel-cwp-complete | | PKM/Obsidian | obsidian-knowledge-system | | WhatSMS/WhatsApp | whatsms-zender-platform | | E-commerce PT | e-commerce-portugal-estrat-gia | REGRA: Consultar 1-2 notebooks relevantes. Se nenhum encaixa, saltar para Dify KB. Apresentar insights como "com base no conhecimento curado sobre [tema]..." **Passo B: Dify KB (boas praticas gerais)** Escolher 2-3 datasets complementares: | Tema | Datasets Dify KB | |------|---------------------| | Negocio/estrategia | "Estrategia", "Marketing Digital" | | Desenvolvimento | "Desenvolvimento de Software", "Arquitectura" | | Marketing | "Marketing Digital", "SEO", "Content Marketing" | | Gestao | "Gestao de Projetos", "Gestao de Processos" | | Produto | "Product Management", "UX/UI" | | Infraestrutura | "DevOps", "Seguranca" | | E-commerce | "E-commerce", "Marketing Digital" | | Generico | "Estrategia", "Produtividade" | Para cada dataset relevante: ``` mcp__dify-kb__dify_kb_retrieve_segments({ dataset: "[nome]", query: "[tema + palavras-chave]" }) ``` Apresentar insights como "boas praticas de [dominio] sugerem..." **Combinar ambas as fontes** para perspectivas mais ricas. NotebookLM = contexto profundo e especifico. Dify KB = principios gerais e frameworks. 5. FASE 3 - Explorar Angulos Apresentar a ideia de MULTIPLAS perspectivas: ### Perspectiva Tecnica - Viabilidade, complexidade, stack - [Insight do dataset de Desenvolvimento/Arquitectura] ### Perspectiva de Negocio - ROI, valor para cliente, diferenciacao - [Insight do dataset de Estrategia/Marketing] ### Perspectiva Pratica - Tempo, recursos, dependencias - [Insight do dataset de Gestao] ### Riscos e Alternativas - O que pode correr mal - Abordagens alternativas - "E se em vez de X, fizessemos Y?" 6. FASE 4 - Pros e Contras | Aspecto | Pro | Contra | |---------|-----|--------| | [aspecto 1] | [vantagem] | [desvantagem] | 7. FASE 5 - Interaccao "O que ressoa mais? Queres explorar algum angulo em detalhe?" ITERAR com o utilizador ate: - A ideia estar clara - As decisoes principais estarem tomadas - O scope estiver delineado 8. PERGUNTAR: "Pronto para formalizar? Posso criar o /spec com base nesta discussao." ``` --- ## `/brainstorm decide` Para quando ha multiplas opcoes e o utilizador precisa escolher: ``` 1. Listar opcoes identificadas na discussao 2. Para cada opcao: - Resumo em 1-2 frases - Score por criterio (tecnico, negocio, pratico) - Recomendacao: "Melhor para [cenario]" 3. Consultar datasets para argumentos adicionais 4. Apresentar comparacao: ## Decisao: [tema] | Criterio | Opcao A | Opcao B | Opcao C | |----------|---------|---------|---------| | Complexidade | Baixa | Media | Alta | | Valor | Medio | Alto | Alto | | Tempo | 2h | 8h | 20h | | Risco | Baixo | Medio | Alto | **Recomendacao:** Opcao [X] porque [razao] **Mas se [condicao]:** Opcao [Y] 5. "Qual escolhes? Ou queres explorar mais alguma?" ``` --- ## `/brainstorm save` Guarda o resultado da sessao para uso posterior: ``` 1. Compilar resumo da discussao: - Ideia original - Angulos explorados - Decisoes tomadas - Opcao escolhida (se aplicavel) - Insights dos datasets 2. Guardar em memory-supabase: save_memory({ content: "[resumo estruturado]", tags: ["brainstorm", "ideia", tema, projecto], metadata: { type: "brainstorm", outcome: "spec_ready|needs_more|parked" } }) 3. "Brainstorm guardado. Usar /spec create para formalizar." ``` --- ## Fontes de Conhecimento - Mapeamento As fontes sao consultadas AUTOMATICAMENTE com base no tema. O utilizador nao precisa de saber quais existem - o brainstorm descobre. ### NotebookLM (fonte primaria - conhecimento curado) - 7 notebooks com conteudo profundo (cursos, manuais, docs extensos) - Respostas via Gemini 2.5 com RAG sobre o conteudo - Ideal para perguntas especificas e contexto profundo - Usar `search_notebooks` para descobrir + `ask_question` para perguntar ### Knowledge Sources **Primario:** NotebookLM **Fallback:** Dify KB (fonte complementar - boas praticas) - ~68 datasets com segmentos curtos e frameworks - Ideal para principios gerais e checklists - Usar `retrieve_segments` com queries focadas **Estrategia de query:** - Usar 2-3 palavras-chave extraidas do tema - Se primeiro resultado vazio, reformular query - Apresentar insights como "especialistas sugerem..." (nao como "base de dados diz...") - Se nao houver resultados relevantes: ser honesto, nao inventar **Exemplo de apresentacao:** ``` ### Perspectiva de Marketing Com base no conhecimento curado sobre e-commerce PT, recomenda-se [X] porque [Y]. Complementarmente, boas praticas de marketing digital sugerem [Z] para este tipo de projecto. ``` --- ## Integracao | Skill | Como integra | |-------|-------------| | `/discover` | Findings do discover alimentam perspectivas e argumentos | | `/spec create` | Brainstorm alimenta o spec com decisoes ja tomadas | | `/brainstorm save` | Guarda em Supabase para contexto futuro | | `/knowledge` | Pode ser invocado durante brainstorm para pesquisa adicional | | NotebookLM | Conhecimento curado via search_notebooks + ask_question | --- ## Regras 1. **NUNCA** cortar o brainstorm curto - deixar o utilizador explorar 2. **SEMPRE** consultar pelo menos 1 notebook NotebookLM + 1 dataset Dify relevante 3. **NUNCA** inventar insights - se dataset nao tem info, dizer 4. Apresentar perspectivas como "especialistas" nao como "base de dados" 5. O brainstorm e livre - nao forcar estrutura prematuramente 6. Sugerir /spec create quando a ideia amadurecer, nao impor 7. Para PHDA: manter cada fase curta, perguntar antes de avancar 8. Alternativas sao valiosas - nao descartar ideias cedo demais