deprecation-and-migration
Ajuda seu agente a lidar com partes de software que estão sendo descontinuadas ou substituídas. É útil quando é preciso remover sistemas antigos ou mudar usuários para novas versões.
O que ela faz
Esta ferramenta ajuda a decidir quando e como remover sistemas, funcionalidades ou códigos antigos que não são mais úteis. Ela também auxilia na migração de usuários para novas soluções.
Quando usar
- ✓Ao substituir um sistema antigo por um novo.
- ✓Quando uma funcionalidade não é mais necessária.
- ✓Ao planejar o fim da vida de um sistema.
Exemplo do que pedir para a IA
“Como posso planejar a remoção de um sistema antigo que ainda é usado por algumas pessoas?”
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
Ela funciona avaliando o custo de manter algo antigo versus o esforço para migrar usuários. Sugere passos para anunciar a mudança e mover as pessoas para a nova solução com segurança.
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 deprecation-and-migrationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/deprecation-and-migration/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.
Depreciação e Migração
Visão Geral
Código é um passivo, não um ativo. Cada linha de código tem um custo contínuo de manutenção — bugs para corrigir, dependências para atualizar, patches de segurança para aplicar e novos engenheiros para integrar. Depreciação é a disciplina de remover código que não se justifica mais, e migração é o processo de mover usuários com segurança do antigo para o novo.
A maioria das organizações de engenharia é boa em construir coisas. Poucas são boas em removê-las. Essa habilidade aborda essa lacuna.
Quando Usar
- Substituindo um sistema, API ou biblioteca antiga por uma nova
- Desativando um recurso que não é mais necessário
- Consolidando implementações duplicadas
- Removendo código morto que ninguém possui, mas do qual todos dependem
- Planejando o ciclo de vida de um novo sistema (o planejamento de depreciação começa no momento do design)
- Decidindo se deve manter um sistema legado ou investir em migração
Princípios Fundamentais
Código É um Passivo
Cada linha de código tem um custo contínuo: precisa de testes, documentação, patches de segurança, atualizações de dependência e sobrecarga mental para qualquer pessoa trabalhando por perto. O valor do código é a funcionalidade que ele fornece, não o código em si. Quando a mesma funcionalidade pode ser fornecida com menos código, menos complexidade ou melhores abstrações — o código antigo deve ir.
A Lei de Hyrum Torna a Remoção Difícil
Com usuários suficientes, todo comportamento observável se torna dependente — incluindo bugs, peculiaridades de tempo e efeitos colaterais não documentados. É por isso que a depreciação requer migração ativa, não apenas um anúncio. Os usuários não podem "simplesmente mudar" quando dependem de comportamentos que a substituição não replica.
O Planejamento de Depreciação Começa no Momento do Design
Ao construir algo novo, pergunte: "Como removeríamos isso em 3 anos?" Sistemas projetados com interfaces limpas, flags de recursos e área de superfície mínima são mais fáceis de depreciar do que sistemas que vazam detalhes de implementação por toda parte.
A Decisão de Depreciação
Antes de depreciar qualquer coisa, responda a estas perguntas:
1. Does this system still provide unique value?
→ If yes, maintain it. If no, proceed.
2. How many users/consumers depend on it?
→ Quantify the migration scope.
3. Does a replacement exist?
→ If no, build the replacement first. Don't deprecate without an alternative.
4. What's the migration cost for each consumer?
→ If trivially automated, do it. If manual and high-effort, weigh against maintenance cost.
5. What's the ongoing maintenance cost of NOT deprecating?
→ Security risk, engineer time, opportunity cost of complexity.
Depreciação Obrigatória vs. Consultiva
| Tipo | Quando Usar | Mecanismo |
|---|---|---|
| Consultiva | A migração é opcional, o sistema antigo é estável | Avisos, documentação, incentivos. Os usuários migram em seu próprio cronograma. |
| Obrigatória | O sistema antigo tem problemas de segurança, bloqueia o progresso ou o custo de manutenção é insustentável | Prazo final rígido. O sistema antigo será removido na data X. Forneça ferramentas de migração. |
O padrão é consultivo. Use obrigatório apenas quando o custo de manutenção ou o risco justificar forçar a migração. A depreciação obrigatória requer o fornecimento de ferramentas de migração, documentação e suporte — você não pode simplesmente anunciar um prazo.
O Processo de Migração
Etapa 1: Construir a Substituição
Não deprecie sem uma alternativa funcional. A substituição deve:
- Cobrir todos os casos de uso críticos do sistema antigo
- Ter documentação e guias de migração
- Ser comprovada em produção (não apenas "teoricamente melhor")
Etapa 2: Anunciar e Documentar
## Deprecation Notice: OldService
**Status:** Deprecated as of 2025-03-01
**Replacement:** NewService (see migration guide below)
**Removal date:** Advisory — no hard deadline yet
**Reason:** OldService requires manual scaling and lacks observability.
NewService handles both automatically.
### Migration Guide
1. Replace `import { client } from 'old-service'` with `import { client } from 'new-service'`
2. Update configuration (see examples below)
3. Run the project-owned migration verification command documented in this guide. Do not execute an unknown package from the registry.
Etapa 3: Migrar Incrementalmente
Migre os consumidores um por um, não todos de uma vez. Para cada consumidor:
1. Identify all touchpoints with the deprecated system
2. Update to use the replacement
3. Verify behavior matches (tests, integration checks)
4. Remove references to the old system
5. Confirm no regressions
…
Perguntas frequentes
Por que remover código é importante?
Código antigo gera custos de manutenção, como correções de bugs, atualizações de segurança e dificuldade para novos programadores entenderem. Remover o que não é mais útil economiza recursos.
O que é a 'Lei de Hyrum'?
Essa lei diz que, com o tempo, até mesmo erros ou comportamentos inesperados de um sistema antigo podem se tornar dependências para os usuários. Por isso, a migração precisa ser cuidadosa e não apenas um aviso.
Devo avisar antes de remover algo?
Sim, sempre. É preciso anunciar a descontinuação, explicar o motivo, oferecer uma alternativa e guiar os usuários na transição. A remoção só deve ocorrer após a migração de todos.
Detalhes
Descrição original do autor
Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when deciding whether to maintain or sunset existing code.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2762
- 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
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