Add clidash (CLI-derived read-only dashboard)
Installs a zero-dependency, read-only web dashboard that builds its tabs and tables at runtime from any CLI that lists resources as JSON.
What it does
clidash is a small read-only web dashboard. Point it at any CLI that lists resources as JSON (NanoClaw's ncl, docker, kubectl, …) and it builds the UI at runtime: one tab per resource, a generic table over whatever columns the rows contain. New resources and new columns appear with zero code changes.
The skill handles the whole install:
- Creates
tools/clidashand copies in the fully self-contained tool - Copies the example config to
clidash.config.jsonand gitignores it - Runs the stub-CLI test suite (
npm test) and verifies the server - Optionally sets it up as a systemd (Linux) or launchd (macOS) service
For NanoClaw it ships pre-wired panels: an agents overview joining groups, sessions, messaging groups and wirings (green <15m / amber <2h / red older), message-activity charts read straight from the session DBs, an allowlisted log tail, and a read-only viewer for group skills, CLAUDE.md and profiles.
Safety model: the server can only execFile argv templates from its config; {resource} is the sole substitution and is allowlist-validated — no shell, no free-form input reaches argv. There is no auth, so the network is the boundary and it binds 127.0.0.1 by default.
Who it's for
- NanoClaw operators who want agent groups and sessions on one screen
- Anyone tired of retyping
docker ps/kubectl getwho'd rather browse tables - Teams needing a lightweight internal monitoring page with no build step or npm package
- Admins who prefer strictly read-only observability tooling
Examples
- NanoClaw ops view: run the skill,
node server.jsfromtools/clidash, openhttp://127.0.0.1:4690and check agent freshness colors plus daily message volume. - Add a docker tab: declare
clis.dockerwithoutput: jsonlinesin the config to get a container list tab without writing a line of code. - Remote check over tailnet: set
BIND=<private-ip>, run it as a service, and read log tails andCLAUDE.mdfrom a laptop or phone in read-only mode.
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the .claude/skills/add-clidash folder from the GitHub repo nanocoai/nanoclaw into my ~/.claude/skills/add-clidash/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/nanocoai/nanoclaw.git && mkdir -p ~/.claude/skills && cp -R nanoclaw/.claude/skills/add-clidash ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and get the NanoClaw repo (skip the clone if you already have it):
git clone https://github.com/nanocoai/nanoclaw.git cd nanoclaw - Copy the skill into your Claude Code skills folder:
mkdir -p ~/.claude/skills cp -R .claude/skills/add-clidash ~/.claude/skills/ - Confirm Node.js 22.5 or newer is installed (
node -v). - Start Claude Code in your project root and run
/add-clidash, or just ask it to "add the clidash dashboard". - Once Claude creates
tools/clidashand the config, build the CLI withpnpm run buildifbin/ncldoesn't exist yet. - Verify with
cd tools/clidash && npm test— all tests should pass. - Start it with
node server.jsand openhttp://127.0.0.1:4690in a browser. - (Optional) To reach it from other devices, set
BINDto a private IP and register the systemd/launchd service. Never bind a public interface — there is no authentication.