spec-driven-development
Ajuda seu agente a criar especificações antes de escrever código. Útil quando um projeto é novo ou as ideias ainda não estão claras.
O que ela faz
Esta ferramenta ajuda a criar um plano detalhado (especificação) antes de começar a escrever código. Ela garante que todos entendam o que será construído, por quê e como saber se está pronto.
Quando usar
- ✓Ao iniciar um novo projeto ou funcionalidade.
- ✓Quando os requisitos não estão claros ou estão incompletos.
- ✓Antes de tomar decisões importantes sobre a arquitetura do software.
Exemplo do que pedir para a IA
“Crie uma especificação para um aplicativo de lista de tarefas simples.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Primeiro, ela ajuda a definir claramente o objetivo e faz perguntas para esclarecer os detalhes. Depois, organiza essas informações em um documento estruturado com objetivos, comandos, estrutura do projeto, estilo de código, estratégia de testes e limites.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill spec-driven-developmentOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/spec-driven-development/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Desenvolvimento Guiado por Especificação
Visão Geral
Escreva uma especificação estruturada antes de escrever qualquer código. A especificação é a fonte de verdade compartilhada entre você e o engenheiro humano — ela define o que estamos construindo, por quê, e como saberemos que está pronto. Código sem especificação é adivinhação.
Quando Usar
- Iniciando um novo projeto ou funcionalidade
- Requisitos são ambíguos ou incompletos
- A mudança afeta múltiplos arquivos ou módulos
- Você está prestes a tomar uma decisão arquitetural
- A tarefa levaria mais de 30 minutos para ser implementada
Quando NÃO usar: Correções de uma linha, correções de digitação, ou mudanças onde os requisitos são inequívocos e autossuficientes.
O Fluxo de Trabalho Controlado
O desenvolvimento guiado por especificação tem quatro fases. Não avance para a próxima fase até que a atual seja validada.
SPECIFY ──→ PLAN ──→ TASKS ──→ IMPLEMENT
│ │ │ │
▼ ▼ ▼ ▼
Human Human Human Human
reviews reviews reviews reviews
Fase 1: Especificar
Comece com uma visão de alto nível. Faça perguntas esclarecedoras ao humano até que os requisitos sejam concretos.
Exponha as suposições imediatamente. Antes de escrever qualquer conteúdo da especificação, liste o que você está assumindo:
ASSUMPTIONS I'M MAKING:
1. This is a web application (not native mobile)
2. Authentication uses session-based cookies (not JWT)
3. The database is PostgreSQL (based on existing Prisma schema)
4. We're targeting modern browsers only (no IE11)
→ Correct me now or I'll proceed with these.
Não preencha silenciosamente requisitos ambíguos. O propósito inteiro da especificação é expor mal-entendidos antes que o código seja escrito — suposições são a forma mais perigosa de mal-entendido.
Escreva um documento de especificação cobrindo estas seis áreas principais:
Objetivo — O que estamos construindo e por quê? Quem é o usuário? Como é o sucesso?
Comandos — Comandos executáveis completos com flags, não apenas nomes de ferramentas.
Build: npm run build Test: npm test -- --coverage Lint: npm run lint --fix Dev: npm run devEstrutura do Projeto — Onde o código fonte reside, onde os testes vão, onde a documentação pertence.
src/ → Application source code src/components → React components src/lib → Shared utilities tests/ → Unit and integration tests e2e/ → End-to-end tests docs/ → DocumentationEstilo de Código — Um trecho de código real mostrando seu estilo vale mais que três parágrafos descrevendo-o. Inclua convenções de nomenclatura, regras de formatação e exemplos de saída boa.
Estratégia de Testes — Qual framework, onde os testes residem, expectativas de cobertura, quais níveis de teste para quais preocupações.
Limites — Sistema de três níveis:
- Sempre fazer: Executar testes antes de commits, seguir convenções de nomenclatura, validar entradas
- Perguntar primeiro: Mudanças no esquema do banco de dados, adicionar dependências, mudar configuração de CI
- Nunca fazer: Commitar segredos, editar diretórios de fornecedores, remover testes falhos sem aprovação
Modelo de especificação:
# Spec: [Project/Feature Name]
## Objective
[What we're building and why. User stories or acceptance criteria.]
## Tech Stack
[Framework, language, key dependencies with versions]
## Commands
[Build, test, lint, dev — full commands]
## Project Structure
[Directory layout with descriptions]
## Code Style
[Example snippet + key conventions]
## Testing Strategy
[Framework, test locations, coverage requirements, test levels]
## Boundaries
- Always: [...]
- Ask first: [...]
- Never: [...]
## Success Criteria
[How we'll know this is done — specific, testable conditions]
## Open Questions
[Anything unresolved that needs human input]
Reformule instruções como critérios de sucesso. Ao receber requisitos vagos, traduza-os em condições concretas:
REQUIREMENT: "Make the dashboard faster"
REFRAMED SUCCESS CRITERIA:
- Dashboard LCP < 2.5s on 4G connection
- Initial data load completes in < 500ms
- No layout shift during load (CLS < 0.1)
→ Are these the right targets?
Isso permite que você itere, tente novamente e resolva problemas em direção a um objetivo claro, em vez de adivinhar o que "mais rápido" significa.
Fase 2: Planejar
Com a especificação validada, gere um plano de implementação técnica:
- Identifique os principais componentes e suas dependências
- Determine a ordem de implementação (o que deve ser construído primeiro)
- Anote riscos e estratégias de mitigação
- Identifique o que pode ser construído em paralelo vs. o que deve ser sequencial
…
Perguntas frequentes
Por que é importante escrever uma especificação antes de codificar?
Escrever uma especificação antes de codificar ajuda a evitar mal-entendidos, garante que todos estejam na mesma página e reduz a chance de retrabalho, pois os requisitos são definidos claramente desde o início.
Quais são as partes de uma especificação?
Uma especificação geralmente inclui o objetivo, os comandos necessários, a estrutura do projeto, o estilo de código, a estratégia de testes e os limites (o que fazer, o que pedir permissão e o que nunca fazer).
Quando NÃO devo usar esta ferramenta?
Não use esta ferramenta para correções muito simples, como corrigir um erro de digitação, ou quando os requisitos já são muito claros e não há ambiguidade.
Detalhes
Descrição original do autor
Creates specs before coding. Use when starting a new project, feature, or significant change and no specification exists yet. Use when requirements are unclear, ambiguous, or only exist as a vague idea.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4223
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
architecture-decision-records
Faz seu agente registrar decisões importantes sobre a estrutura do projeto. Ajuda a entender o porquê das escolhas feitas e a manter um histórico claro das mudanças.
affaan-m/ECC
code-tour
Faz seu agente criar guias passo a passo no código, com locais exatos em arquivos e linhas. É útil para apresentar um projeto, explicar código ou revisar mudanças. Ajuda a entender como um sistema funciona.
affaan-m/ECC
codebase-onboarding
Ajuda seu agente a analisar um código desconhecido e criar um guia de integração. Ele inclui um mapa da arquitetura, pontos de entrada e convenções. Ideal para quem está começando em um novo projeto.
affaan-m/ECC