Files
msd-core/docs/pt-BR/how-to/spike-and-sketch.md
Jakub Zych a9a7a328e6 refactor: hard-fork GSD -> MSD (Make Software Done)
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.
2026-10-06 01:47:40 +02:00

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.md com 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.html com 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.md com 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:

  1. /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.)
  2. /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.


Relacionados