From oh-my-hi
Generates oh-my-hi dashboard cataloging Claude Code skills, agents, plugins, hooks, memory, MCP servers, rules, principles with usage/token analysis. Invoke via /omh.
npx claudepluginhub netil/oh-my-hi --plugin oh-my-hiThis skill uses the workspace's default tool permissions.
> **Oh, so that's what Claude's been doing!**
Generates an interactive HTML dashboard visualizing installed Claude Code skills, plugins, MCP servers, usage statistics, and martial arts belt levels. Opens in browser to review setup.
Opens Token Optimizer dashboard showing context usage trends, quality scores, session history, and skill management. Collects latest data, regenerates HTML, and launches in browser.
Opens a browser-based analytics dashboard for Claude Code context-mode, displaying personal metrics on session activity, tool usage, error rates, parallel work patterns, project focus, and actionable insights.
Share bugs, ideas, or general feedback.
Oh, so that's what Claude's been doing!
Generates a full harness insights dashboard and opens it in the browser.
/omh — Full build (parse data → build web-ui → start local HTTP server → open browser)/omh --data-only — Regenerate data files only (server continues serving updated files)/omh --enable-auto — Enable automatic rebuild on session end/omh --disable-auto — Disable automatic rebuild/omh --status — Check auto-refresh status/omh --update — Check and install latest version/omh --help — Show helpIf the console output after running the script shows auto-refresh not configured, ask the user:
Would you like to enable automatic dashboard data refresh on session end?
- If enabled, data is automatically refreshed at every session end, so the dashboard always shows the latest data.
- If disabled, you need to manually run
/omh --data-onlyor/omhto refresh data.
If the user chooses enable, run --enable-auto. If they choose disable, explain the manual refresh method.
data-core.js, data-usage.js) and index.htmlscripts/serve.mjs serves output/ over HTTP (port 8282, auto-detects next available); re-uses running instance on subsequent /omh calls--enable-auto registers a Stop hook — rebuilds data on every session endopen, Windows start, Linux xdg-openFind and run the script (picks the latest version from cache, falls back to marketplaces):
PLUGINS_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/plugins"
# Pick the highest semver version from cache (sort -V handles semantic versioning)
SCRIPT=$(find "$PLUGINS_DIR/cache" -name "generate-dashboard.mjs" -path "*/scripts/generate-dashboard.mjs" 2>/dev/null \
| sort -V | tail -1)
# Fallback to marketplaces directory
if [ -z "$SCRIPT" ]; then
SCRIPT=$(find "$PLUGINS_DIR/marketplaces" -name "generate-dashboard.mjs" -path "*/scripts/generate-dashboard.mjs" -print -quit 2>/dev/null)
fi
if [ -z "$SCRIPT" ]; then
echo "oh-my-hi: ERROR — generate-dashboard.mjs not found. Try: /omh --update"
exit 1
fi
node "$SCRIPT" $ARGUMENTS