Communitygithub.com

clanker25/diagrama

Use o menor recurso visual quando a prosa precisar carregar estrutura — fluxo de controle, profundidade de chamada, propriedade de módulos ou forma de mudança: pseudocódigo, árvore de chamadas, árvore de componentes/arquivos, diagrama Mermaid ou diff. Pule quando a prosa já responde à pergunta.

O que é diagrama?

Esta skill orienta um agente de IA a usar diagramas de forma mínima e eficaz, evitando decoração visual desnecessária. Ela define um vocabulário de seis tipos de visualizações — pseudocódigo, árvore de chamadas, árvore de componentes, árvore de arquivos, diagrama Mermaid e diff — cada um adequado para um propósito específico, como lógica de controle, fluxo de execução, estrutura de UI ou responsabilidades de diretório. A skill enfatiza que cada visual deve ser colocado junto ao texto que suporta, carregando apenas os elementos que respondem à pergunta atual, sem sobrecarregar o leitor. Para conceitos muito densos para Mermaid, permite gerar um único arquivo HTML estilizado (diagrama, infográfico ou slides) e abri-lo com o comando da plataforma (start, open, xdg-open). Funciona em qualquer plataforma que suporte Claude Code, Cursor, Codex ou ferramentas similares, garantindo que o agente escolha a vista mais enxuta e evite ruído visual.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clanker25/oh-my-claudecode/tree/HEAD/skills/diagram

Perguntar na sua IA favorita

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

Documentação

Diagramas têm função estrutural, não são decoração. Recorra a um apenas quando a prosa força o leitor a manter uma forma inteira na cabeça de uma só vez — então escolha a menor vista que permita enxergar a forma em vez de reconstruí-la a partir de frases. Tudo aqui é renderizado na conversa como blocos de texto ou Mermaid; no máximo um único arquivo de artefato é escrito.

O vocabulário

Escolha uma vista; no máximo duas. Mais que isso é ruído.

Pseudocódigo — lógica sem o ruído da linguagem. Reduz uma decisão à sua forma de ramificação:

on(request)
  if state file locked by another writer
    queue and return pending
  acquire lock
  write
  release

Árvore de chamadas — fluxo de controle em tempo de execução. A profundidade mostra quem detém o fluxo; anote onde está a aresta interessante:

acquireStateFileLockSync()
  resolveLockPath()
  openExclusive()
  writePid()

Árvore de componentes — estrutura de UI ou módulos, com os limites relevantes anotados inline:

<SettingsPage> (src/routes/settings)
  <SessionList> (faz seus próprios fetches)
  <DangerZone>
    <ConfirmButton> (desabilitado até confirmação digitada)

Árvore de arquivos — onde vive a responsabilidade; mantenha rasa, uma anotação por diretório:

src/
├── hooks/        # registro de hooks + tipos
├── tools/        # manipuladores de ferramentas MCP
└── workflow/     # registro + projeções

Mermaid — interação entre partes, fluxo de dados ou transições de estado:

sequenceDiagram
    participant CLI
    participant Hook
    participant State
    CLI->>Hook: PreToolUse
    Hook->>State: read mode
    Hook-->>CLI: allow / deny + facts

Diff — a forma de uma mudança quando a estrutura circundante já existe. Combine o diff com o tópico:

uma mudança em componente:

 <SettingsPage>
   <SessionList />
   <DangerZone>
+    <ConfirmButton />
   </DangerZone>

uma mudança na estrutura de arquivos:

 src/tools/
-└── state-tools.ts
+└── state-tools/
+   ├── handlers.ts
+   └── schema.ts

uma mudança no fluxo de controle:

 commit()
   stage()
     hashBlobs()
+  writeObject()
   updateRef()
+    acquireStateFileLock()

uma mudança em máquina de estados:

 on(request)
-  write immediately
+  if locked
+    queue and return pending
+  acquire lock
+  write
+  release

O bloco completo — quando a omissão esconderia quem é dono do quê ou a ordem de execução, mostre a unidade completa uma vez, copiável:

export function isRegistryEnabled(): boolean {
  const flag = process.env.OMC_WORKFLOW_REGISTRY;
  return flag !== '0' && flag !== 'false';
}

Quando o texto não basta

Um layout de UI, uma comparação antes/depois ou um conceito denso demais para Mermaid: escreva um único arquivo HTML focado — um diagrama, um infográfico ou alguns slides — estilizado com as cores, tipo e componentes do próprio produto, preenchido com rótulos e dados reais, funcionando em desktop e mobile. Abra-o com o abridor da plataforma (start no Windows, open no macOS, xdg-open no Linux) e pare por aí: um artefato, não uma galeria.

Disciplina

  • Coloque cada visual diretamente ao lado das duas ou três frases que ele suporta.
  • Carregue apenas as chamadas, arquivos, props, estados e limites que respondem à pergunta atual — cada nó extra é um imposto de decodificação para o leitor.
  • Se a resposta honesta couber em uma frase, escreva a frase.

Habilidades Relacionadas