ruff-recursive-fix
Ajuda seu agente a corrigir código automaticamente. Ele verifica erros, aplica correções seguras e permite que você revise e decida sobre as correções restantes.
O que ela faz
Esta ferramenta ajuda a organizar e corrigir automaticamente seu código de programação usando uma ferramenta chamada Ruff. Ela tenta corrigir os problemas de forma segura primeiro, depois de forma mais arriscada, e te mostra as mudanças para você aprovar.
Quando usar
- ✓Quando seu código tem muitos avisos de qualidade.
- ✓Antes de enviar seu código para revisão.
- ✓Para garantir que o código segue um padrão consistente.
Exemplo do que pedir para a IA
“Corrija meu código na pasta 'src' e me mostre as mudanças.”
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 executa verificações de qualidade no seu código, aplica correções automáticas seguras e depois as mais arriscadas. Ela repete o processo e pede sua aprovação a cada passo.
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 github/awesome-copilot --skill ruff-recursive-fixOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/ruff-recursive-fix/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.
Ruff Recursive Fix
Visão Geral
Use esta habilidade para impor a qualidade do código com Ruff em um fluxo de trabalho controlado e iterativo. Ela suporta:
- Limitação opcional de escopo para uma pasta específica.
- Configurações padrão do projeto de
pyproject.toml. - Invocação flexível do Ruff (
uv,ruffdireto,python -m ruffou equivalente). - Substituições opcionais de regras por execução (
--select,--ignore,--extend-select,--extend-ignore). - Correções automáticas seguras e depois inseguras.
- Revisão de diff após cada etapa de correção.
- Repetição recursiva até que as descobertas sejam resolvidas ou exijam uma decisão.
- Uso criterioso de
# noqainline apenas quando a supressão for justificada.
Entradas
Colete estas entradas antes de executar:
target_path(opcional): pasta ou arquivo para verificar. Vazio significa todo o repositório.ruff_runner(opcional): prefixo explícito do comando Ruff (por exemplo,uv run,ruff,python -m ruff,pipx run ruff).rules_select(opcional): códigos de regras separados por vírgula para impor.rules_ignore(opcional): códigos de regras separados por vírgula para ignorar.extend_select(opcional): regras extras para adicionar sem substituir os padrões configurados.extend_ignore(opcional): regras ignoradas extras sem substituir os padrões configurados.allow_unsafe_fixes(padrão: true): se deve executar correções inseguras do Ruff.ask_on_ambiguity(padrão: true): sempre perguntar ao usuário quando múltiplas escolhas válidas existirem.
Construção de Comando
Construa comandos Ruff a partir das entradas.
0. Resolver Runner Ruff
Determine um prefixo ruff_cmd reutilizável antes de construir comandos.
Ordem de resolução:
- Se
ruff_runnerfor fornecido, use-o como está. - Caso contrário, se
uvestiver disponível e o Ruff for gerenciado através deuv, useuv run ruff. - Caso contrário, se
ruffestiver disponível emPATH, useruff. - Caso contrário, se o Python estiver disponível e o Ruff estiver instalado nesse ambiente, use
python -m ruff. - Caso contrário, use qualquer equivalente específico do projeto que invoque o Ruff instalado (por exemplo,
pipx run ruff), ou pare e pergunte ao usuário.
Use o mesmo ruff_cmd resolvido para todos os comandos check e format no fluxo de trabalho.
Comando base:
<ruff_cmd> check
Comando do formatador:
<ruff_cmd> format
Com alvo opcional:
<ruff_cmd> format <target_path>
Adicionar alvo opcional:
<ruff_cmd> check <target_path>
Adicionar substituições opcionais conforme necessário:
--select <codes>
--ignore <codes>
--extend-select <codes>
--extend-ignore <codes>
Exemplos:
# Full project with defaults from pyproject.toml
ruff check
# One folder with defaults
python -m ruff check src/models
# Override to skip docs and TODO-like rules for this run
uv run ruff check src --extend-ignore D,TD
# Check only selected rules in a folder
ruff check src/data --select F,E9,I
Fluxo de Trabalho
1. Análise de Linha de Base
- Execute
<ruff_cmd> checkcom o escopo e opções selecionados. - Classifique as descobertas por tipo:
- Correção automática segura.
- Correção automática insegura.
- Não corrigível automaticamente.
- Se nenhuma descoberta permanecer, pare.
2. Etapa de Correção Automática Segura
- Execute o Ruff com
--fixusando o mesmo escopo/opções. - Revise cuidadosamente o diff resultante quanto à correção semântica e consistência de estilo.
- Execute
<ruff_cmd> formatno mesmo escopo. - Reexecute
<ruff_cmd> checkpara atualizar as descobertas restantes.
3. Etapa de Correção Automática Insegura
Execute apenas se houver descobertas restantes e allow_unsafe_fixes=true.
- Execute o Ruff com
--fix --unsafe-fixesusando o mesmo escopo/opções. - Revise cuidadosamente o diff resultante, priorizando edições sensíveis ao comportamento.
- Execute
<ruff_cmd> formatno mesmo escopo. - Reexecute
<ruff_cmd> check.
4. Etapa de Remediação Manual
Para descobertas restantes:
- Corrija diretamente no código quando houver uma correção clara e segura.
- Mantenha as edições mínimas e locais.
- Execute
<ruff_cmd> formatno mesmo escopo. - Reexecute
<ruff_cmd> check.
5. Política de Ambiguidade
Se houver múltiplas soluções válidas em qualquer etapa, sempre pergunte ao usuário antes de prosseguir. Não escolha silenciosamente entre opções equivalentes.
6. Decisão de Supressão (# noqa)
Use a supressão apenas quando todas as condições forem verdadeiras:
- A regra entra em conflito com o comportamento exigido, API pública, convenções de framework ou objetivos de legibilidade.
- Refatoração seria desproporcional ao valor da regra.
- A supressão é restrita e específica (linha única, código explícito quando possível).
Diretrizes:
- Prefira
# noqa: <RULE>em vez de# noqaamplo. - Adicione um breve comentário de motivo para supressões não óbvias.
- Se dois ou mais resultados válidos existirem, sempre pergunte ao usuário qual opção prefere.
…
Perguntas frequentes
O que são 'correções seguras' e 'correções arriscadas'?
Correções seguras geralmente mudam apenas o estilo do código. Correções arriscadas podem alterar o comportamento do código e precisam de mais atenção.
O que é 'Ruff'?
Ruff é um programa que verifica a qualidade e o estilo do seu código de programação, ajudando a encontrar e corrigir erros.
Posso escolher quais regras ignorar?
Sim, você pode especificar regras que deseja ignorar ou selecionar apenas regras específicas para verificar.
Detalhes
Descrição original do autor
Run Ruff checks with optional scope and rule overrides, apply safe and unsafe autofixes iteratively, review each change, and resolve remaining findings with targeted edits or user decisions.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5353
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
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