Communitygithub.com

parẹ́

Habilidades de engenharia de agentes para simplificação e revisão de sistemas de software.

O que é parẹ́?

O parẹ́ é um conjunto de habilidades para agentes de IA focado na simplificação de sistemas de software por meio de eliminação direta, propriedade local, módulos profundos e capacidade nativa, seguindo os princípios YAGNI. Ele suporta dois modos principais: `audit`, para uma auditoria de simplificação somente leitura de um subsistema ou sistema inteiro, e `review`, para revisar uma única alteração de código candidata, também somente leitura. O agente coleta evidências do sistema atual, como consumidores, configuração, histórico e dependências, seguindo uma 'escada de simplificação' que prioriza eliminação, reuso, derivação, localização e redução, sem recomendar extrações desnecessárias. As conclusões são relatadas com tags específicas (como `delete`, `native`, `yagni`) e incluem risco, prova e confiança, mas o agente nunca executa mutações ou testes – ele apenas identifica oportunidades de simplificação com base em evidências concretas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add quantipixels/skills

Perguntar na sua IA favorita

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

Documentação

O que parẹ́ faz?

Prefira eliminação, estado direto, propriedade local, módulos profundos, capacidade nativa e YAGNI. Rejeite complexidade realocada.

Modos:

  • audit — auditoria de simplificação de sistema/subsistema de software delimitado; somente leitura; sem testes/compilações.
  • review — um candidato de software fixo; somente leitura; sem provedor/veredito.

Mantenha vereditos de defeitos/paridade de estado, implementação e arquitetura técnica fora deste resultado de simplificação somente leitura.

Evidência

Fixe o sistema/candidato de software, linha de base, instruções e exclusões. Inspecione apenas os consumidores atuais, implementação/configuração, histórico, alcançabilidade gerada/framework e evidências nativas do sistema necessárias para distinguir alegações de simplificação materiais. A ausência de busca ou ferramenta nunca é prova de exclusão por si só, e a saída de ferramenta/métrica é evidência, não o veredito de simplificação.

Quando controle de fluxo/espaço de estado/aninhamento/fan-out/ciclo de vida/complexidade/volume de teste controlar materialmente a investigação, leia complexidade e prova. Quando padrões recorrentes de manutenibilidade/propriedade forem materiais, leia padrões de manutenibilidade. Padrões e métricas são sinais, nunca conclusões.

Escada de simplificação

Pegue a primeira redução sólida após entender o fluxo real/consumidores/contratos:

  1. Eliminar — o mecanismo não precisa existir, ou um elemento existente não tem comportamento, contrato, consumidor ou proprietário exigido.
  2. Reutilizar — capacidade de implementação/sistema atual → stdlib/framework/plataforma → dependência/ferramenta instalada.
  3. Derivar — eliminar estado armazenado/duplicado preservando tempo/propriedade/custo.
  4. Localizar — colocar política/estado com seu proprietário real/módulo profundo.
  5. Encolher — mecanismo direto mínimo; sem variação especulativa.

Não recomende extração/indireção meramente porque um arquivo/função é grande ou uma pontuação é alta. Uma nova abstração não é simplificação a menos que remova carga semântica líquida e possua uma variação atual ou limite independentemente real.

Auditoria

Inventarie subsistemas de fonte, ponto de entrada, compilação, teste, ferramentas, plataforma, tempo de execução/configuração e gerados que não se sobrepõem. Classifique artefatos de implementação/dependências/config/suporte como reter | seguro-para-excluir | bloqueado. Execute passes separados de exclusão, representação, propriedade, algoritmo, complexidade-quando-material e prova.

A segurança de exclusão requer mais do que ausência de busca: verifique chamadores, alcançabilidade dinâmica/framework/gerada, config/dados, compilações, consumidores, histórico, contratos e proprietários de prova. Preserve contratos públicos/segurança/integridade de dados/concorrência/recuperação/adaptador/tempo de execução/interação/acessibilidade quando não existir proprietário completo mais forte.

Audite testes pelo valor de contrato durável, não por contagem/cobertura. Um teste é candidato a simplificação quando a evidência mostra que ele não pode falsificar independentemente um contrato material, recalcula/espelha lógica de produção, verifica mocks/coreografia em vez de comportamento, protege estrutura privada, testa comportamento de framework/biblioteca que o projeto não possui, duplica prova mais forte, requer scaffolding desproporcional ou sobrevive apenas como histórico de construção. Não recomende exclusão quando o teste protege exclusivamente um invariante estável material, mesmo que sua implementação seja pequena.

Classifique reduções materiais por impacto/risco/esforço/dependência e expresse fatias de implementação; não as execute. Quando conhecimento disperso de chamadores, camadas de encaminhamento, política duplicada ou junções rasas indicarem uma oportunidade de aprofundamento, identifique a responsabilidade mal colocada e o ônus do chamador. Se selecionar o módulo/interface/união de substituição for em si uma questão arquitetural consequente, use architect em vez de projetar a substituição dentro de pare.

Revisão

Fixe o candidato fornecido; caso contrário, use o limite de alteração atual exato. Verifique coesão, acoplamento, reuso, YAGNI, vocabulário, estado inválido/duplicado, propriedade, profundidade, prova e complexidade semântica material.

Verifique também:

  • deriva do envelope de alteração: subsistemas/arquivos/contratos tocados que não têm uma razão concisa de comportamento solicitado ou prova;
  • expansão de escopo por meio de novas dependências, implementações paralelas, caminhos de compatibilidade, abstrações especulativas ou limpeza não relacionada;
  • arquitetura de produção introduzida principalmente para testabilidade sem um limite de produção independentemente real;
  • maquinário de caso extremo que poderia desaparecer ao eliminar/fortalecer o estado causal ou proprietário; e
  • testes duráveis contra união estável, oráculo independente, falseabilidade, prova existente mais forte e ônus de manutenção.

Trate testes aprovados, cobertura, redução de contagem de linhas ou pontuações de ferramentas como apenas evidência. Código demonstravelmente morto ou redundante pode ser apresentado como recomendação de limpeza quando a remoção segura for apoiada por evidências; sua mera presença não é uma conclusão bloqueadora. Encaminhe possíveis defeitos para atunwo; vocabulário conflitante de projeto/domínio para amose. Quando uma conclusão de simplificação material exigir um novo projeto consequential de módulo/interface/união, deixe essa forma técnica para architect e retenha apenas a necessidade de simplificação apoiada por evidências aqui.

Quando uma simplificação deliberada tiver um teto/gatilho de revisão documentado, preserve-a se a evidência atual a apoiar. Uma limitação deliberada material sem gatilho de revisão observável é uma preocupação de manutenibilidade, não uma razão para fabricar um sistema de dívida separado.

Conclusões

Use tags como delete, native, yagni, state, owner, scope, test, shrink, proof e relate:

<tag> <custo/consequência>. <forma menor>. [local]
Risco: <risco material>
Prova: <evidência / futuro proprietário de prova>
Confiança: <nível>

Re-verifique identidade, alcançabilidade, propriedade, prova, migração e estado relevante do espaço de trabalho antes de recomendar. Declare verificação/autoridade futura sem executar testes/compilações ou sofrer mutação.

Retorne escopo/identidade, reduções classificadas, contratos retidos, proprietários de prova, bloqueadores, fatias de implementação, autoridade de execução exigida, verificação futura e risco residual.

Habilidades Relacionadas