what-could-break
Identifica o que uma mudança pode afetar em outras partes do código. É útil antes de fazer alterações em arquivos importantes para evitar erros.
O que ela faz
Esta ferramenta ajuda a descobrir o que pode quebrar em seu código quando você faz uma alteração. Ela verifica não apenas o que você mudou, mas também como essa mudança pode afetar outras partes do sistema que não estão diretamente ligadas à sua edição.
Quando usar
- ✓Antes de fazer grandes alterações em várias partes do código.
- ✓Ao editar arquivos que são usados por muitos outros programas.
- ✓Quando você quer ter certeza de que uma pequena mudança não causará problemas inesperados.
Exemplo do que pedir para a IA
“O que essa mudança pode quebrar em outras partes do sistema?”
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 analisa sua mudança e procura por possíveis problemas em outros lugares. Ela tenta provar que sua mudança é segura, executando testes reais com o código modificado.
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 sickn33/agentic-awesome-skills --skill what-could-breakOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/what-could-break/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.
O Que Pode Quebrar
Visão Geral
Listar chamadores não é o trabalho. grep faz isso em um segundo. Esta habilidade encontra a quebra
que o grep não mostrará, e produz uma prova de que a mudança é segura.
Execute antes do design, não apenas antes do merge. Sempre que uma tarefa afirma algo sobre código existente ("X já lida com Y", "apenas torne X público"), essa afirmação é uma hipótese, e o censo de consumidores reais decide o design.
Quando Usar
- Use antes de qualquer edição em múltiplos arquivos, ou uma edição em um caminho compartilhado: payload de API, configuração, dados armazenados, um cliente que outros aplicativos leem, um prompt ou arquivo de política.
- Use quando o usuário perguntar "o que isso pode quebrar" ou "raio de explosão de X".
- Use para um diff pequeno em que você não confia.
- Use quando uma breve afirmação sobre código existente, antes de você projetar com base nessa afirmação.
Como Funciona
Passo 1: Não confie na sua própria descrição
Uma análise de risco que parece correta é inútil: ela soa convincente, quer seja verdade ou não. Encontre os um ou dois fatos dos quais toda a mudança depende, e leve cada um o mais longe possível nesta escada, enquanto for barato. Diga onde parou.
- Você disse. Não vale nada por si só.
- Você apontou para isso. Um
file:linereal, ou o próprio código-fonte da biblioteca na versão fixada. - Você percorreu. Você rastreou o caso ruim passo a passo e ele não alcança.
- Você executou. Um script ou teste chama o código real e falha alto se você estiver errado.
- Você viu ao vivo. Reproduzido no aplicativo, serviço ou dispositivo em execução.
O degrau 4 geralmente é um pequeno script que importa o mesmo módulo que a produção executa e chama a função exata sobre a qual você está preocupado, com a entrada sobre a qual você está preocupado.
Passo 2: Leia a mudança
O diff, os símbolos que ele adiciona, altera e exclui, e o que ele agora faz de diferente,
incluindo o que o diff não explicita. git log -S '<symbol>' e
git log -L :<function>:<file> mostram por que a forma antiga existe; uma proteção que parece
desnecessária muitas vezes tem um commit explicando o incidente que ela impediu.
Passo 3: Encontre o único fato pelo qual é seguro
A maioria das mudanças de aparência arriscada é segura por causa de um fato ("isso apenas descarta entradas de cache que já expiraram", "nenhum cliente lê este campo"). Se isso se mantiver, a maioria dos riscos desaparece de uma vez. Se você não conseguir encontrar um, a mudança ainda não foi compreendida.
Passo 4: Olhe onde o grep para
Procure pelo valor literal, o nome do campo, o texto do erro e o comportamento antigo, não apenas o símbolo que você renomeou. Em seguida, verifique cada um deles manualmente:
- A mesma regra vivendo duas vezes. Um segundo arquivo de configuração, um caminho de fallback que codifica o padrão antigo, uma cópia sincronizada em outro repositório, uma constante duplicada em uma migração ou fixture de teste, um valor padrão de flag de recurso.
- Prompts e arquivos de agente que reafirmam a regra. Prompts do sistema, arquivos de agente e habilidades,
AGENTS.md,CLAUDE.md, runbooks. Um agente obedece à frase desatualizada, não ao seu código. - Todos os outros clientes. Web, iOS, Android, desktop, CLI, extensões, integrações de parceiros. Clientes móveis nas mãos dos usuários permanecem na versão antiga por semanas: o que um cliente antigo faz com a nova forma, e um cliente novo com o servidor antigo?
- Formatos de comunicação. Nomes e tipos de campos JSON, valores de enumeração, null versus ausente, formatos de data, forma de paginação, códigos de erro, payloads de webhook, esquemas de fila, contratos GraphQL e protobuf.
- Estado armazenado. Colunas e seus padrões, linhas escritas sob a forma antiga, entradas de cache, arquivos em disco, logs de append-only, conteúdo de sessão e cookie, índices de busca. Dados antigos sobrevivem ao deploy.
- Ambiente e segredos. Uma variável de ambiente renomeada no código, mas não na configuração de deploy, CI, a imagem, ou o segundo serviço que a lê.
- Processos que reiniciam separadamente. Servidor web, workers, jobs cron, funções serverless, o aplicativo móvel, um sidecar. Durante um rollout, um executa código novo enquanto outro executa código antigo contra os mesmos dados. Ambos podem coexistir por uma hora?
- Tempo e concorrência. Dois escritores na mesma linha ou chave, uma nova tentativa que agora dispara duas vezes, ordenação que só se manteve porque um passo era lento.
- Código-fonte da biblioteca em sua versão fixada. Leia o código da dependência na versão do lockfile, não sua memória da documentação.
- Código gerado e fornecido. Clientes gerados a partir de um esquema, cópias fornecidas, artefatos de build commitados, bundles cuja chave de cache-busting não mudou.
- Testes e fixtures que codificam o comportamento antigo. Um teste que passa porque sua fixture ainda tem a forma antiga não prova nada sobre a nova.
…
Perguntas frequentes
Por que não posso simplesmente usar 'grep'?
'Grep' procura por textos específicos. Esta ferramenta vai além, verificando como o código realmente funciona e se comunica com outras partes, algo que 'grep' não consegue fazer.
O que significa 'rung 4'?
'Rung 4' é um nível de confiança onde um teste ou script executa o código real com as entradas esperadas e falha se algo estiver errado. É uma forma de provar que o código funciona como esperado.
O que são 'wire formats'?
São as formas como os dados são trocados entre diferentes partes de um sistema, como formatos de mensagens (JSON, XML), nomes de campos, tipos de dados e como erros são comunicados.
Detalhes
Descrição original do autor
Find what a change breaks outside its own diff, then prove the one fact that makes it safe by running real code. Use before any multi-file edit or an edit to a shared path.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4557
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC