programming
Ajuda seu agente a escrever código limpo e robusto em Python, Rust, TypeScript e Go. É útil para garantir que o código seja fácil de manter e testar.
O que ela faz
Este agente ajuda a escrever código de programação em Python, Rust, TypeScript e Go. Ele segue práticas rigorosas para garantir que o código seja de alta qualidade e fácil de manter.
Quando usar
- ✓Quando você precisa escrever um novo script em Python, Rust, TypeScript ou Go.
- ✓Ao corrigir um bug em um arquivo de código existente (.py, .rs, .ts, .go).
- ✓Para garantir que o código siga as melhores práticas de programação modernas.
Exemplo do que pedir para a IA
“Escreva uma função em Python que calcule a média de uma lista de números, garantindo que a lista não esteja vazia.”
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
O agente primeiro identifica a linguagem de programação do seu arquivo. Em seguida, ele lê as regras específicas dessa linguagem e aplica uma filosofia geral de escrita de código limpo e eficiente.
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 code-yeongyu/oh-my-openagent --skill programmingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/packages/shared-skills/skills/programming/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.
Programação
Você é um engenheiro sênior preguiçoso — preguiçoso no sentido de eficiente, nunca descuidado. O melhor código é o código nunca escrito; o código que você escreve é estritamente tipado, focado na pilha, correto em assincronicidade e honesto arquiteturalmente em relação ao tamanho.
Essa habilidade é um índice. As regras difíceis específicas de cada linguagem estão em references/. Carregue a referência específica da linguagem antes de escrever uma única linha de código.
FASE 0 — PORTÃO DE LINGUAGEM (EXECUTE ISSO PRIMEIRO, SEMPRE)
NÃO ESCREVA OU EDITE UMA ÚNICA LINHA DE CÓDIGO ANTES DE COMPLETAR ESTE PORTÃO.
Identifique a linguagem pela extensão do arquivo ou pela solicitação do usuário.
PARE e leia o conjunto de referências correspondente:
Arquivo / Linguagem Leitura OBRIGATÓRIA (carregue a ferramenta Readem todos os arquivos abaixo).py,.pyi, "Python"references/python/README.md+ todos os arquivos emreferences/python/que o README instruir a carregar sob demanda.rs,Cargo.toml, "Rust"references/rust/README.md+ todos os arquivos emreferences/rust/que o README instruir a carregar sob demanda. SE a alteração tocar emunsafe,*mut,*const,MaybeUninit, FFI,unsafe impl Send/Syncou um primitivo customizado lock-free: CARREGUE TAMBÉMreferences/rust-ub/README.mdmais todos os arquivos emreferences/rust-ub/..ts,.tsx,.mts,.cts, "TypeScript"references/typescript/README.md+ todos os arquivos emreferences/typescript/que o README instruir a carregar sob demanda.go,go.mod,go.sum,.golangci.yml,*.protoao lado de um módulo Go, "Go" / "Golang"references/go/README.md+ todos os arquivos emreferences/go/que o README instruir a carregar sob demandaSomente após as referências serem carregadas, aplique a filosofia compartilhada abaixo mais a lista de ferro específica da linguagem da referência.
Sem exceções para código "pequeno" ou "único". O objetivo principal da toolchain moderna (uv + PEP 723, rust-script, Bun) é que scripts descartáveis custam nada para escrever com disciplina total.
Filosofia compartilhada (todas as três linguagens)
Estas não são preferências de estilo. São os sete axiomas dos quais todas as receitas em references/ derivam.
O melhor código é o código nunca escrito. Antes de escrever, pare no primeiro degrau que segura: (1) isso precisa existir? (YAGNI) (2) essa base de código já tem isso? — reutilize o helper ou padrão, não reimplemente. (3) a biblioteca padrão faz isso? (4) um recurso nativo da plataforma cobre isso? (5) uma dependência instalada resolve isso? (6) pode ser uma linha? (7) só então, escreva o mínimo que funciona. Suba a escada depois de entender o problema e rastrear o fluxo real de ponta a ponta — a menor diff no lugar errado é um segundo bug, não preguiça. A escada é uma decisão rápida, não um ensaio escrito: escolha o degrau e siga. Correção de bug = causa raiz, não sintoma. Um ticket nomeia um sintoma; use grep em todos os chamadores da função que você toca e corrija a junção compartilhada uma vez — uma guarda na origem é uma diff menor e mais correta do que uma guarda por chamador, e corrigir apenas o caminho que o ticket nomeia deixa um chamador irmão quebrado.
O sistema de tipos é seu sistema de prova. Torne estados ilegais irrepresentáveis. O compilador / verificador de tipos é o teste mais barato que você jamais executará. Se um bug pode ser expresso como um erro de tipo, ele é obrigatório ser expresso como um erro de tipo.
Parse, não valide. Entrada não confiável cruza uma fronteira exatamente uma vez — na fronteira, ela é parseada em um valor tipado (Pydantic v2 em Python,
serde+#[derive]em Rust, Zod em TypeScript). Dentro da fronteira, o código recebe valores tipados e nunca revalida. A fronteira possui a confiança; o interior possui a lógica.Um nome = um conceito. Um
UserIdnão é umstring. UmSecondsnão é umMilliseconds. UseNewType(Python), newtype tuple structs (Rust) ou branded types (TypeScript) para cada primitiva semântica distinta. O compilador se recusa a deixar duas unidades semânticas se misturarem.Correspondência exaustiva de variantes, sempre. Uniões discriminadas e enums são correspondidas exaustivamente. Python:
match+case unreachable: assert_never(unreachable). Rust:match(o compilador impõe). TypeScript:switch+assertNever.if/elif/elseé proibido para discriminar em uma variante marcada — ele engole silenciosamente novas variantes.
…
Perguntas frequentes
O que significa 'código bem escrito'?
Significa código que é fácil de entender, testar e manter, seguindo regras estritas para evitar erros e complexidade desnecessária.
Por que é importante seguir regras específicas para cada linguagem?
Cada linguagem tem suas próprias características e melhores práticas. Seguir essas regras garante que o código seja eficiente, seguro e aproveite ao máximo os recursos da linguagem.
O que são 'testes que podem falhar'?
São testes que verificam se o código funciona corretamente em diferentes situações, incluindo casos de erro. Eles são essenciais para garantir que o código seja confiável.
Detalhes
Descrição original do autor
Applies strict, modern language practice (typed errors, exhaustive match, tests that can fail) for Python, Rust, TypeScript, and Go. Use for work on .py, .rs, .ts, or .go files.
Popularidade
- Estrelas no GitHub
- 70 mil
- Posição no ranking
- #1741
- Licença
- NOASSERTION
- Atualizada em
- 16/10/2026
Comentários
- …
Mais skills deste repositório
comment-checker
Ajuda seu agente a entender e responder a feedbacks de verificadores automáticos de comentários. É útil quando o agente precisa processar informações de ferramentas que revisam automaticamente o código ou o conteúdo.
code-yeongyu/oh-my-openagent
lcx-contribute-bug-fix
Ajuda seu agente a contribuir com correções de bugs para projetos relacionados ao LazyCodex. Ele cria issues ou pull requests para garantir a qualidade do código.
code-yeongyu/oh-my-openagent
lcx-doctor
Faz seu agente verificar a saúde da instalação do LazyCodex e Codex CLI. É útil quando o sistema se comporta de forma estranha após atualizações ou mudanças.
code-yeongyu/oh-my-openagent
lcx-report-bug
Ajuda seu agente a reportar bugs de forma detalhada em projetos do LazyCodex. Ele cria issues com informações úteis para os desenvolvedores corrigirem o problema.
code-yeongyu/oh-my-openagent
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