Skip to content

agent-spec-generate-design

Shared Discovery

Resumo: Design Engineer. A partir de um PRD (SDD) ou Intent (miniSpec), gera o design.md da feature — o COMO VISUAL (telas, layout, estados visuais concretos, responsividade, motion, tema, a11y visual, assets) — e mantém o design-system.md global (tokens, biblioteca de componentes). Etapa opcional do pipeline, exclusiva das frentes web/mobile (backend é recusado com orientação). Ancora no design system real do projeto antes de propor; aceita Figma/mockups como referência sem depender deles. Quando o design.md existe, as seções de Fluxos de Interface e Comportamento Visual da TECH_SPEC/SCOPE referenciam o design em vez de redefini-lo.


Quando usar

  • Após prd.md (SDD) ou intent.md (miniSpec) aprovado, antes do TECH_SPEC/SCOPE, quando a feature tem interface relevante (telas novas, fluxo visual novo, estados não triviais).
  • Quando há mockups/Figma a serem registrados de forma estruturada e verificável no fluxo de desenvolvimento.
  • Quando a feature introduz componentes ou tokens novos que merecem avaliação contra o design system existente.

Quando NÃO usar


Inputs

InputOrigemObrigatório?
Caminho do prd.md (SDD) ou intent.md (miniSpec)Usuário (arg 1)Sim
Links de Figma/protótipo, screenshots ou descrição livre do designUsuário (arg 2)Não — se vier, é referência primária a destrinchar; se não, a skill propõe a partir do design system existente
design-system.md global + design system real do codebase (tema, tokens, componentes)AncoragemSim
PRD/Intent + discovery (pre-refinement.md, tech-alignment.md) + ADRs ativas (tag ui)AncoragemSim

A skill detecta o framework pelo nome do arquivo (prd.md → SDD; intent.md → miniSpec) e sempre pergunta a frente (web/mobile/backend) via AskUserQuestion — backend encerra sem criar arquivo.

Outputs

ArtefatoPath resolvidoConsumido por
design.md (feature)design.feature.path/docs/specs/features/{feature}/{version}/design.mdagent-spec-sdd-generate-tech-spec (§4–5 viram referência), agent-spec-minispec-generate-scope, geradores de tasks (arquivo de referência das tasks de UI), agent-spec-qa-validator (Camada 4)
design-system.md (global, lazy)design_system.global.path/docs/specs/design-system.mdTodas as features web/mobile — fonte canônica de tokens e componentes

A trava dupla (o território da skill)

⚠️ Armadilha comum

A pergunta de calibragem: "isso descreve algo que o usuário vê ou sente na interface?"

  • Limite superior — produto não entra. O QUE a feature faz e POR QUÊ vêm do PRD/Intent. A skill não decide regra de negócio nem comportamento funcional — apenas a forma visual do que já foi decidido. Dependência de produto → "Pontos em aberto".
  • Limite inferior — mecânica técnica não entra. Gestão de estado, endpoints, cache, nomes de arquivos de código e estratégia de testes são do TECH_SPEC/SCOPE. A fronteira prática: o design.md diz o que o usuário vê ("toast de erro com ação Tentar novamente"); a tech spec diz como a máquina faz (retry, interceptor, error boundary).

🚫 Regra

Estados visuais devem ser concretos e verificáveis — "skeleton de card com 3 linhas", "empty state com ilustração + CTA Criar pedido", nunca "mostrar loading/erro" genérico. Estado genérico não é verificável pelo QA (Camada 4 valida a implementação contra o design.md).


Dois níveis: design.md × design-system.md

Espelha o padrão do glossário de domínio (dois níveis, criação lazy):

Vai pro GLOBAL (design-system.md)Fica no FEATURE (design.md)
Tokens (cores, tipografia, espaçamento)Layout e composição das telas da feature
Componentes reutilizáveis entre featuresEstados visuais das telas da feature
Breakpoints, grid, tema/dark mode do produtoInterações, motion e assets específicos

Default em caso de dúvida: FEATURE. Promover ao global é decisão explícita (afeta todas as features) e exige confirmação do usuário — o inverso do glossário. O update do global é sempre cirúrgico (apenas entradas novas).


Posição no pipeline

Quando o design.md existe, a corrente continua: o gerador de tasks lista o design.md nos Arquivos de Referência das tasks que tocam camada UI (minimum-context — tasks de service/store puro não o recebem), o executor o lê como contrato visual, e o QA Validator (Gate 1) valida na Camada 4 (Completude) que os estados implementados correspondem ao especificado — presença e comportamento, não fidelidade pixel-perfect.


Fluxo de execução

  1. Detecta o framework pelo nome do arquivo (prd.md/intent.md) e pergunta a frente — backend encerra com orientação, sem criar arquivo.
  2. Resolve os paths (design.feature.path / design_system.global.path).
  3. Ancoragem — lê PRD/Intent (QUE/PORQUÊ fechados), discovery, design-system.md global, design system real do codebase (tema, tokens, biblioteca de componentes, padrões de loading/erro existentes) e ADRs tag ui; destrincha referências do usuário (Figma/mockups — MCP opcional, nunca bloqueante).
  4. Propõe o design tela a tela (uma decisão por vez, liderando com recomendação): inventário de telas, layout, estados visuais concretos, responsividade/plataforma, tema, motion, a11y visual, assets.
  5. Separa GLOBAL vs FEATURE — candidatos ao design-system.md confirmados com o usuário; decisões transversais com trade-off viram candidatas a ADR (tag ui).
  6. Preenche o template (web ou mobile), salva design.md (e atualiza o global cirurgicamente, se houver) e atualiza o estado do pipeline (steps.design).

Gates invocados

Nenhum.

Templates / assets usados


Exemplo de uso

bash
# Com Figma como referência:
/agent-spec-generate-design docs/specs/features/checkout/v1/prd.md \
  "https://figma.com/file/abc123/checkout — design pronto nesse arquivo"

# Sem referência (a skill propõe a partir do design system existente):
/agent-spec-generate-design docs/specs/features/checkout/v1/prd.md
[Detecção: SDD (prd.md)]  [Frente: web (confirmada)]
[Ancoragem: tailwind.config + components/ui (shadcn) + padrão skeleton existente]
[Telas: Carrinho, Pagamento, Confirmação — layout proposto por tela]
[Estados: 3 telas × 4 estados concretos | Componentes: 7 reusados, 1 novo (Stepper)]
[Global: Stepper candidato ao design-system.md — confirmado com usuário]
✅ design.md salvo | design-system.md atualizado (1 entrada)
Candidatas a ADR (ui): nenhuma

Skills relacionadas

Configuração via framework-paths.md

Paths usados: design.feature.path e design_system.global.path (compartilhados SDD + miniSpec, definidos em agent-spec-workflow-rules.md → "Design — Dois Níveis"). Veja Path Templates.

AgentSpec Framework · Spec-driven com IA sobre Claude Code