Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD across contents and paths, upstream package/repo coordinates -> @golem15/msd-core and golem15com/msd-core. Deep links into upstream history, sibling upstream packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is. Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line, package/plugin identity, regenerated lockfile, install-tree fixtures, derived registries and benchmark baseline; migration checksum baseline re-locked (MSD keeps its own install state, so no install had applied the old sums); sort-order and regex-escaped expectations in tests adjusted.
6.2 KiB
Como fazer spike e sketch antes de se comprometer
Objetivo: Reduzir riscos de implementação por meio de experimentos de viabilidade focados (spikes) e exploração de direções visuais com maquetes HTML descartáveis (sketches) antes de se comprometer com uma fase em uma abordagem específica.
Pré-requisitos: Nenhum. /msd-spike e /msd-sketch criam seus próprios diretórios de armazenamento e não exigem um projeto MSD inicializado.
Decida: spike, sketch ou ambos
| Você quer responder… | Use |
|---|---|
| "Essa abordagem técnica vai funcionar de verdade?" | /msd-spike |
| "Este layout / interação / tratamento visual parece certo?" | /msd-sketch |
| "Qual é a abordagem técnica correta e como ela deve parecer?" | Ambos, em ordem: spike primeiro, depois sketch |
Spikes respondem perguntas binárias de viabilidade com código executável e um veredicto VALIDATED / INVALIDATED / PARTIAL. Sketches respondem perguntas visuais com 2 a 3 variantes HTML comparáveis no navegador. Eles são complementares — um spike prova que a abordagem é construível, um sketch prova que o design vale a pena construir.
Executar um spike
Coleta interativa (padrão)
/msd-spike
MSD pergunta sobre a questão técnica, a decompõe em 2 a 5 experimentos independentes estruturados como hipóteses Given / When / Then, e solicita confirmação antes de construir.
Fornecer a ideia diretamente
/msd-spike "can we stream LLM tokens through SSE"
Pular a coleta e executar imediatamente
/msd-spike --quick "websocket vs SSE latency"
--quick ignora a conversa de decomposição e trata o argumento como uma única pergunta de spike. Use isso quando a pergunta já for específica o suficiente para executar sem refinamento.
O que cada experimento produz
Cada spike em .planning/spikes/NNN-descriptive-name/ inclui:
- Código funcional (não pseudocódigo)
- Uma hipótese Given / When / Then escrita antes de qualquer código
- Um rastro de investigação documentando casos extremos, pivôs e surpresas
- Um veredicto VALIDATED, INVALIDATED ou PARTIAL com evidências
- Um
README.mdcom frontmatter, instruções de como executar e resultados
Todos os spikes são indexados em .planning/spikes/MANIFEST.md.
Empacotar os resultados
Quando você tiver um sinal, empacote os resultados em uma skill local do projeto para que sessões futuras os carreguem automaticamente:
/msd-spike --wrap-up
Isso grava em .claude/skills/spike-findings-[project]/. A skill é descoberta automaticamente e carregada por execuções subsequentes de /msd-sketch, /msd-ui-phase e /msd-plan-phase — você não precisa referenciá-la explicitamente.
Executar um sketch
Coleta de mood (padrão)
/msd-sketch
MSD abre uma conversa breve para explorar sensação, referências visuais e a ação principal do usuário antes de qualquer código ser escrito. Faz uma pergunta por vez e só começa a construir quando você diz para ir.
Fornecer uma direção de design diretamente
/msd-sketch "dashboard layout"
Pular a coleta de mood e executar imediatamente
/msd-sketch --quick "sidebar navigation"
--quick ignora completamente a conversa de coleta e usa o argumento como direção de design.
Runtimes não-Claude (Codex, Antigravity CLI, etc.)
/msd-sketch --text "onboarding flow"
--text substitui prompts interativos por listas numeradas em texto simples. Use isso quando seu runtime não suporta AskUserQuestion.
O que cada sketch produz
Cada sketch em .planning/sketches/NNN-descriptive-name/ inclui:
index.htmlcom 2 a 3 variantes acessíveis via navegação por abas — abra diretamente no navegador, sem etapa de build- Elementos interativos funcionais (hover, clique, transições)
- Conteúdo realista usando nomes de campos e formatos de dados de qualquer resultado de spike anterior
- Variáveis CSS compartilhadas de
.planning/sketches/themes/default.css - Um
README.mdcom a pergunta de design, variantes e o que observar
Todos os sketches são indexados em .planning/sketches/MANIFEST.md.
Empacotar as decisões de design vencedoras
Após escolher uma variante, capture as decisões visuais em uma skill local do projeto:
/msd-sketch --wrap-up
Isso grava em .claude/skills/sketch-findings-[project]/. A skill é carregada automaticamente por /msd-ui-phase — decisões pré-validadas (layout, paleta de cores, tipografia, espaçamento) são tratadas como bloqueadas e não serão solicitadas novamente.
Fluxo combinado: spike → sketch → fase
Esta é a sequência recomendada quando você está incerto tanto sobre a viabilidade técnica quanto sobre a direção visual:
/msd-spike "SSE vs WebSocket for real-time feed"
/msd-spike --wrap-up
/msd-sketch "real-time feed UI"
/msd-sketch --wrap-up
/msd-discuss-phase N
/msd-plan-phase N
Os resultados do spike informam o sketch (formatos de dados reais, estados de interação reais, restrições realistas). Ambos os wrap-ups persistem decisões que o planejador e o pesquisador de UI carregam automaticamente, portanto você não precisa re-explicar escolhas durante /msd-discuss-phase ou /msd-ui-phase.
Como um spike ou sketch alimenta uma fase
Artefatos de spike e sketch não precisam ser referenciados manualmente. MSD os lê automaticamente em dois pontos:
/msd-sketch— carrega.claude/skills/spike-findings-*/antes de construir maquetes, para que as variantes reflitam restrições comprovadas (estados de streaming, nomes de campos reais, etc.)/msd-ui-phase N— carrega.claude/skills/sketch-findings-*/antes de gerar o contrato de design de UI; decisões de design pré-validadas são tratadas como bloqueadas
O planejador também lê os resultados do spike quando uma skill spike-findings-* está presente, de modo que escolhas técnicas validadas (qual biblioteca, qual protocolo, qual formato de dados) fluem diretamente para os planos de tarefas sem explicação repetida.