understand
Faz seu agente analisar um projeto de código. Ele cria um mapa interativo para entender a estrutura, os componentes e suas conexões.
O que ela faz
Esta ferramenta analisa o código de um projeto para criar um mapa visual interativo. Ele ajuda a entender como as diferentes partes do código se conectam e funcionam juntas.
Quando usar
- ✓Ao iniciar um novo projeto para entender sua estrutura.
- ✓Ao depurar um problema em uma parte desconhecida do código.
- ✓Ao revisar o código de outra pessoa.
Exemplo do que pedir para a IA
“Analise o código deste projeto e crie um gráfico de conhecimento.”
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
A ferramenta lê todos os arquivos de código, identifica os componentes e suas relações, e gera um arquivo especial (`knowledge-graph.json`) que pode ser visualizado em um painel interativo.
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 Egonex-AI/Understand-Anything --skill understandOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/understand-anything-plugin/skills/understand/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.
/understand
Analisa a base de código atual e produz um arquivo knowledge-graph.json no diretório de dados do projeto (.ua/, ou o legado .understand-anything/ quando ele já existe). Este arquivo alimenta o painel interativo para explorar a arquitetura do projeto.
Opções
$ARGUMENTSpode conter:--full— Força uma reconstrução completa, ignorando qualquer grafo existente--auto-update— Habilita atualizações automáticas do grafo no commit (escreveautoUpdate: truepara$UA_DIR/config.json)--no-auto-update— Desabilita atualizações automáticas do grafo (escreveautoUpdate: falsepara$UA_DIR/config.json)--review— Executa o revisor de grafo LLM completo em vez da validação determinística inline--language <lang>— Gera todo o conteúdo textual (resumos, descrições, tags, títulos, languageNotes, languageLesson) no idioma especificado. Aceita códigos ISO 639-1 (zh,ja,ko,en,es,fr,de, etc.) ou nomes amigáveis (chinese,japanese,korean,english,spanish, etc.). Variantes de localidade suportadas:zh-TW,zh-HK, etc. O padrão éen(Inglês). Armazena a preferência em$UA_DIR/config.jsonpara consistência em atualizações incrementais.--exclude <patterns>— Padrões glob de vírgula para arquivos/diretórios adicionais a serem excluídos da análise (por exemplo,--exclude "tests/*,docs/*"). Esses padrões têm a maior prioridade sobre os padrões internos e as regras.understandignore. Suporta sintaxe gitignore, incluindo negação!.- Um caminho de diretório (por exemplo,
/path/to/repoou../other-project) — Analisa o diretório fornecido em vez do diretório de trabalho atual
Relatório de Progresso
Ao longo da execução, relate o progresso ao usuário em cada transição de fase e durante o processamento em lote. Isso mantém os usuários informados sobre bases de código grandes onde a análise pode levar muito tempo.
Transições de fase: No início de cada fase, imprima uma linha de status:
[Phase N/7] <phase name>...Exemplo:
[Phase 2/7] Analyzing files (12 batches)...Progresso em lote: Durante a Fase 2, relate cada lote com seu índice e total:
Analyzing batch X/N (files: foo.ts, bar.ts, ...)(liste até 3 nomes de arquivo, depois...se houver mais)Conclusão da fase: Quando uma fase terminar, confirme brevemente:
Phase N complete. <one-line summary of result>Exemplo:
Phase 1 complete. Found 247 files across 3 languages.
Fase 0 — Pré-voo
Determine se deve executar uma análise completa ou uma atualização incremental.
- Resolver
PROJECT_ROOT:Analise
$ARGUMENTSem busca de um token que não seja uma flag (qualquer argumento que não comece com--). Se encontrado, trate-o como o caminho do diretório de destino.- Se o caminho for relativo, resolva-o em relação ao diretório de trabalho atual.
- Verifique se o caminho resolvido existe e é um diretório (execute
test -d <path>). Se não existir ou não for um diretório, relate um erro ao usuário e PARE. - Defina
PROJECT_ROOTpara o caminho absoluto resolvido.
Se nenhum argumento de caminho de diretório for encontrado, defina
PROJECT_ROOTpara o diretório de trabalho atual.Redirecionamento de worktree. Se
PROJECT_ROOTestiver dentro de um worktree git (não o checkout principal), redirecione a saída para a raiz do repositório principal. Worktrees gerenciados pelo Claude Code são efêmeros — o diretório de dados (.ua/, ou o legado.understand-anything/) escrito lá é destruído quando a sessão termina, levando o grafo de conhecimento com ele (issue #133). Detecte um worktree comparandogit rev-parse --git-dircomgit rev-parse --git-common-dir; em um checkout normal ou submódulo, eles se resolvem para o mesmo caminho, em um worktree eles diferem e o pai de--git-common-diré a raiz do repositório principal.COMMON_DIR=$(git -C "$PROJECT_ROOT" rev-parse --git-common-dir 2>/dev/null) GIT_DIR=$(git -C "$PROJECT_ROOT" rev-parse --git-dir 2>/dev/null) if [ -n "$COMMON_DIR" ] && [ -n "$GIT_DIR" ]; then COMMON_ABS=$(cd "$PROJECT_ROOT" && cd "$COMMON_DIR" 2>/dev/null && pwd -P) GIT_ABS=$(cd "$PROJECT_ROOT" && cd "$GIT_DIR" 2>/dev/null && pwd -P) if [ -n "$COMMON_ABS" ] && [ "$COMMON_ABS" != "$GIT_ABS" ]; then MAIN_ROOT=$(dirname "$COMMON_ABS") if [ -d "$MAIN_ROOT" ] && [ "${UNDERSTAND_NO_WORKTREE_REDIRECT:-0}" != "1" ]; then echo "[understand] Detected git worktree at $PROJECT_ROOT" echo "[understand] Redirecting output to main repo root: $MAIN_ROOT" echo "[understand] (Set UNDERSTAND_NO_WORKTREE_REDIRECT=1 to keep PROJECT_ROOT as the worktree.)"
…
Perguntas frequentes
O que é um 'gráfico de conhecimento'?
É uma representação visual que mostra as partes do seu código (componentes) e como elas se ligam umas às outras, como um mapa.
Posso escolher o idioma das descrições no gráfico?
Sim, você pode especificar um idioma usando a opção `--language` seguida do nome ou código do idioma (por exemplo, `--language portuguese` ou `--language pt`).
O que acontece se o código mudar?
Você pode pedir para a ferramenta analisar novamente. Existe uma opção (`--auto-update`) para que ela atualize o gráfico automaticamente sempre que você salvar mudanças no código.
Detalhes
Descrição original do autor
Analyze a codebase to produce an interactive knowledge graph for understanding architecture, components, and relationships
Popularidade
- Estrelas no GitHub
- 87 mil
- Posição no ranking
- #848
- Licença
- MIT
- Atualizada em
- 12/10/2026
Comentários
- …
Mais skills deste repositório
understand-chat
Faz seu agente entender e explicar bases de código. É útil para analisar código existente ou responder perguntas sobre como um programa funciona.
Egonex-AI/Understand-Anything
understand-dashboard
Ajuda seu agente a ver como um projeto de código está organizado. Ele cria um mapa interativo para entender as partes e como elas se conectam.
Egonex-AI/Understand-Anything
understand-diff
Permite que seu agente analise mudanças em códigos. Ele ajuda a entender o que foi alterado, quais partes foram afetadas e os riscos.
Egonex-AI/Understand-Anything
understand-domain
Faz seu agente extrair o conhecimento de negócios de um código. Ele gera um gráfico que mostra o fluxo de como as coisas funcionam.
Egonex-AI/Understand-Anything
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