coding-standards
Estabelece regras básicas de codificação para vários projetos, focando em nomes, legibilidade e qualidade. Use quando precisar revisar a qualidade do código sem regras específicas de um framework.
O que ela faz
Esta ferramenta ajuda a garantir que o código escrito siga boas práticas de programação. Ela verifica nomes de variáveis, legibilidade, se os dados são imutáveis (não mudam depois de criados) e a qualidade geral do código.
Quando usar
- ✓Ao iniciar um novo projeto ou parte dele.
- ✓Ao revisar o código de outra pessoa para garantir que está claro e fácil de manter.
- ✓Ao organizar ou melhorar código já existente.
Exemplo do que pedir para a IA
“Revise este código para garantir que ele segue boas práticas de nomenclatura e legibilidade.”
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 ferramenta compara o código com regras pré-definidas de clareza, simplicidade e organização. Ela verifica se os nomes são descritivos e se o código é fácil de entender e manter.
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 affaan-m/ECC --skill coding-standardsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/skills/coding-standards/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.
Padrões de Código e Melhores Práticas
Convenções de codificação de base aplicáveis a todos os projetos.
Essa habilidade é o piso compartilhado, não o manual detalhado do framework.
- Use
frontend-patternspara React, estado, formulários, renderização e arquitetura de UI. - Use
backend-patternsouapi-designpara camadas de repositório/serviço, design de endpoints, validação e preocupações específicas do servidor. - Use
rules/common/coding-style.mdquando precisar da camada de regras reutilizável mais curta em vez de um guia completo de habilidades.
Quando Ativar
- Iniciando um novo projeto ou módulo
- Revisando código para qualidade e manutenibilidade
- Refatorando código existente para seguir convenções
- Aplicando consistência de nomenclatura, formatação ou estrutura
- Configurando regras de linting, formatação ou verificação de tipos
- Integrando novos colaboradores às convenções de codificação
Limites de Escopo
Ative esta habilidade para:
- nomenclatura descritiva
- padrões de imutabilidade por padrão
- aplicação de legibilidade, KISS, DRY e YAGNI
- expectativas de tratamento de erros e revisão de "code smells"
Não use esta habilidade como fonte primária para:
- composição de React, hooks ou padrões de renderização
- arquitetura de backend, design de API ou camadas de banco de dados
- orientação de framework específica de domínio quando uma habilidade ECC mais restrita já existe
Princípios de Qualidade de Código
1. Legibilidade em Primeiro Lugar
- O código é lido mais do que escrito
- Nomes claros de variáveis e funções
- Código autoexplicativo preferível a comentários
- Formatação consistente
2. KISS (Mantenha Simples, Estúpido)
- A solução mais simples que funciona
- Evite engenharia excessiva
- Sem otimização prematura
- Fácil de entender > código esperto
3. DRY (Não Se Repita)
- Extraia lógica comum em funções
- Crie componentes reutilizáveis
- Compartilhe utilitários entre módulos
- Evite programação de copiar e colar
4. YAGNI (Você Não Vai Precisar Disso)
- Não crie funcionalidades antes que sejam necessárias
- Evite generalidade especulativa
- Adicione complexidade apenas quando necessário
- Comece simples, refatore quando necessário
Padrões TypeScript/JavaScript
Nomenclatura de Variáveis
// PASS: GOOD: Descriptive names
const marketSearchQuery = 'election'
const isUserAuthenticated = true
const totalRevenue = 1000
// FAIL: BAD: Unclear names
const q = 'election'
const flag = true
const x = 1000
Nomenclatura de Funções
// PASS: GOOD: Verb-noun pattern
async function fetchMarketData(marketId: string) { }
function calculateSimilarity(a: number[], b: number[]) { }
function isValidEmail(email: string): boolean { }
// FAIL: BAD: Unclear or noun-only
async function market(id: string) { }
function similarity(a, b) { }
function email(e) { }
Padrão de Imutabilidade (CRÍTICO)
// PASS: ALWAYS use spread operator
const updatedUser = {
...user,
name: 'New Name'
}
const updatedArray = [...items, newItem]
// FAIL: NEVER mutate directly
user.name = 'New Name' // BAD
items.push(newItem) // BAD
Tratamento de Erros
// PASS: GOOD: Comprehensive error handling
async function fetchData(url: string) {
try {
const response = await fetch(url)
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`)
}
return await response.json()
} catch (error) {
console.error('Fetch failed:', error)
throw new Error('Failed to fetch data')
}
}
// FAIL: BAD: No error handling
async function fetchData(url) {
const response = await fetch(url)
return response.json()
}
Melhores Práticas Async/Await
// PASS: GOOD: Parallel execution when possible
const [users, markets, stats] = await Promise.all([
fetchUsers(),
fetchMarkets(),
fetchStats()
])
// FAIL: BAD: Sequential when unnecessary
const users = await fetchUsers()
const markets = await fetchMarkets()
const stats = await fetchStats()
Segurança de Tipos
// PASS: GOOD: Proper types
interface Market {
id: string
name: string
status: 'active' | 'resolved' | 'closed'
created_at: Date
}
function getMarket(id: string): Promise<Market> {
// Implementation
}
// FAIL: BAD: Using 'any'
function getMarket(id: any): Promise<any> {
// Implementation
}
Melhores Práticas de React
Estrutura de Componentes
// APROVADO: BOM: Componente funcional com tipos
interface ButtonProps {
children: React.ReactNode
onClick: () => void
disabled?: boolean
variant?: 'primary' | 'secondary'
}
export function Button({
children,
onClick,
disabled = false,
variant = 'primary'
}: ButtonProps) {
return (
…
Perguntas frequentes
O que significa 'imutabilidade'?
Imutabilidade significa que uma vez que um dado é criado, ele não pode ser alterado. Em programação, isso ajuda a evitar erros inesperados, pois os dados não mudam de forma não intencional.
O que são 'boas práticas' de código?
São um conjunto de regras e recomendações que ajudam a escrever código de alta qualidade, que seja fácil de ler, entender, manter e que funcione corretamente.
Quando devo usar esta ferramenta em vez de outras mais específicas?
Use esta ferramenta quando precisar de regras gerais de qualidade de código que se aplicam a qualquer projeto, sem focar em detalhes de uma tecnologia específica como React ou Node.js.
Detalhes
Descrição original do autor
Baseline cross-project coding conventions for naming, readability, immutability, and code-quality review. Use detailed frontend or backend skills for framework-specific patterns. Use when reviewing code quality or naming with no framework-specific skill that applies.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #26
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
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.
multica-ai/andrej-karpathy-skills
skill-creator
Permite ao agente criar, modificar e otimizar habilidades. Útil para testar o desempenho de habilidades e melhorar sua precisão.
anthropics/skills
ponytail-debt
Lista todos os atalhos de código ('shortcut:') deixados para depois. Ajuda a ver o que ainda precisa ser corrigido no projeto.
DietrichGebert/ponytail