constraint-driven-development
Faz seu agente definir regras de qualidade para projetos. Ele garante que o código atenda a requisitos de cobertura e performance, evitando que a qualidade caia.
O que ela faz
Esta ferramenta ajuda a definir regras claras e mensuráveis para a qualidade do código em um projeto. Ela garante que o código atenda a padrões mínimos de cobertura, desempenho e acessibilidade, evitando que a qualidade seja comprometida silenciosamente.
Quando usar
- ✓Ao iniciar um novo projeto ou funcionalidade importante.
- ✓Quando o código gerado por IA precisa seguir padrões específicos.
- ✓Para evitar discussões sobre qualidade em revisões de código.
Exemplo do que pedir para a IA
“Defina os padrões de qualidade para este projeto, incluindo cobertura de testes e acessibilidade.”
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
A ferramenta coleta informações sobre o projeto e faz perguntas sobre os padrões desejados. Em seguida, ela cria um arquivo chamado CONSTRAINTS.md com essas regras, que pode ser verificado automaticamente.
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 constraint-driven-developmentOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/constraint-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 Orientado a Restrições
Visão Geral
Outras habilidades neste pacote descrevem o que é bom. code-review-and-quality oferece cinco eixos. test-driven-development oferece um ciclo. security-and-hardening oferece uma lista de ameaças. Tudo isso vive em prosa que o agente lê e pode ou não seguir, e nada disso sobrevive ao fim da sessão.
Esta habilidade produz algo diferente: um registro escrito do padrão deste projeto, com números, que sobrevive à conversa e pode ser verificado mecanicamente.
A razão importa. Quando você escreveu o código, lê-lo dizia se ele era bom. Um agente escreve mais em uma tarde do que você lerá naquela semana, então o julgamento sai da sua cabeça e vai para verificações que rodam no ciclo. Essas verificações precisam existir, precisam de números que você realmente escolheu e precisam disparar perto o suficiente do trabalho para que o agente corrija sua própria saída.
Desenvolvimento orientado a especificações diz o que construir. Desenvolvimento orientado a testes prova que funciona. Desenvolvimento orientado a restrições define o que significa "bom o suficiente para lançar", antes que alguém discuta sobre isso em um pull request.
Quando Usar
Aplique esta habilidade quando:
- Iniciar um projeto ou um recurso significativo e nenhum padrão de qualidade estiver escrito
- O usuário pedir para "configurar restrições", "adicionar portões de qualidade", "definir nossos padrões" ou "impedir que o agente lance lixo"
- Um agente estiver produzindo um volume que ninguém está lendo linha por linha
- O CI tiver verificações, mas ninguém souber quais bloqueiam um merge e quais são decoração
- Números de cobertura, desempenho ou acessibilidade forem discutidos por PR em vez de decididos uma vez
- Você estiver prestes a executar
/build autoou qualquer loop autônomo, e a única coisa entre ele e o main for uma suite de testes que o agente também escreveu
Quando NÃO usar:
- O projeto já tiver um
CONSTRAINTS.mde o usuário não o estiver alterando — leia-o e siga-o em vez disso - Scripts pontuais, spikes, protótipos descartáveis
- O usuário quiser uma revisão de código agora (
code-review-and-quality) ou um pipeline de CI construído (ci-cd-and-automation) - Código pré-produto-mercado-fit com vida útil esperada de duas semanas — o piso abaixo ainda vale a pena, o resto não
Carregando Restrições
A entrevista precisa de um usuário ativo. Não a execute em contextos não interativos (CI, /loop, execuções autônomas). Se as restrições estiverem faltando e você estiver em um desses, aplique o Piso abaixo, anote que o fez e sinalize o restante para um humano.
O Processo
Passo 1: Detecte antes de perguntar
Nunca pergunte o que você pode ler. Antes da primeira pergunta, colete:
| O quê | Onde procurar |
|---|---|
| Linguagem e stack | package.json, pyproject.toml, go.mod, Cargo.toml |
| Test runner | dependências de desenvolvimento, script test, arquivos de teste existentes |
| Linters existentes | eslint.config.*, biome.json, .ruff.toml |
| Cobertura atual | saída do coverage/, ou execute a suite uma vez |
| CI | .github/workflows/, .gitlab-ci.yml |
| Harness do agente | .claude/, .codex/, AGENTS.md |
Relate o que você encontrou em duas linhas, depois pergunte apenas o que falta.
Passo 2: Quatro perguntas, cada uma com um padrão
Siga a disciplina de uma pergunta por vez de interview-me, com uma mudança: cada pergunta aqui tem um padrão, então "Não sei" é uma resposta completa que ainda produz uma configuração funcional.
Q1: Beyond the floor, which of these do you want enforced?
(a) Test coverage on new code
(b) Security scanning
(c) Performance budgets
(d) Accessibility
(e) Architecture boundaries
GUESS: (a) and (b) — you have a test runner already and you're handling user input.
DEFAULT if unsure: (a) and (b).
Say what each pick costs: (c) and (d) need a running URL, (e) needs a rules file written.
Q2: When a check fails while the agent is mid-task, should it block or warn?
GUESS: Block. You're running agents unattended and a warning nobody reads is a warning.
DEFAULT if unsure: Block on the floor, warn on everything else for the first two weeks.
Q3: Do you have target numbers in mind, or should I measure where you are today and hold that line?
GUESS: Measure. Most teams don't have a number, and an invented one gets ignored.
DEFAULT if unsure: Measure and hold. See "Ratchets" below.
Q4: What's the slowest check you'll tolerate before the agent hands work back?
GUESS: About 90 seconds. Longer and you'll stop running it.
DEFAULT if unsure: 90 seconds at task end, unlimited in CI.
…
Perguntas frequentes
O que é o 'piso' (floor)?
É um conjunto básico de regras que sempre se aplicam, como não usar comentários de supressão ou deixar código não implementado.
Como as regras são definidas?
A ferramenta faz perguntas sobre cobertura de testes, segurança, desempenho e acessibilidade, com sugestões padrão para facilitar a decisão.
Onde as regras ficam salvas?
As regras são salvas em um arquivo chamado CONSTRAINTS.md na raiz do projeto, para que todos possam consultá-lo e verificá-lo.
Detalhes
Descrição original do autor
Write the project quality bar as enforced CONSTRAINTS.md so agents stop quietly lowering it: coverage, performance, accessibility thresholds watched on every diff.'
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2626
- 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
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC