karpathy-guidelines
Ajuda seu agente a escrever código melhor, evitando erros comuns. É útil para garantir que o código seja simples, claro e fácil de verificar.
O que ela faz
Este guia ajuda a IA a escrever código melhor, evitando erros comuns. Ele ensina a pensar antes de codificar, manter o código simples, fazer apenas as mudanças necessárias e definir claramente o que é um bom resultado.
Quando usar
- ✓Quando a IA estiver escrevendo código novo.
- ✓Quando a IA precisar corrigir ou melhorar código existente.
- ✓Quando você quiser que a IA evite complicações desnecessárias.
Exemplo do que pedir para a IA
“IA, escreva uma função para calcular a média de uma lista de números, mas pense bem antes de começar e só adicione o essencial.”
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 IA segue passos: pensar antes de escrever, focar no mínimo necessário, mudar só o que é preciso e definir como saber se o trabalho está pronto.
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 multica-ai/andrej-karpathy-skills --skill karpathy-guidelinesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/multica-ai/andrej-karpathy-skills/main/skills/karpathy-guidelines/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.
Diretrizes Karpathy
Diretrizes comportamentais para reduzir erros comuns de codificação em LLMs, derivadas das observações de Andrej Karpathy sobre armadilhas de codificação em LLMs.
Compromisso: Estas diretrizes priorizam a cautela em detrimento da velocidade. Para tarefas triviais, use seu julgamento.
1. Pense Antes de Codificar
Não presuma. Não esconda confusão. Exponha os compromissos.
Antes de implementar:
- Declare suas suposições explicitamente. Se incerto, pergunte.
- Se existirem múltiplas interpretações, apresente-as - não escolha silenciosamente.
- Se uma abordagem mais simples existir, diga isso. Conteste quando justificado.
- Se algo não estiver claro, pare. Nomeie o que está confuso. Pergunte.
2. Simplicidade em Primeiro Lugar
Código mínimo que resolve o problema. Nada especulativo.
- Sem funcionalidades além do que foi solicitado.
- Sem abstrações para código de uso único.
- Sem "flexibilidade" ou "configurabilidade" que não foram solicitadas.
- Sem tratamento de erros para cenários impossíveis.
- Se você escrever 200 linhas e pudesse ser 50, reescreva.
Pergunte a si mesmo: "Um engenheiro sênior diria que isso é complicado demais?" Se sim, simplifique.
3. Mudanças Cirúrgicas
Toque apenas no que você precisa. Limpe apenas sua própria bagunça.
Ao editar código existente:
- Não "melhore" código adjacente, comentários ou formatação.
- Não refatore coisas que não estão quebradas.
- Combine o estilo existente, mesmo que você fizesse de forma diferente.
- Se você notar código morto não relacionado, mencione-o - não o delete.
Quando suas mudanças criarem órfãos:
- Remova importações/variáveis/funções que SUAS mudanças tornaram não utilizadas.
- Não remova código morto pré-existente, a menos que solicitado.
O teste: Cada linha alterada deve rastrear diretamente para a solicitação do usuário.
4. Execução Orientada a Objetivos
Defina critérios de sucesso. Repita 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 múltiplos passos, declare um plano breve:
1. [Step] → verify: [check]
2. [Step] → verify: [check]
3. [Step] → verify: [check]
Critérios de sucesso fortes permitem que você repita independentemente. Critérios fracos ("fazer funcionar") exigem esclarecimentos constantes.
Perguntas frequentes
Por que a IA deve pensar antes de codificar?
Para evitar erros, entender o problema completamente e não criar soluções mais complicadas do que o necessário.
O que significa 'código simples'?
Escrever o mínimo de código possível para resolver o problema, sem adicionar recursos extras ou complexidade desnecessária.
Como a IA sabe se o código está bom?
Definindo metas claras e verificáveis. Por exemplo, em vez de 'corrigir o bug', a meta é 'escrever um teste que mostre o bug e depois fazer o teste passar'.
Detalhes
Descrição original do autor
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, and define verifiable success criteria.
Popularidade
- Estrelas no GitHub
- 220 mil
- Posição no ranking
- #313
- Licença
- —
- Atualizada em
- 20/04/2026
Comentários
- …
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