andrej-karpathy
Orienta na escrita de código para evitar erros comuns. Ajuda a simplificar o código e definir critérios de sucesso.
O que ela faz
Este guia ajuda a IA a escrever código de programação melhor, evitando erros comuns. Ele foca em fazer mudanças pequenas e claras, pensar antes de agir e garantir que o código funcione exatamente como esperado.
Quando usar
- ✓Ao pedir para a IA escrever um novo código.
- ✓Ao pedir para a IA revisar ou melhorar um código existente.
- ✓Quando você quer que a IA evite complicar demais uma tarefa simples.
Exemplo do que pedir para a IA
“IA, escreva uma função simples para somar dois números, mas pense em como fazer isso da forma mais clara e direta possível, sem adicionar coisas extras.”
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 como pensar antes de escrever, focar no mínimo necessário para resolver o problema, fazer apenas as mudanças pedidas e definir como saber se o resultado está certo.
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 andrej-karpathyOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/andrej-karpathy/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.
Quando Usar Esta Habilidade
- Use ao escrever, revisar ou refatorar código com um LLM.
- Use quando uma alteração precisa ser cirúrgica e evitar abstrações especulativas.
- Use quando suposições, compromissos e critérios de verificação devem ser explicitados.
- Use quando o código se tornou excessivamente complicado e precisa ser simplificado.
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 múltiplas interpretações existirem, apresente-as - não escolha silenciosamente.
- Se uma abordagem mais simples existir, diga isso. Reaja 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 recursos além do que foi solicitado.
- Sem abstrações para código de uso único.
- Sem "flexibilidade" ou "configurabilidade" que não foi solicitada.
- 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. Alterações 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 alterações criarem órfãos:
- Remova importações/variáveis/funções que SUAS alterações 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 várias etapas, 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 como "fazer funcionar" exigem esclarecimentos constantes.
Exemplos
User request: "Add validation to this form."
Better response:
1. Assumption: validation should run before submit and show inline errors.
2. Plan: add a small validator, add tests for invalid inputs, then verify existing submit behavior.
3. Scope: only touch the form component and its test file.
User request: "Refactor this service."
Better response:
1. Ask what behavior must remain unchanged.
2. Identify a concrete smell, such as duplicated parsing logic.
3. Make the smallest refactor and run the existing service tests.
Limitações
- Estas diretrizes são barreiras comportamentais, não um substituto para a arquitetura ou regras de estilo específicas do projeto.
- Para correções de emergência, priorize a menor correção verificada em vez de planejamento extenso.
- Para protótipos exploratórios, alguma cautela pode ser relaxada, mas suposições e verificação ainda devem ser explícitas.
Perguntas frequentes
Por que a IA deve pensar antes de codificar?
Para evitar adivinhar, esconder dúvidas ou criar soluções mais complicadas do que o necessário. É melhor perguntar e esclarecer.
O que significa 'mudanças cirúrgicas'?
Significa mexer apenas no que é estritamente necessário para atender ao pedido, sem alterar outras partes do código que não foram solicitadas.
Como a IA sabe se o código está bom?
A IA define critérios claros para saber se o objetivo foi alcançado. Por exemplo, em vez de 'consertar o bug', ela pode definir 'criar 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
- 48 mil
- Posição no ranking
- #2126
- 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