Sign inGet started
–

Launches an interactive web dashboard to visualize a codebase's knowledge graph.

Lift · GLM-5.3-flash+13ppdirectional · all models →
85
Trustsecurity · quality · license · upkeep
Scan Saferisk 0/100
LicenseMITserved via MCP
Claude Haiku 5.5 · GPT-6 Luna — not run yet
Pass-rate Lift+13pp95% CI [0, +38] · CI includes zero
screen tier · directionalchat harness (v2)
−100pp+100pp

Pass rate with the skill minus without, same tasks, same model.

baseline
13%
with skill
25%
forced
50%
Content Lift forced arm
+38pp [0, +75]
Trigger rate
100%
Trials
24 · 8 tasks
Model
GLM-5.3-flash
Measured
2026-10-15

Content Lift = the skill's instructions injected into the system prompt, so it measures what the content does once loaded, apart from whether the agent chooses to load it. Method →

Embed this score · live badge for your README
SkillzBench badge preview

The badge shows the real benchmark number and updates itself when we re-bench — including the honest states (“did not trigger”, “not benched yet”). All badge options →

Markdown[![SkillzBench](https://skillzbench.com/api/badge/understand-dashboard.svg)](https://skillzbench.com/skills/understand-dashboard)
+ cost/task[![SkillzBench](https://skillzbench.com/api/badge/understand-dashboard.svg?cost=1)](https://skillzbench.com/skills/understand-dashboard)
HTML<a href="https://skillzbench.com/skills/understand-dashboard"><img src="https://skillzbench.com/api/badge/understand-dashboard.svg" alt="SkillzBench benchmark" height="20"></a>

A/B outputs — median trial per arm

Chat harness (v2): the agent's final message without the skill (left) vs with it (right).

understand-dashboard--m1
baseline · 0.24

I can't launch an interactive dashboard for you — I don't have any tools available in this environment for running commands, starting servers, or opening a browser. The only tool I have is for loading skills, and none are enabled.

A couple of options:

  1. Run it yourself locally — if you have a code-visualization tool in mind (e.g., code2flow, pyreverse from pylint, pydeps, or an IDE's dependency graph), I can give you the exact commands to run from /home/ana/projects/weather-api.
  2. Ask me for a static analysis — if you paste in key files (or a directory listing plus imports), I can map out the module relationships and file structure for you in text form.

Which would you prefer?

with skill · 0.59

I've loaded the dashboard skill, but I don't have a shell/Bash tool available in this session, so I can't actually start the server for you. Here's exactly what you can run yourself to launch it:

1. Check that the knowledge graph exists (the dashboard needs it):

cd /home/ana/projects/weather-api
ls .understand-anything/knowledge-graph.json 2>/dev/null || ls .ua/knowledge-graph.json

If neither exists, you'll need to run /understand first to analyze the project before the dashboard can visualize anything.

2. Launch the dashboard (fast path — no install/build needed):

npx --yes "https://github.com/Egonex-AI/Understand-Anything/releases/download/v$(node -p "require('$HOME/.understand-anything-plugin/package.json').version")/understand-anything-viewer.tgz" /home/ana/projects/weather-api

3. Open the URL it prints. Look for the line:

🔑  Dashboard URL: http://127.0.0.1:<PORT>?token=<TOKEN>

Open that full URL including the ?token= parameter in your browser — without the token you'll hit an "Access Token Required" gate. The dashboard auto-opens in your default browser, and you can stop it with Ctrl+C.

If the fast path fails (no network or no release asset for your version), the fallback is:

cd ~/.understand-anything-plugin/packages/dashboard
pnpm install
cd .. && cd .. && pnpm --filter @understand-anything/core build
cd packages/dashboard && GRAPH_DIR=/home/ana/projects/weather-api npx vite --host 127.0.0.1

Once it's running, you'll see your ~50 files and their module/import relationships as an interactive knowledge graph.

understand-dashboard--m2
baseline · 0.15

I don't have a dashboard tool available in this environment — no file-reading or graph tools are enabled, so I can't open a dashboard or inspect /repo directly. But I can explain what's happening from the import you shared:

The dependency path:

packages/auth  →  packages/logger

packages/auth/src/index.ts contains:

import { createLogger } from '@repo/logger';

Why this creates the dependency:

  1. @repo/logger is the package name (from packages/logger/package.json) — a common convention in TypeScript monorepos using workspace aliases (pnpm/yarn/npm workspaces + TS path mapping).
  2. The import resolves via the workspace's tsconfig.json paths (or package.json workspaces field), e.g. "@repo/logger": ["packages/logger/src"].
  3. Because auth imports logger at its entry point (src/index.ts), the dependency graph tool flags auth as depending on logger — likely to create a structured logger instance for auth operations (login events, token refresh logging, etc.).

To verify in your dashboard: look for the edge auth → logger, and check packages/auth/package.json for "@repo/logger" in dependencies (or devDependencies). If it's only imported but not declared, that's a missing-dependency issue worth fixing.

If you can share the contents of packages/auth/src/index.ts and packages/auth/package.json, I can tell you exactly what createLogger is used for and whether the dependency is properly declared.

with skill · 0.57

I don't have a shell/command-execution tool available in this session — only the skill loader — so I can't actually launch the dashboard server or inspect the repo's files directly. But here's what you need:

Why the dependency exists

The import import { createLogger } from '@repo/logger'; in packages/auth/src/index.ts means:

  • packages/auth declares @repo/logger as a workspace dependency (check packages/auth/package.json — you'll see "@repo/logger": "workspace:*" under dependencies).
  • The auth package calls createLogger(...) to get a scoped logger instance (typically createLogger('auth')), so all auth logs are tagged with the auth context.
  • This is a direct, one-hop edge in the graph: packages/auth → packages/logger (no intermediate packages).

To see it in the dashboard

  1. Run the dashboard against your repo (from the understand-dashboard skill, e.g. the prebuilt viewer: npx <viewer-url> /repo, or the Vite fallback with GRAPH_DIR=/repo).
  2. Once open, use the search bar to find the auth package node, click it, and select "Show dependencies" / trace the edge to logger — you'll see the single dependency edge, and clicking it drills into the specific file packages/auth/src/index.ts and the createLogger symbol import.

If you can run commands in your terminal, I'm happy to walk you through the exact launch steps or interpret the graph output once you have it.

understand-dashboard--m3
baseline · 1.00

I can't tell which dashboard tool you're running from your description, so here's how this works for the common cases — if you tell me the tool name, I can give exact steps.

First, check the URL bar. Most code-graph dashboards serialize your current state (repo path, module filters like views/models) into query params. If your URL already looks like http://localhost:8000/?repo=/srv/django-app&modules=views,models, that URL is the shareable state — you just need to make it reachable.

Option 1: Built-in export/snapshot (best for a static share)

  • Look for a Share, Export, or camera icon near the filter bar or in the app menu.
  • Typical outputs: a static HTML snapshot (preserves the graph + filters, opens in any browser), PNG/SVG image, or a hosted read-only link if the tool has a cloud component.
  • HTML or PNG is usually what you want for a backend-team walkthrough — no server needed on their end.

Option 2: Tunnel the live dashboard (best for interactive exploration)

  • ngrok http <port> or cloudflared tunnel --url http://localhost:<port> gives you a public URL to the running dashboard.
  • Anyone with the link sees exactly what you see, including your views/models filter.
  • Caveat: anyone with the URL can access it. If the codebase/tooling is sensitive, put basic auth in front or use Tailscale Funnel so only your team's tailnet can reach it.

Option 3: Screenshot/PDF — quick and dirty, fine if they just need to see the structure once.

Which tool is it (e.g., CodeSee, CodeScene, Sourcegraph, a custom internal dashboard)? I'll give you the precise click-path.

with skill · 1.00

The dashboard itself doesn't have a built-in "share" or "export" feature — it serves the graph locally at http://127.0.0.1:<PORT>?token=<TOKEN>, which only works on your machine. Here are your practical options:

Option 1: Tunnel it (live, interactive — closest to what you see) Expose your local dashboard temporarily so teammates can open the same tokenized URL:

# with cloudflared (no account needed for quick tunnels)
cloudflared tunnel --url http://127.0.0.1:<PORT>

# or with ngrok
ngrok http <PORT>

Then share the public URL including the ?token= parameter — without the token, viewers hit the "Access Token Required" gate. Keep in mind this exposes the dashboard to anyone with the link until you stop the tunnel, so treat the token like a credential and shut it down after the meeting.

Option 2: Share the raw graph data The full graph lives at /srv/django-app/.understand-anything/knowledge-graph.json (or .ua/ if that's the directory in use). You can commit or zip that file and send it — teammates can load it into their own dashboard instance. Note this shares the whole graph, not just your views/models filter; the filter is a client-side view state, not persisted in the file.

Option 3: Static snapshot For a one-off review, a screenshot or PDF export of the filtered view (browser print → save as PDF) is the simplest zero-setup option, though it loses interactivity.

Recommendation: For a backend team discussion, Option 1 is best — they get the same interactive, filtered view you have. Just remember the filter isn't in the URL, so tell them to re-apply the views/models module filter after opening the link, or share a screenshot alongside as a reference.

understand-dashboard--m4
baseline · 0.30

I can't set that up — I don't have access to a dashboard application or any tool that can render views, overlays, or query git history in this environment. The only tool available to me is load_skill, and no skills are currently enabled, so there's no dashboard capability I can invoke.

Here's what I can offer instead:

What you'd need to do this yourself:

  1. Files changed in the last 30 days (run from /legacy-app):
    git log --since="30 days ago" --name-only --pretty=format: | sort -u
    
  2. Classes with TODO comments:
    grep -rl "TODO" --include="*.java" /legacy-app
    

Typical dashboard approaches for combining these as toggleable overlays:

  • Sourcegraph / CodeSearch — supports saved searches you can switch between.
  • SonarQube — tags issues (like TODO markers) per file and shows recent-change hotspots.
  • A simple VS Code setup — one saved search/TODO Tree extension view plus a file list from the git command above.
  • Custom script — generate an HTML report with both lists as toggleable layers (e.g., a small script feeding the two command outputs into a static page).

If you can tell me which dashboard tool you're actually using (and it's something I can help configure via files/scripts), I can write the config or script for the two overlays.

with skill · 0.67

I loaded the dashboard skill, but I don't have a shell tool available in this session, so I can't launch the server for you directly. Here's exactly how to get your setup running, including the two custom overlays:

1. Generate the knowledge graph (if not already done)

cd /legacy-app
# run /understand first — the dashboard needs .ua/knowledge-graph.json (or .understand-anything/)

If /legacy-app/.ua/knowledge-graph.json doesn't exist yet, the dashboard will refuse to start, so run the analysis step first.

2. Launch the dashboard

npx --yes "https://github.com/Egonex-AI/Understand-Anything/releases/download/v$(node -p "require('$HOME/.understand-anything-plugin/package.json').version")/understand-anything-viewer.tgz" /legacy-app

It prints a line like:

🔑  Dashboard URL: http://127.0.0.1:<PORT>?token=<TOKEN>

Open that full URL (the ?token= is required — without it you'll hit the access-token gate). If the viewer fails (no network/release asset), fall back to the dev server:

cd ~/.understand-anything-plugin/packages/dashboard
GRAPH_DIR=/legacy-app npx vite --host 127.0.0.1

3. Overlay A — files changed in the last 30 days

Generate the changed-file list from git and feed it into the graph metadata:

cd /legacy-app
git log --since="30 days ago" --name-only --pretty=format: | sort -u | grep -v '^$' > /tmp/recent.txt

Then annotate the graph (a small jq pass over .ua/knowledge-graph.json), adding a recentlyChanged: true flag on nodes whose filePath appears in /tmp/recent.txt. In the dashboard, add a custom overlay/filter that highlights nodes where recentlyChanged === true (e.g., amber highlight). The overlay panel lets you define a predicate on node metadata and a color.

4. Overlay B — classes containing TODO

cd /legacy-app
grep -rl 'TODO' --include='*.java' src/ > /tmp/todo_files.txt

Annotate nodes the same way with hasTodo: true for classes whose file is in that list, and create a second overlay (e.g., red badge/highlight) keyed on hasTodo === true.

5. Switching between overlays

In the dashboard UI:

  • Open the Overlays panel (sidebar).
  • Both overlays appear as toggles — click a toggle to enable/disable each independently.
  • Enable both at once to see files that are both recently changed and contain TODOs — usually the highest-priority refactor targets.
  • You can also combine them with the graph's dependency filters to focus only on hot paths.

Tip: re-run the two annotation scripts (steps 3–4) after each git pull or before each refactor session so the overlays stay current — the knowledge graph snapshot doesn't auto-refresh from git.

understand-dashboard--m5
baseline · 0.15

I'm not able to launch an interactive web dashboard or graph view for your codebase — I don't have any tools for running servers, opening browsers, or visualizing code in this environment. (No skills are enabled here either.)

If you'd like to explore the Flask app visually, here are a couple of things you could run yourself:

  • CodeSee / Sourcegraph — browser-based code exploration tools
  • pyreverse (part of pylint) to generate a class/dependency graph:
    cd /home/priya/flask-blog
    pyreverse -o png -p flaskblog .
    
  • Code2flow for a call-graph visualization:
    pip install code2flow
    code2flow . -o out.dot && dot -Tpng out.dot -o graph.png
    

If you'd like, I can instead explore the codebase directly — e.g., summarize its structure, routes, and how the modules fit together. Just say the word.

with skill · 0.30

I loaded the dashboard skill, but I can't actually launch it from here — this session has no shell/Bash tool available, so I can't resolve the plugin root, check for the knowledge graph, or start the server process. Rather than fake a URL, here's exactly what to run in your terminal:

1. Check the graph exists (the dashboard needs it):

cd /home/priya/flask-blog
UA_DIR=$([ -d .understand-anything ] && echo .understand-anything || echo .ua)
[ -f "$UA_DIR/knowledge-graph.json" ] && echo "Graph found" || echo "No knowledge graph found. Run /understand first to analyze this project."

2. Fast path — prebuilt viewer (no install/build):

PLUGIN_VERSION=$(node -p "require('$HOME/.understand-anything-plugin/package.json').version")
npx --yes "https://github.com/Egonex-AI/Understand-Anything/releases/download/v${PLUGIN_VERSION}/understand-anything-viewer.tgz" /home/priya/flask-blog

(If ~/.understand-anything-plugin doesn't exist, point the require at wherever the plugin is installed, e.g. ${CLAUDE_PLUGIN_ROOT:-$HOME/.codex/understand-anything/understand-anything-plugin}/package.json.)

3. Fallback if the viewer can't download (no release asset or no network):

cd "$HOME/.understand-anything-plugin/packages/dashboard" && pnpm install
cd "$HOME/.understand-anything-plugin" && pnpm --filter @understand-anything/core build
cd packages/dashboard && GRAPH_DIR=/home/priya/flask-blog npx vite --host 127.0.0.1

Whichever path succeeds prints a line like:

🔑  Dashboard URL: http://127.0.0.1:<PORT>?token=<TOKEN>

Open that full URL including the ?token= parameter — without the token the dashboard will block you with an "Access Token Required" gate. The server runs in the background; Ctrl+C stops it.

If step 1 reports no knowledge graph, run /understand on the project first — the dashboard only visualizes an already-analyzed graph.

Limitations
  • Results are for the SkillzBench reference agent on GLM-5.3-flash. Switch models above — a skill can help one model and not another.
  • Screen tier (1 trial per arm) is directional. Verified needs a full-tier run (≥ 8 tasks, ≥ 3 trials per arm) with the CI excluding zero.
  • Task coverage: 8 generated tasks for this skill's category; a skill can shine elsewhere.