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.
O que ela faz
Esta ferramenta analisa o código do seu projeto para entender como as diferentes partes se conectam e como funcionam juntas. Ela cria um mapa visual mostrando os fluxos de trabalho e processos do seu negócio.
Quando usar
- ✓Ao iniciar um novo projeto para entender a estrutura.
- ✓Ao revisar o código de outra pessoa.
- ✓Para documentar processos complexos.
Exemplo do que pedir para a IA
“Entenda o fluxo do meu projeto e crie um gráfico.”
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
Ela verifica seus arquivos de código para encontrar informações sobre o negócio. Se já existir um mapa anterior, ela o atualiza; caso contrário, faz uma análise rápida dos arquivos.
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 understand-domainOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/understand-anything-plugin/skills/understand-domain/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-domain
Extrai conhecimento do domínio de negócios — domínios, fluxos de negócios e etapas de processo — de uma base de código e produz um gráfico de fluxo horizontal interativo no painel.
Como Funciona
- Se um grafo de conhecimento já existir (
.ua/knowledge-graph.json, ou o legado.understand-anything/knowledge-graph.jsonquando esse diretório estiver presente), deriva o conhecimento do domínio dele (barato, sem varredura de arquivos) - Se nenhum grafo de conhecimento existir, realiza uma varredura leve: árvore de arquivos + detecção de ponto de entrada + arquivos amostrados
- Use o sinalizador
--fullpara forçar uma nova varredura, mesmo que um grafo de conhecimento exista
Instruções
Fase 0: Resolver PROJECT_ROOT
Defina PROJECT_ROOT para o diretório de trabalho atual.
Redirecionamento de Worktree. Se PROJECT_ROOT estiver 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/) gravado lá é destruído quando a sessão termina, levando o grafo de domínio com ele (issue #133). Detecte um worktree comparando git rev-parse --git-dir com git 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-domain] Detected git worktree at $PROJECT_ROOT"
echo "[understand-domain] Redirecting output to main repo root: $MAIN_ROOT"
echo "[understand-domain] (Set UNDERSTAND_NO_WORKTREE_REDIRECT=1 to keep PROJECT_ROOT as the worktree.)"
PROJECT_ROOT="$MAIN_ROOT"
fi
fi
fi
Use $PROJECT_ROOT (não o CWD nu) para cada referência a "o projeto atual" / <project-root> nas fases subsequentes.
Resolver o diretório de dados $UA_DIR. Todos os artefatos do Understand-Anything vivem no diretório de dados do projeto. Resolva-o uma vez, agora que $PROJECT_ROOT é conhecido, e reutilize $UA_DIR para cada leitura e escrita nas fases posteriores:
UA_DIR="$PROJECT_ROOT/$([ -d "$PROJECT_ROOT/.understand-anything" ] && echo .understand-anything || echo .ua)"
Isso mantém o diretório legado .understand-anything/ quando ele já existe (projetos existentes continuam funcionando sem migração) e usa o novo .ua/ caso contrário. Como cada fase pode ser executada em um shell novo, leve $UA_DIR adiante como $PROJECT_ROOT, resolvendo-o novamente com a linha acima se um bloco de comando posterior precisar dele.
Importante: não assuma que a raiz do plugin é simplesmente dois diretórios acima da string do caminho da skill. Em muitas instalações, ~/.agents/skills/understand-domain é um link simbólico para o checkout real do plugin. Prefira raízes de plugin fornecidas em tempo de execução primeiro (para Claude), depois recorra a links simbólicos universais, resolução de links simbólicos de skill e caminhos de instalação comuns baseados em clone.
Resolva a raiz do plugin assim:
SKILL_REAL=$(realpath ~/.agents/skills/understand-domain 2>/dev/null || readlink -f ~/.agents/skills/understand-domain 2>/dev/null || echo "")
SELF_RELATIVE=$([ -n "$SKILL_REAL" ] && cd "$SKILL_REAL/../.." 2>/dev/null && pwd || echo "")
COPILOT_SKILL_REAL=$(realpath ~/.copilot/skills/understand-domain 2>/dev/null || readlink -f ~/.copilot/skills/understand-domain 2>/dev/null || echo "")
COPILOT_SELF_RELATIVE=$([ -n "$COPILOT_SKILL_REAL" ] && cd "$COPILOT_SKILL_REAL/../.." 2>/dev/null && pwd || echo "")
PLUGIN_ROOT=""
for candidate in \
"${CLAUDE_PLUGIN_ROOT}" \
"$HOME/.understand-anything-plugin" \
"$SELF_RELATIVE" \
"$COPILOT_SELF_RELATIVE" \
"$HOME/.codex/understand-anything/understand-anything-plugin" \
"$HOME/.opencode/understand-anything/understand-anything-plugin" \
"$HOME/.pi/understand-anything/understand-anything-plugin" \
"$HOME/understand-anything/understand-anything-plugin"; do
if [ -n "$candidate" ] && [ -f "$candidate/package.json" ] && [ -f "$candidate/pnpm-workspace.yaml" ]; then
PLUGIN_ROOT="$candidate"
break
fi
done
if [ -z "$PLUGIN_ROOT" ]; then
…
Perguntas frequentes
O que é um 'knowledge graph'?
É um mapa que guarda o conhecimento extraído do seu código, como os fluxos de trabalho e processos.
Preciso instalar algo extra?
A ferramenta tenta encontrar a instalação do plugin automaticamente. Se não achar, pode ser necessário verificar a instalação.
O que acontece se meu código estiver em um 'worktree' do Git?
A ferramenta detecta isso e salva o mapa no repositório principal para não ser perdido quando a sessão terminar.
Detalhes
Descrição original do autor
Extract business domain knowledge from a codebase and generate an interactive domain flow graph. Works standalone (lightweight scan) or derives from an existing /understand knowledge graph.
Popularidade
- Estrelas no GitHub
- 87 mil
- Posição no ranking
- #843
- 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-explain
Ajuda seu agente a explicar partes específicas de um código. Ele fornece detalhes sobre um arquivo, função ou módulo.
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