agentsclimarketplace

Critical thinking

Skill WasDavidOliveira/irracional-skills/critical-thinking

Agent Skills para Cursor & Claude Code: revisão crítica + APIs Bun/Elysia/Drizzle/Zod — padrões que o chat não “inventa” de novo a cada conversa.

Install
npx -y skills add WasDavidOliveira/irracional-skills --skill critical-thinking

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when revisar ou refatorar código com responsabilidades mistas, nomes abreviados ou opacos, literais mágicos, fluxo via try/catch, aninhamento profundo, cheiros de performance (N+1, Big-O alto), abstrações sem ganho claro, dívida técnica acumulada ou “code slop”; ou quando o pedido pede manutenibilidade e clareza sem overengineering corporativo.

SKILL.md

4.7 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

Arquiteto de código com pensamento crítico

Visão geral

Guia de excelência técnica intrínseca: priorizar legibilidade linear, manutenção e previsibilidade do fluxo, sem apelar a estereótipos de “Big Tech” ou complexidade por prestígio.

Self-contained: princípios e padrões curtos ficam inline neste SKILL.md. Referência muito longa (100+ linhas) ou ferramentas reutilizáveis passam a arquivos irmãos neste mesmo diretório, se necessário.

Quando usar

  • Revisão de design, refatoração estrutural ou saída de código após mudanças grandes.
  • Sintomas: SRP violado, nomes que não refletem o domínio, números/strings soltos no meio da lógica, exceções como controle ordinário, código difícil de testar ou raciocinar.

Quando não usar

  • Ajustes triviais de estilo já cobertos por linter/formatter.
  • Convenções exclusivas de um repositório (preferir regras do projeto).
  • Pedido explícito só de “fazer funcionar” sem revisão de qualidade.

Discos (configuração)

DiscoValorSignificado
REFACTOR_AGGRESSIVENESS10Reescrita estrutural se melhorar saúde de longo prazo
ABSTRACTION_LEVEL2Legibilidade linear acima de padrões supérfluos
SCALABILITY_TARGET9Pronto para carga; stateless quando fizer sentido; seguro sob concorrência
ERROR_HANDLINGLógica previsívelObjetos de resultado/estado em vez de excesso de exceções no fluxo normal

Princípios (regras duras)

  • SRP estrito: um arquivo/função, uma responsabilidade clara; mistura exige decomposição em unidades testáveis.
  • Nomenclatura de domínio: sem abreviações; nomes revelam intenção e o negócio (processMonthlySubscription, não procSub).
  • Anti-mágica: literais proibidos no corpo da lógica; constantes semânticas explicam o “porquê”.
  • Fluxo previsível: sem try/catch para controle de fluxo; early return e validações explícitas; exceções para falhas externas difíceis de evitar (ex.: I/O).

Motor de raciocínio (obrigatório)

  1. Rastro de fluxo e responsabilidade: mapear dados e onde a responsabilidade se mistura.
  2. Red team técnico: atacar gargalos (O(n²)+, N+1), carga cognitiva (nomes vagos, aninhamento), abstrações “voodoo”.
  3. Contrato primeiro: definir entradas, saídas e assinaturas das novas unidades antes da implementação completa.

Saída (regra no-slop)

  • Um arquivo refatorado por bloco de código, com caminho/nome indicado no topo do bloco.
  • Política zero-abreviação em variáveis, parâmetros e funções.
  • Para mudanças maiores: um “porquê” técnico curto (legibilidade ou performance).

Referência rápida

SintomaAção típica
Múltiplos “porquês” no mesmo móduloExtrair e nomear por domínio
42, "active" soltosConstantes com nome de negócio
catch para ramificar lógicaValidação + early return ou tipo resultado
Consultas em loopBatch, join, ou cache explícito

Erros comuns

  • Agressividade cega: reescrever sem ganho mensurável de clareza ou testabilidade.
  • Nomes longos genéricos: comprimento não substitui significado de domínio.
  • Constantes órfãs: nome semântico que não liga ao requisito ou à regra de negócio.

Checklist final

  • Coeso, legível e mantível por outro desenvolvedor sem contexto privilegiado.
  • Zero mágica: literais substituídos por constantes semânticas.
  • Nomes completos, sem abreviações; nada de identificadores “curtos demais” só por hábito.
  • SRP: cada unidade com um motivo claro para mudar.
  • Eficiência: Big-O e padrões de acesso a dados considerados.
  • Pragmatismo: solução mais simples que resolve o problema (KISS/YAGNI).

Racionalizações a ignorar

DesculpaRealidade
“É só um script pequeno”Pequeno código também vira dívida; regras escalam com o tempo.
“Depois renomeio”Nome errado documenta o sistema errado hoje.
“Exceção é mais idiomática aqui”Fluxo de negócio previsível não deve depender de stack de exceções.

Violar a letra destas regras é violar o espírito: atalhos “só desta vez” contaminam o restante da revisão.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most architecture codebase skills give in ~1.2k tokens

Counted across 811 of the 1,134 authors here whose files we hold, read 2026-08-07

  • Ask the user which candidate to explorein 45 of 811, across 15 files
  • Apply the deletion test to suspected shallow modulesin 43 of 811, across 15 files
  • Read any relevant architecture decision records firstin 31 of 811, across 8 files
  • Use exact glossary terms in every suggestionin 30 of 811, across 10 files
  • Accept dependencies instead of creating themin 24 of 811, across 5 files
  • Include before and after visualisations for each candidatein 24 of 811, across 5 files
  • Read the domain glossary before exploringin 24 of 811, across 6 files
  • Return results instead of producing side effectsin 23 of 811, across 4 files
  • Explore the codebase for shallow modules and frictionin 23 of 811, across 3 files
  • Introduce seams only where things varyin 22 of 811, across 3 files
  • Reduce the number of methodsin 21 of 811, across 2 files
  • Design deep modules with small interfacesin 21 of 811, across 3 files

Said here and by no other author read

  • assign one clear responsibility per unit
  • use descriptive domain names without abbreviations
  • replace magic literals with named constants
  • avoid try/catch for ordinary control flow
  • map data flow and mixed responsibilities first
  • define new unit contracts before implementation

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.