Pular para o conteúdo
Skillpedia
Código em geral70 mil · #1741

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

https://github.com/code-yeongyu/oh-my-openagent/blob/dev/packages/shared-skills/skills/programming/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/code-yeongyu/oh-my-openagent/blob/dev/packages/shared-skills/skills/programming/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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 programming

Ou 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.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.

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.

  1. Identifique a linguagem pela extensão do arquivo ou pela solicitação do usuário.

  2. PARE e leia o conjunto de referências correspondente:

    Arquivo / Linguagem Leitura OBRIGATÓRIA (carregue a ferramenta Read em todos os arquivos abaixo)
    .py, .pyi, "Python" references/python/README.md + todos os arquivos em references/python/ que o README instruir a carregar sob demanda
    .rs, Cargo.toml, "Rust" references/rust/README.md + todos os arquivos em references/rust/ que o README instruir a carregar sob demanda. SE a alteração tocar em unsafe, *mut, *const, MaybeUninit, FFI, unsafe impl Send/Sync ou um primitivo customizado lock-free: CARREGUE TAMBÉM references/rust-ub/README.md mais todos os arquivos em references/rust-ub/.
    .ts, .tsx, .mts, .cts, "TypeScript" references/typescript/README.md + todos os arquivos em references/typescript/ que o README instruir a carregar sob demanda
    .go, go.mod, go.sum, .golangci.yml, *.proto ao lado de um módulo Go, "Go" / "Golang" references/go/README.md + todos os arquivos em references/go/ que o README instruir a carregar sob demanda
  3. Somente 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.

  1. 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.

  2. 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.

  3. 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.

  4. Um nome = um conceito. Um UserId não é um string. Um Seconds não é um Milliseconds. Use NewType (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.

  5. 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.

repo: code-yeongyu/oh-my-openagent

Popularidade

Estrelas no GitHub
70 mil
Posição no ranking
#1741
Licença
NOASSERTION
Atualizada em
16/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas