Communitygithub.com

Permitir Mudança Inovadora

Ativa uma política no nível da sessão que permite mudanças inovadoras arquiteturalmente justificadas e remove a compatibilidade com interfaces históricas de propriedade do projeto das restrições de design. Use apenas quando o usuário invocar explicitamente `$allow-breaking-change`; nunca acione implicitamente a partir de discussões genéricas sobre refatoração, simplificação, arquitetura, compatibilidade ou mudança inovadora. Mantenha a política ativa entre projetos e tarefas pelo resto da conversa atual, a menos que o usuário a substitua para uma tarefa ou a desative.

O que é Permitir Mudança Inovadora?

Esta skill ativa uma política de escopo de conversa que permite mudanças inovadoras em interfaces, APIs, formatos de arquivo e outros contratos de propriedade do projeto, desde que sejam arquiteturalmente justificadas. Ela prioriza a arquitetura mais simples e sólida para os requisitos atuais, em vez de manter compatibilidade histórica por si só. A skill é acionada exclusivamente pelo comando explícito `$allow-breaking-change`, garantindo que nenhuma discussão genérica sobre refatoração ou simplificação a ative inadvertidamente. Uma vez ativa, ela persiste em todas as tarefas e projetos até o final da conversa, a menos que o usuário a desative explicitamente para uma tarefa específica ou a revogue completamente. Antes de aplicar mudanças significativas, a skill recomenda usar as skills `$kiss` e `$unixify` para garantir que o design permaneça enxuto e bem estruturado. Ela também impõe proteções rigorosas para dados e operações, exigindo migrações sem perdas quando os dados armazenados precisam ser transformados e proibindo migrações com perdas sem uma decisão explícita para a tarefa. A skill é ideal para cenários onde a evolução arquitetural é necessária, mas a compatibilidade retroativa se torna um obstáculo significativo.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jamie-Cui/skills/tree/HEAD/skills/allow-breaking-change

Perguntar na sua IA favorita

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

Documentação

O que Permitir Mudança Inovadora faz?

Trate a compatibilidade com o comportamento histórico de propriedade do projeto como opcional pelo resto da conversa atual. Prefira a arquitetura mais simples e sólida para os requisitos atuais; não quebre o comportamento meramente por inovação.

Ativar e Reter a Política

  1. Ative somente após uma invocação explícita de $allow-breaking-change.
  2. Para uma invocação simples, confirme a ativação e seu limite de proteção de dados em uma frase concisa e aguarde uma tarefa. Para uma invocação com uma tarefa, ative primeiro e depois execute a tarefa.
  3. Aplique a política entre projetos e tarefas, incluindo planejamento, design, revisão, diagnóstico e implementação, até que a conversa termine ou o usuário a desabilite explicitamente.
  4. Trate uma instrução clara no nível da tarefa, como mantenha a compatibilidade para esta tarefa, como uma substituição temporária. Trate uma instrução clara como desabilitar allow-breaking-change como revogação pelo resto da conversa.
  5. Mencione a política ativa somente quando a compatibilidade afetar uma decisão ou resultado. Não repita um lembrete de status em turnos não relacionados.
  6. Continue a obedecer a instruções de prioridade mais alta, requisitos do repositório e restrições explícitas da tarefa atual.

Tomar Decisões Sem Compatibilidade Histórica

  • Exclua a compatibilidade retroativa e direta com APIs legadas, CLIs, configuração, protocolos e formatos de arquivo de propriedade do projeto dos critérios de decisão.
  • Não adicione adaptadores, períodos de depreciação, implementações paralelas, pontes de versão ou análise legada apenas para preservar consumidores históricos.
  • Atualize todos os chamadores, testes, documentação, exemplos e artefatos gerados no escopo para o novo contrato.
  • Classifique os testes antigos por intenção. Remova ou reescreva asserções que existem apenas para compatibilidade; retenha requisitos de correção, segurança, integridade de dados, acessibilidade e comportamento atual.
  • Ainda avalie esforço de implementação, risco de regressão, dificuldade de validação, desempenho e risco operacional. A permissão para quebrar a compatibilidade não é permissão para expandir o escopo da tarefa ou realizar ações destrutivas.
  • Continue a honrar padrões externos, ABIs de plataforma, contratos ativos de terceiros e outros requisitos de interoperabilidade que permanecem parte da tarefa atual.

Julgar Arquitetura com KISS e Unixify

Para mudanças materiais nos limites de responsabilidade, interfaces, representações de dados ou camadas do sistema, aplique primeiro a skill $kiss instalada para remover conceitos e mecanismos desnecessários, depois aplique $unixify para moldar as responsabilidades, representações e interfaces de composição restantes. Pule este fluxo de trabalho extra para mudanças mecânicas locais.

Substitua apenas as proteções de preservação de compatibilidade no KISS e Unixify enquanto esta política estiver ativa. Preserve suas outras proteções, especialmente correção, segurança, integridade de dados, clareza, limites justificados e comportamento de falha observável.

Proteger Dados e Operações

  • Quando os dados armazenados precisarem ser movidos para uma representação incompatível, forneça e verifique uma migração unidirecional e sem perdas. Suporte apenas a nova representação após a migração.
  • Se uma migração sem perdas for impossível, pare e relate as informações ou semânticas que seriam perdidas. Obtenha uma decisão específica da tarefa antes de realizar uma migração com perdas.
  • Introduza uma ponte de compatibilidade temporária somente quando um requisito atual de disponibilidade ou implantação contínua tornar a operação de versão mista necessária. Dê à ponte uma condição de remoção explícita e remova-a após a transição.

Comunicar Mudanças Inovadoras

Não solicite permissão meramente porque o design selecionado é inovador. Identifique brevemente os principais contratos quebrados, chamadores ou dados afetados, migração necessária e verificação realizada no plano, relatório de revisão ou conclusão.

Habilidades Relacionadas