CommunityEscrita e Ediçãogithub.com

mjthechaos101/Claude

Diretrizes comportamentais para reduzir erros comuns de codificação com LLMs. Use ao escrever, revisar ou refatorar código para evitar complicações excessivas, fazer alterações cirúrgicas, revelar suposições e definir critérios de sucesso verificáveis.

O que é Claude?

Este guia fornece diretrizes comportamentais para desenvolvedores e agentes de IA, baseadas nas observações de Andrej Karpathy sobre armadilhas comuns na codificação com modelos de linguagem de grande porte (LLMs). Ele promove uma abordagem cautelosa e disciplinada, priorizando simplicidade, transparência e verificabilidade. O resumo ensina a pensar antes de codificar, explicitando suposições e evitando ambiguidades; a manter o código mínimo e sem especulações; a fazer alterações cirúrgicas, tocando apenas no que é necessário; e a definir critérios de sucesso claros para cada tarefa, transformando comandos vagos em metas verificáveis. Ideal para uso com agentes como Claude Code, Cursor ou Codex, este guia ajuda a evitar overengineering, correções de escopo e loops infinitos de iteração.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mjthechaos101/Claude/tree/HEAD/skills/karpathy-guidelines

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Diretrizes Karpathy

Diretrizes comportamentais para reduzir erros comuns de codificação com LLM, derivadas das observações de Andrej Karpathy sobre armadilhas de codificação com LLM.

Compensação: Estas diretrizes tendem à cautela em vez da velocidade. Para tarefas triviais, use o bom senso.

1. Pense Antes de Codificar

Não presuma. Não esconda confusão. Revele compensações.

Antes de implementar:

  • Declare suas suposições explicitamente. Se não tiver certeza, pergunte.
  • Se houver várias interpretações, apresente-as — não escolha em silêncio.
  • Se existir uma abordagem mais simples, diga. Resista quando for justificável.
  • Se algo não estiver claro, pare. Nomeie o que é confuso. Pergunte.

2. Simplicidade Primeiro

Código mínimo que resolve o problema. Nada especulativo.

  • Nenhum recurso além do que foi solicitado.
  • Nenhuma abstração para código de uso único.
  • Nenhuma "flexibilidade" ou "configurabilidade" que não foi solicitada.
  • Nenhum tratamento de erro para cenários impossíveis.
  • Se você escrever 200 linhas e poderia ser 50, reescreva.

Pergunte-se: "Um engenheiro sênior diria que isso é complicado demais?" Se sim, simplifique.

3. Alterações Cirúrgicas

Toque apenas no que for necessário. Limpe apenas a sua própria bagunça.

Ao editar código existente:

  • Não "melhore" código, comentários ou formatação adjacentes.
  • Não refatore coisas que não estão quebradas.
  • Corresponda ao estilo existente, mesmo que você faria diferente.
  • Se notar código morto não relacionado, mencione-o — não o exclua.

Quando suas alterações criarem órfãos:

  • Remova imports/variáveis/funções que SUAS alterações tornaram não utilizados.
  • Não remova código morto pré-existente, a menos que solicitado.

O teste: Cada linha alterada deve ser rastreada diretamente até a solicitação do usuário.

4. Execução Orientada a Objetivos

Defina critérios de sucesso. Itere até verificar.

Transforme tarefas em objetivos verificáveis:

  • "Adicionar validação" → "Escrever testes para entradas inválidas, depois fazê-los passar"
  • "Corrigir o bug" → "Escrever um teste que o reproduza, depois fazê-lo passar"
  • "Refatorar X" → "Garantir que os testes passem antes e depois"

Para tarefas de várias etapas, declare um plano breve:

1. [Etapa] → verificar: [checagem]
2. [Etapa] → verificar: [checagem]
3. [Etapa] → verificar: [checagem]

Critérios de sucesso fortes permitem iterar de forma independente. Critérios fracos ("fazer funcionar") exigem esclarecimento constante.

Habilidades Relacionadas