jaimegago/agent-skills

Carrega padrões gerais de desenvolvimento. Aplica-se a todos os repositórios. Invoque no início de uma sessão ou quando for necessário reforçar os padrões.

O que é agent-skills?

Esta skill define padrões de desenvolvimento não negociáveis que todo agente de IA (como Claude Code, Cursor ou Codex) deve seguir para garantir correção, segurança e eficiência durante uma sessão de codificação. Ela é útil porque estabelece regras como verificar evidências antes de fazer afirmações sobre o código, ler arquivos antes de editá-los e fazer apenas as alterações mínimas solicitadas, evitando refatorações ou limpezas desnecessárias. A skill é agnóstica de plataforma, podendo ser aplicada em qualquer ambiente que suporte ferramentas de busca textual e LSP (Language Server Protocol). Seu funcionamento é baseado em diretrizes claras que orientam o agente a usar ferramentas apropriadas (como `findReferences`, `grep`, `goToDefinition`) para navegação e verificação, além de impor disciplina de git e proibir operações destrutivas sem autorização explícita. Também inclui procedimentos específicos para remoção segura de código morto e um princípio de honestidade sobre incertezas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jaimegago/agent-skills/tree/HEAD/dev-standards

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Você está agora operando sob os seguintes padrões de desenvolvimento não negociáveis. Aplique-os pelo restante desta sessão, sem exceção.

Verificar antes de afirmar

Nunca faça qualquer afirmação sobre código — "isto não é usado", "isto é código morto", "X chama Y", "isto nunca é referenciado" — sem antes executar a ferramenta de busca ou leitura apropriada para confirmá-la. Toda afirmação factual sobre a base de código deve ser fundamentada em evidências coletadas nesta sessão.

Se você ainda não pesquisou sobre isso, você não sabe.

Ler antes de editar

Sempre leia um arquivo antes de propor ou fazer alterações nele. Nunca edite com base em suposições sobre o que um arquivo contém.

Apenas mudanças mínimas

Altere apenas o que foi diretamente solicitado. Não refatore, reformate, limpe, adicione comentários, adicione tratamento de erros ou "melhore" nada além do pedido explícito. Três linhas de código semelhantes são melhores que uma abstração prematura.

Procedimento de exclusão de código morto

Quando solicitado a remover código morto ou não utilizado:

  1. Pesquise toda a base de código por todas as referências a cada símbolo que está sendo removido.
  2. Mostre os resultados da pesquisa ao usuário.
  3. Só então faça a exclusão. Nunca pule as etapas 1 e 2.

Para a etapa 1, uma pesquisa de referências LSP (findReferences) pode subestimar em alguns servidores de linguagem (veja "Navegação de código" abaixo) — para uma decisão de exclusão, confirme também com uma pesquisa de texto (grep). Uma subestimação aqui significa excluir código que está realmente sendo usado.

Navegação de código

Ao navegar ou entender código existente, prefira um servidor de linguagem (a ferramenta LSP) em vez de pesquisa de texto quando um estiver disponível para o tipo de arquivo. Um servidor de linguagem entende o grafo de tipos — definições, referências, implementações, hierarquia de chamadas — enquanto a pesquisa de texto corresponde a strings, incluindo comentários, documentação e identificadores não relacionados.

  • "Onde isto é definido / qual é seu tipo?" → goToDefinition / hover
  • "Quem usa isto?" → findReferences
  • "Encontre um símbolo pelo nome no projeto" → workspaceSymbol
  • "O que implementa esta interface?" → goToImplementation
  • "Quem chama isto / o que isto chama?" → incomingCalls / outgoingCalls

Mecânica:

  • As operações LSP são baseadas em posição (filePath + line + character), portanto precisam de uma localização inicial. Padrão eficiente: uma pesquisa de texto (ou workspaceSymbol) para encontrar a âncora, depois LSP para o grafo semântico a partir daí.
  • Em alguns ambientes, a ferramenta LSP é adiada — carregue seu esquema (ex.: via ToolSearch) antes da primeira chamada. Carregue-a uma vez no início de uma tarefa de navegação; não deixe que essa configuração única o faça voltar ao grep por reflexo.
  • Mantenha a pesquisa de texto para o que ela realmente faz de melhor: arquivos que não são código, configuração, literais de log/string e texto puro.

A completude varia por servidor de linguagem, e isso interage com "Verificar antes de afirmar." Alguns servidores indexam ansiosamente e retornam resultados completos; outros indexam preguiçosamente e podem retornar uma resposta confiante, mas incompleta (ex.: um findReferences entre arquivos que perde arquivos ainda não carregados). Trate uma contagem de referências cruzadas suspeitamente baixa como não verificada, não como fato. A skill específica de linguagem (ex.: go-backend, frontend-dev) documenta o comportamento por servidor — consulte-a.

Disciplina de git

Nunca faça commit, amend, push ou qualquer operação destrutiva do git a menos que o usuário solicite explicitamente naquela mensagem. Aprovar um push uma vez não autoriza pushes futuros.

Quando bloqueado

Se uma chamada de ferramenta falhar, for negada ou uma abordagem for bloqueada: pare, diagnostique o porquê, considere uma alternativa. Não tente a mesma ação novamente. Não force a barra contra verificações de segurança.

Honestidade acima de fluência

Não gere respostas que pareçam plausíveis antes das evidências. Se você estiver incerto, diga isso. Se precisar pesquisar primeiro, pesquise primeiro — depois responda.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

jaimegago/agent-skills

Senior-level frontend engineering guidance covering architecture, component design, performance, design systems, API integration, and testing. Use this skill for ANY frontend engineering task: building components, reviewing architecture, setting up a project, debugging performance, designing a design system, writing tests, or integrating APIs. Trigger on keywords like "component", "React", "Angular", "TypeScript", "frontend", "UI", "design system", "performance", "bundle", "state management", "GraphQL", "Relay", or any web UI work. Also trigger for vague requests like "build me a page" or "add a feature" when a frontend context is present. This skill covers ALL output types: code, architecture documents, file structure recommendations, performance audits, and test strategies.

jaimegago/agent-skills

Use mid-debugging when a React UI does not reflect data that is known to be correct at its source — a component renders nothing or stale content even though the API returns the right response, a react-query / data-fetching hook seems stuck, or the network panel shows a successful 200 but the UI never updates. For DIAGNOSING this runtime/timing behavior by inspecting live state, distinct from building or styling UI. Not for build/compile errors, styling-only issues, or cases where the API genuinely returns wrong or missing data.

jaimegago/agent-skills

Commit staged and unstaged changes with an auto-generated Conventional Commit message, then sync the branch with the remote. Use this skill whenever the user says "commit", "save my changes", "push this", "commit and push", "sync", or any variation of wanting to commit their work and get it to the remote. Also trigger when the user says "ship it", "land this", "save and sync", or asks to wrap up a coding session. Do NOT use for complex git operations like rebasing, cherry-picking, or merge conflict resolution.

Habilidades Relacionadas