Skip to content

Variantes do Tech Spec (SDD)

SDD

A skill agent-spec-sdd-generate-tech-spec suporta 3 variantes de template, cada uma otimizada para a frente de desenvolvimento correspondente. A variante é escolhida automaticamente (ou confirmada com o usuário) na FASE 0 da skill.


Como a variante é detectada

Pré-detecção automática — antes de qualquer pergunta técnica, a skill lê o tech-alignment.md (se existir) buscando sinais inequívocos:

Sinal buscadoExemplos
Campos explícitosFrente:, Variante:, Stack:
Termos de frenteFlutter, React Native, iOS, Android, SwiftUI, Jetpack Compose
Termos frontendReact, Vue, Angular, Svelte, Next.js, Nuxt
Termos backendGo, Node.js, Python, Java, .NET, Rust, gRPC, REST API

Fluxo de decisão:

  1. Alta confiança → confirma: "Detectei pelo tech-alignment que esta TECH SPEC é Web. Confirma?"
  2. Sem confiança → pergunta direta: "Qual é a frente desta TECH SPEC? Web | Mobile | Backend"

Persistência: A variante é gravada em:

  • sdd_state.yaml (raiz + steps.tech_spec.variant)
  • Seção 1 (Identificação) do tech_spec.md
  • Parâmetro frente enviado ao agent-spec-qa-test-generator na FASE 4

Comparativo das 3 variantes

AspectoWebMobileBackend
Templatetech_spec_template_web.mdtech_spec_template_mobile.mdtech_spec_template_backend.md
Seções212223
Gestão de estadoRedux / Zustand / Context / SignalsBLoC / Riverpod / Provider / GetXN/A
SincronizaçãoCache HTTP / WebSocketsOffline-first (SQLite/Drift/Realm)Eventos/Filas (Kafka/SQS/RabbitMQ)
SegurançaXSS/CSRF, tokens no storageKeychain/Keystore, jailbreak/root detectionJWT/OAuth2, RBAC/ABAC, rate limiting
PerformanceCore Web Vitals, bundle sizeCold start, frame budget (60fps), batteryLatência p95/p99, índices, circuit breaker
AcessibilidadeWCAG 2.1 AA/AAAVoiceOver (iOS) / TalkBack (Android)N/A
ObservabilidadeN/AN/ALogs estruturados, métricas, tracing, alertas
ContratosREST/GraphQL, DTOsREST/Dio/RetrofitREST/gRPC, OpenAPI/proto, eventos pub/sub

Variante Web — 21 seções

Focada em componentes, páginas, estado do cliente, i18n e Core Web Vitals.

#SeçãoO que documenta
1IdentificaçãoFeature, variante web, autor, status
2Resumo TécnicoDecisões de alto nível consolidadas do tech-alignment
3ArquiteturaVisão geral, componentes/páginas, camadas e interações
4Fluxos de InterfaceMapa de rotas (ex.: /produtos/:id), jornadas e navegação. Com design.md, o layout vem dele — a spec mantém rotas/redirects/query params
5Comportamento Visual e Estados da UILoading, error, empty state, disabled, skeleton screens. Com design.md, vira referência (resumo + ponteiro) — o design é a fonte de verdade
6Gestão de EstadoSolução (Redux/Zustand/Context/Signals), stores/slices, persistência local
7Integração com APIsEndpoints consumidos, DTOs, cliente HTTP, mapping request/response
8Sincronização de DadosCache HTTP (stale-while-revalidate, SWR/TanStack Query), tempo real (WebSocket/SSE)
9Gerenciamento de ErrosEstratégia por tipo (rede, validação, servidor), feedback ao usuário
10SegurançaStorage de tokens (httpOnly cookie vs. localStorage), XSS/CSRF/headers, validação de input
11PerformanceCore Web Vitals (LCP/CLS/INP), estratégias (lazy load, code split), bundle size
12Internacionalização / i18nIdiomas alvo, solução (i18next/lingui/formatjs), formatos de data/moeda
13Acessibilidade / a11yPadrão WCAG 2.1 AA ou AAA, componentes críticos, ferramentas de auditoria
14Feature FlagsSolução (LaunchDarkly/GrowthBook/custom), avaliação build-time/runtime
15Mapeamento de User StoriesUS → definições técnicas (tabela de rastreabilidade)
16Dependências ExternasPacotes, versões, propósito
17Estratégia de TestesDelegada ao agent-spec-qa-test-generator com frente: web
18Critérios de Aceite TécnicosNão-funcionais mensuráveis (ex.: LCP < 2.5s)
19Riscos TécnicosProbabilidade × impacto × mitigação
20Arquivos EnvolvidosÁrvore ASCII + tabela [N]Novo [M]Modificado [R]Referência
21Checklist FinalVerificações antes de avançar para task-plan

Variante Mobile — 22 seções

Focada em telas, estado persistido localmente, hardware e offline-first.

#SeçãoDiferenças vs. Web
1IdentificaçãoAdiciona: plataforma (iOS / Android / iOS+Android) e stack (Flutter / React Native / Nativo)
2Resumo TécnicoIgual
3ArquiteturaAdiciona bridges nativas e camadas específicas de mobile (UI, BLoC/ViewModel, Repository, DataSources)
4Fluxos de InterfaceInclui deep links e push notifications. Com design.md, o layout vem dele
5Comportamento VisualAdiciona estado Offline obrigatório. Com design.md, vira referência — o design é a fonte de verdade
6Gestão de EstadoBLoC / Riverpod / Provider / GetX / Redux / MobX em vez de Redux/Zustand
7Integração com APIsDio / Retrofit / URLSession / OkHttp + interceptadores
8Sincronização Offline-FirstBanco local (SQLite/Drift/Realm/Isar/Hive), estratégia de sync (pull/push/bidirecional), resolução de conflitos, versionamento de schema
9Integração com HardwareCâmera, Bluetooth, GPS, biometria, NFC, impressora — permissão, plugin/SDK, fallback
10Gerenciamento de ErrosIgual + erros offline
11SegurançaKeychain/Keystore, detecção jailbreak/root, certificate pinning
12PerformanceCold start < Xs, frame budget 60fps, limite de memória, battery impact
13InternacionalizaçãoIgual + RTL
14AcessibilidadeVoiceOver (iOS) / TalkBack (Android)
15Feature FlagsFirebase Remote Config incluído como opção
16Mapeamento de User StoriesIgual
17Dependências ExternasColuna extra: Plataforma (iOS / Android / Cross)
18Estratégia de TestesDelegada ao agent-spec-qa-test-generator com frente: mobile
19Critérios de Aceite TécnicosIgual
20Riscos TécnicosIgual
21Arquivos EnvolvidosInclui Info.plist, AndroidManifest.xml na árvore
22Checklist FinalIgual

Variante Backend — 23 seções

Focada em endpoints, persistência, eventos/filas, segurança e observabilidade.

#SeçãoO que documenta
1IdentificaçãoFeature, variante backend, stack (Go/Node/Python/Java/.NET/Rust), estilo arquitetural
2Resumo TécnicoDecisões consolidadas
3ArquiteturaHandlers, services, repositories, jobs, mensageria
4Contratos de APIEndpoints expostos (método, path, auth, status), schemas/DTOs (OpenAPI/proto), eventos pub/sub
5Fluxos de NegócioFluxo principal, alternativos, tratamento de erros, mapeamento US → fluxo
6Regras de ProcessamentoValidações, transformações, regras de domínio, casos de borda
7Persistência de DadosTabelas (colunas/tipos/constraints/índices), migrações, transações, consistência, retenção de dados
8Integração com APIs ExternasEndpoints, timeouts, retry com backoff exponencial, circuit breaker
9Sincronização de DadosEventos/filas, idempotência (chave + TTL), outbox/saga pattern
10Gerenciamento de ErrosMapeamento erro → HTTP status, erros internos vs. expostos
11SegurançaAutenticação (JWT/OAuth2/mTLS), autorização (RBAC/ABAC), criptografia, input sanitization
12Rate Limiting e QuotasAlgoritmo (token bucket/sliding window), granularidade, resposta HTTP 429
13ObservabilidadeLogs estruturados (campos + nível), métricas (counters/histograms/gauges), tracing (spans), alertas, health checks
14PerformanceLatência p95/p99, índices de banco, cache (Redis/Memcached), bulk operations
15Versionamento de APIEstratégia (URL path/header/content-type), política de breaking changes
16Mapeamento de User StoriesIgual
17Feature FlagsIgual
18InternacionalizaçãoApenas se o backend lida com locale (formatação, mensagens de erro localizadas)
19AcessibilidadeN/A (omitida ou marcada como não aplicável)
20Riscos TécnicosIgual
21Dependências ExternasIgual
22Estratégia de TestesDelegada ao agent-spec-qa-test-generator com frente: backend
23Checklist FinalIgual

Perguntas técnicas por variante (FASE 3.2)

A skill faz uma pergunta por vez. Decisões já definidas no tech-alignment.md são puladas automaticamente.

Variante Web

  1. Stack frontend (React/Vue/Svelte/Angular) + modo de render (SSR/CSR/SSG)
  2. Gestão de estado (Redux Toolkit/Zustand/Context API/Signals/Jotai)
  3. APIs consumidas + cliente HTTP (fetch/Axios/TanStack Query/SWR)
  4. i18n — idiomas alvo + solução (i18next/lingui/react-intl/formatjs)
  5. a11y — padrão WCAG 2.1 AA ou AAA + ferramentas de auditoria
  6. Feature flags — solução (LaunchDarkly/Unleash/GrowthBook/custom) + avaliação build-time vs. runtime

Variante Mobile

  1. Plataforma (iOS/Android/iOS+Android) + Stack (Flutter/React Native/Nativo) + arquitetura
  2. Gestão de estado (BLoC/Riverpod/Provider/GetX/Redux/MobX)
  3. Integração com hardware — quais (câmera/Bluetooth/GPS/biometria/NFC) + plugins/SDKs
  4. Sincronização offline-first — banco local (SQLite/Drift/Realm/Isar/Hive) + estratégia + resolução de conflitos
  5. APIs consumidas + cliente HTTP (Dio/Retrofit/URLSession/OkHttp) + interceptadores
  6. i18n / a11y / feature flags (pergunta consolidada)

Variante Backend

  1. Linguagem/Framework + estilo arquitetural (Clean/Hexagonal/Layered/DDD)
  2. Banco de dados — tipo (relacional/documental/chave-valor) + tecnologia + ORM/query builder
  3. Autenticação/Autorização — mecanismo (JWT/OAuth2/mTLS) + modelo de permissões (RBAC/ABAC)
  4. Contratos de API — estilo (REST/gRPC/GraphQL) + proto/openapi existente
  5. Eventos/Mensageria — tecnologia (Kafka/RabbitMQ/SQS) + padrão (pub-sub/outbox/saga)
  6. Observabilidade — stack de logs, métricas, tracing, alertas

AgentSpec Framework · Spec-driven com IA sobre Claude Code