Pular para o conteúdo
Skillpedia
Tarefas e projetos107 mil · #350

doubt-driven-development

Questiona todas as decisões importantes antes de serem tomadas. É útil quando a precisão é crucial, para garantir que não haja falhas escondidas e que o plano seja robusto.

O que ela faz

Verifica decisões importantes antes de implementá-las. Ele pede para um 'revisor' com a missão de encontrar falhas, e não de aprovar, analisar o que você escreveu ou planejou. Isso ajuda a garantir que tudo esteja correto e seguro, especialmente em situações críticas.

Quando usar

  • ✓Ao tomar uma decisão importante sobre a arquitetura de um projeto.
  • ✓Ao escrever um código complexo ou que modifica partes críticas.
  • ✓Ao afirmar algo que não é óbvio, como 'isso é seguro' ou 'isso vai funcionar bem'.

Exemplo do que pedir para a IA

“Analise esta decisão: 'A nova forma de autenticação é segura contra ataques comuns.' Verifique se há falhas ou suposições erradas.”

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

https://github.com/addyosmani/agent-skills/blob/main/skills/doubt-driven-development/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/addyosmani/agent-skills/blob/main/skills/doubt-driven-development/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A IA separa a parte importante (o 'artefato') e as regras que ela deve seguir (o 'contrato'). Em seguida, ela pede a outra IA, configurada para ser crítica, para encontrar problemas nesse 'artefato' com base no 'contrato'. Finalmente, ela compara os problemas encontrados com o que foi escrito.

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 addyosmani/agent-skills --skill doubt-driven-development

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/doubt-driven-development/SKILL.md -o SKILL.md
Conteú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 Dúvidas

Visão Geral

Uma resposta confiante não é uma resposta correta. Longas sessões acumulam contexto que silenciosamente transforma suposições em "fatos" sem que ninguém perceba. Desenvolvimento guiado por dúvidas é a disciplina de materializar um revisor de contexto fresco — com viés para desprovar, não aprovar — antes que qualquer resultado não trivial se estabeleça.

Isso não é /review. /review é um veredito sobre um artefato finalizado. Esta é uma postura em andamento: decisões não triviais são examinadas enquanto a correção de curso ainda é barata.

Quando Usar

Uma decisão é não trivial quando pelo menos uma das seguintes condições é verdadeira:

  • Introduz ou modifica lógica de ramificação
  • Cruza um limite de módulo ou serviço
  • Afirma uma propriedade que o sistema de tipos ou o compilador não podem verificar (segurança de thread, idempotência, ordenação, invariantes)
  • Sua correção depende de contexto que o leitor futuro não pode ver
  • Seu raio de explosão é irreversível (implantação em produção, migração de dados, alteração de API pública)

Aplique a habilidade quando:

  • Prestes a tomar uma decisão arquitetural sob incerteza
  • Prestes a confirmar código não trivial
  • Prestes a afirmar um fato não óbvio ("isso é seguro", "isso escala", "isso corresponde à especificação")
  • Trabalhando em código que você não entende completamente

Quando NÃO usar:

  • Operações mecânicas (renomear, formatar, mover arquivos)
  • Seguir uma instrução clara e inequívoca do usuário
  • Ler ou resumir código existente
  • Alterações de uma linha com correção óbvia
  • Operações puramente de ferramentas (executar testes, listar arquivos)
  • O usuário solicitou explicitamente velocidade em vez de verificação

Se você duvida de cada tecla digitada, você não envia nada. A habilidade se aplica apenas a decisões não triviais, conforme definido acima.

Carregando Restrições

Esta habilidade é projetada para o orquestrador da sessão principal, onde a Etapa 3 (DÚVIDA, detalhada abaixo) pode gerar um revisor de contexto fresco.

  • NÃO adicione esta habilidade ao frontmatter de uma persona skills:. Uma persona que segue a Etapa 3 geraria outra persona — o anti-padrão de orquestração explicitamente proibido por ../../references/orchestration-patterns.md ("personas não invocam outras personas").
  • Se você se encontrar aplicando esta habilidade de dentro de um contexto de subagente (onde Claude Code impede a geração aninhada de subagentes): o caminho preferencial é informar ao usuário que o desenvolvimento guiado por dúvidas não pode ser executado aninhado e deixar a sessão principal lidar com isso. Como último recurso, existe uma alternativa degradada de autoquestionamento — reescreva ARTEFATO + CONTRATO como um novo prompt para si mesmo com um separador mental rígido do seu raciocínio anterior, e percorra as Etapas 1-5. Isso não é uma revisão de contexto fresco (você carrega seu próprio contexto consigo), portanto, marque o resultado como degradado e prefira a escalada sempre que o usuário for alcançável.

O Processo

Copie esta lista de verificação ao aplicar a habilidade:

Doubt cycle:
- [ ] Step 1: CLAIM — wrote the claim + why-it-matters
- [ ] Step 2: EXTRACT — isolated artifact + contract, stripped reasoning
- [ ] Step 3: DOUBT — invoked fresh-context reviewer with adversarial prompt
- [ ] Step 4: RECONCILE — classified every finding against the artifact text
- [ ] Step 5: STOP — met stop condition (trivial findings, 3 cycles, or user override)

Etapa 1: AFIRMAÇÃO — Apresente o que se estabelece

Nomeie a decisão em duas ou três linhas:

CLAIM: "The new caching layer is thread-safe under the
        read-heavy workload described in the spec."
WHY THIS MATTERS: a race here corrupts user data and is
                  hard to detect in QA.

Se você não consegue escrever a afirmação de forma tão compacta, você tem uma impressão, não uma decisão. Apresente-a antes de examiná-la.

Etapa 2: EXTRAIR — Menor unidade revisável

Um revisor de contexto fresco precisa do artefato e do contrato, não da jornada.

  • Código: o diff ou a função — não o arquivo inteiro
  • Decisão: a proposta em 3-5 frases mais as restrições que ela deve satisfazer
  • Afirmação: a afirmação mais a evidência que supostamente a suporta (mantida distinta do bloco AFIRMAÇÃO da Etapa 1, que é a hipótese do orquestrador sob escrutínio)

Remova seu raciocínio. Se você entregar conclusões, receberá de volta a validação de suas conclusões. A unidade deve ser pequena o suficiente para que um revisor possa mantê-la em mente em uma única leitura — se for um PR de 500 linhas, decomponha primeiro.

Etapa 3: DÚVIDA — Invoque o revisor de contexto fresco

O prompt do revisor deve ser adversarial. O enquadramento decide a resposta.

Revisão adversarial. Encontre o que está errado com este artefato.
Assuma que o autor está excessivamente confiante. Procure por:
- Suposições não declaradas

…
Perguntas frequentes

Quando NÃO devo usar isso?

Não use para tarefas simples como renomear arquivos, formatar código, mover arquivos, ler ou resumir código existente, ou quando a velocidade é mais importante que a verificação.

O que é uma decisão 'não trivial'?

É uma decisão que envolve lógica complexa, mexe com diferentes partes do sistema, faz afirmações que o computador não pode verificar sozinho (como segurança), depende de informações que podem ser perdidas com o tempo, ou tem consequências irreversíveis.

Por que usar um 'revisor' que só encontra defeitos?

Porque é mais fácil aprovar algo que já foi feito do que encontrar falhas. Um revisor focado em achar problemas ajuda a garantir que todas as suposições sejam questionadas e que possíveis erros sejam descobertos antes que causem problemas maiores.

Detalhes

Descrição original do autor

Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every assumption cross-examined before proceeding, when stress-testing a plan for hidden failure modes, when correctness matters more than speed, when working in unfamiliar code, when stakes are high (production auth, security-sensitive logic, a high-stakes migration, irreversible operatio

repo: addyosmani/agent-skills

Popularidade

Estrelas no GitHub
107 mil
Posição no ranking
#350
Licença
MIT
Atualizada em
13/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas