AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Omh

skill-netil-oh-my-hi-omh · by netil

Generate oh-my-hi dashboard. Visual catalog and usage/token analysis of skills, agents, plugins, hooks, memory, MCP servers, rules, and principles. Triggered by "/omh", "harness status", "dashboard", etc.

No reviews yet
0 installs
26 views
0.0% view→install

Install

$ agentstack add skill-netil-oh-my-hi-omh

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-netil-oh-my-hi-omh)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Omh? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

oh-my-hi

> Oh, so that's what Claude's been doing!

Generates a full harness insights dashboard and opens it in the browser.

Usage

  • /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 help

First Run Guide

If 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-only or /omh to refresh data.

If the user chooses enable, run --enable-auto. If they choose disable, explain the manual refresh method.

Behavior

  1. Parses harness files from the Claude Code config directory
  2. Analyzes usage data (history.jsonl, transcript)
  3. Generates data files (data-core.js, data-usage.js) and index.html
  4. Starts a local HTTP server (port 3939+) and opens browser

Architecture

  • Local HTTP server: scripts/serve.mjs serves output/ over HTTP (port 8282, auto-detects next available); re-uses running instance on subsequent /omh calls
  • --data-only: Regenerates data files only; server continues serving the updated files on next browser refresh
  • Auto-refresh: --enable-auto registers a Stop hook — rebuilds data on every session end
  • Browser open: macOS open, Windows start, Linux xdg-open

Find 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
# Ensure claude CLI is findable for --update (plugin context may have a stripped PATH)
for _claude_candidate in \
    "$HOME/.claude/local/claude" \
    "/usr/local/bin/claude" \
    "/opt/homebrew/bin/claude" \
    "$HOME/.local/bin/claude" \
    "/usr/bin/claude" \
    "/Applications/Claude.app/Contents/Resources/bin/claude"; do
  if [ -x "$_claude_candidate" ]; then
    export PATH="$(dirname "$_claude_candidate"):$PATH"
    break
  fi
done
node "$SCRIPT" $ARGUMENTS

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.