understand-chat
Use when you need to ask questions about a codebase or understand code using a knowledge graph
Launch the interactive web dashboard to visualize a codebase's knowledge graph
Claude Code
$ npx -y skills add Egonex-AI/Understand-Anything --skill understand-dashboard --agent claude-code
Codex
$ npx skills add Egonex-AI/Understand-Anything --skill understand-dashboard -a codex -y
Cursor
$ npx skills add Egonex-AI/Understand-Anything --skill understand-dashboard -a cursor -y
Gemini CLI
$ npx skills add Egonex-AI/Understand-Anything --skill understand-dashboard -a gemini-cli -y
GitHub Copilot
$ npx skills add Egonex-AI/Understand-Anything --skill understand-dashboard -a github-copilot -y
OpenCode
$ npx skills add Egonex-AI/Understand-Anything --skill understand-dashboard -a opencode -y
Windsurf
$ npx skills add Egonex-AI/Understand-Anything --skill understand-dashboard -a windsurf -y
name: understand-dashboard description: Launch the interactive web dashboard to visualize a codebase's knowledge graph argument-hint: "[project-path]"
Start the Understand Anything dashboard to visualize the knowledge graph for the current project.
1. Determine the project directory and data directory:
Use the Bash tool to resolve:
PROJECT_ARG="$ARGUMENTS"
if [ -n "$PROJECT_ARG" ]; then
PROJECT_DIR=$(cd "$PROJECT_ARG" 2>/dev/null && pwd -P)
else
PROJECT_DIR=$(pwd -P)
fi
if [ -z "$PROJECT_DIR" ] || [ ! -d "$PROJECT_DIR" ]; then
echo "Error: Project directory not found: ${PROJECT_ARG:-$PWD}"
exit 1
fi
if [ -d "$PROJECT_DIR/.understand-anything" ]; then
UA_DIR="$PROJECT_DIR/.understand-anything"
else
UA_DIR="$PROJECT_DIR/.ua"
fi2. Check that `$UA_DIR/knowledge-graph.json` exists in the project directory. If not, tell the user:
No knowledge graph found. Run /understand first to analyze this project.
Use the Bash tool to check:
if [ ! -f "$UA_DIR/knowledge-graph.json" ]; then
echo "No knowledge graph found. Run /understand first to analyze this project."
exit 1
fi3. Find the dashboard code. The dashboard is at `packages/dashboard/` relative to this plugin's root directory. Check these paths in order and use the first that exists:
Use the Bash tool to resolve:
SKILL_DIR_RELATIVE=$(cd -P "<SKILL_DIR>" 2>/dev/null && cd ../.. && pwd || echo "")
SKILL_REAL=$(realpath ~/.agents/skills/understand-dashboard 2>/dev/null || readlink -f ~/.agents/skills/understand-dashboard 2>/dev/null || echo "")
SELF_RELATIVE=$([ -n "$SKILL_REAL" ] && cd "$SKILL_REAL/../.." 2>/dev/null && pwd || echo "")
COPILOT_SKILL_REAL=$(realpath ~/.copilot/skills/understand-dashboard 2>/dev/null || readlink -f ~/.copilot/skills/understand-dashboard 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}" \
"${DEVIN_PLUGIN_ROOT}" \
"$SKILL_DIR_RELATIVE" \
"$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" ] && [ -d "$candidate/packages/dashboard" ]; then
PLUGIN_ROOT="$candidate"; break
fi
done
if [ -z "$PLUGIN_ROOT" ]; then
echo "Error: Cannot find the understand-anything plugin root."
echo "Checked:"
echo " - ${CLAUDE_PLUGIN_ROOT:-<unset CLAUDE_PLUGIN_ROOT>}"
echo " - ${DEVIN_PLUGIN_ROOT:-<unset DEVIN_PLUGIN_ROOT>}"
echo " - ${SKILL_DIR_RELATIVE:-<unresolved path derived from the skill directory>}"
echo " - $HOME/.understand-anything-plugin"
echo " - ${SELF_RELATIVE:-<unresolved path derived from ~/.agents/skills/understand-dashboard>}"
echo " - ${COPILOT_SELF_RELATIVE:-<unresolved path derived from ~/.copilot/skills/understand-dashboard>}"
echo " - $HOME/.codex/understand-anything/understand-anything-plugin"
echo " - $HOME/.opencode/understand-anything/understand-anything-plugin"
echo " - $HOME/.pi/understand-anything/understand-anything-plugin"
echo " - $HOME/understand-anything/understand-anything-plugin"
echo "Make sure you followed the installation instructions for your platform."
exit 1
fi
DASHBOARD_DIR="$PLUGIN_ROOT/packages/dashboard"4. **Fast path — try the prebuilt viewer first (no install, no build).** Each release ships a self-contained viewer tarball; run it pinned to the installed plugin version:
: "${PLUGIN_ROOT:?Run step 3 first so PLUGIN_ROOT is set}"
: "${PROJECT_DIR:?Run step 1 first so PROJECT_DIR is set}"
PLUGIN_VERSION=$(node -p "require('$PLUGIN_ROOT/package.json').version")
VIEWER_URL="https://github.com/Egonex-AI/Understand-Anything/releases/download/v${PLUGIN_VERSION}/understand-anything-viewer.tgz"
npx --yes "$VIEWER_URL" "$PROJECT_DIR"Run this in the background. It prints the same `🔑 Dashboard URL` line as the dev server:
5. Fallback: install dependencies and build if needed:
: "${PLUGIN_ROOGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
Use when you need to ask questions about a codebase or understand code using a knowledge graph
Use when you need to analyze git diffs or pull requests to understand what changed, affected components, and risks
Extract business domain knowledge from a codebase and generate an interactive domain flow graph. Works standalone (lightweight…
Use when you need a deep-dive explanation of a specific file, function, or module in the codebase
Analyze a Figma file via the Figma REST API and generate an interactive design knowledge graph (pages, screens, components,…
Analyze a Karpathy-pattern LLM wiki knowledge base and generate an interactive knowledge graph with entity extraction, implicit…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.