Skip to content

/sdlc:status-dashboard

Generated from solutions/ontological/skills/status-dashboard/SKILL.md.

Start, stop, or list the SDLC status dashboard — a local web view of the current project’s tickets and leases. Thin dispatcher: shells out to the sdlc dashboard verb matching the requested action (dashboard start to start it in the background, dashboard stop to stop this project’s instance, dashboard list to show every dashboard running across checkouts on this machine). Read-only on project state; the service itself never mutates tasks or leases.

  • Bash

Usage:

  • /sdlc:status-dashboard — start the dashboard in the background (detached, survives this shell/agent) and print its URL.
  • /sdlc:status-dashboard start [--port N] [--host H] [--no-network] — same, forwarding optional flags to the service.
  • /sdlc:status-dashboard stop — stop this project’s running instance.
  • /sdlc:status-dashboard list — list every dashboard running across all project checkouts on this machine.

The sdlc dashboard service owns all behaviour (port allocation, the per-project pidfile at .sdlc/runtime/dashboard.pid, the machine-global registry at ~/.sdlc/dashboards.json, dead-PID pruning); this skill only dispatches to it.

Read the invocation arguments and pick exactly one action:

  • stop or --stopstop.
  • list, ls, or --listlist.
  • anything else (including start, no argument, or pass-through flags like --port/--host/--no-network) → start.

For start, collect any pass-through flags the user supplied (--port, --host, --no-network) to forward verbatim. Do not invent flags the user did not give.

2. Invoke the matching sdlc dashboard verb

Section titled “2. Invoke the matching sdlc dashboard verb”

Run the matching verb from the project root for the chosen action. dashboard start backgrounds the server and forwards any pass-through tuning flags (--port, --host, --interval, --no-network) to the service:

# start (default)
${CLAUDE_PLUGIN_ROOT}cli/sdlc dashboard start [forwarded flags]
# stop
${CLAUDE_PLUGIN_ROOT}cli/sdlc dashboard stop
# list
${CLAUDE_PLUGIN_ROOT}cli/sdlc dashboard list

Starting when an instance is already running for this project reprints the existing URL instead of launching a second one; stopping when nothing runs is a clean no-op.

Pass the script’s stdout through to the user verbatim — for start that is the dashboard URL, pid, and log path; for list it is the table of running dashboards; for stop it is the stop confirmation. If the script exits non-zero, surface its stderr so the user can see why (e.g. a startup that did not confirm within the timeout points at the log file).

  • bun must be on PATH — the service is a Bun-run script (see ${CLAUDE_PLUGIN_ROOT}conventions/typescript-runtime.md).
  • Dispatch to the sdlc dashboard verb; don’t reimplement its lifecycle logic here.
  • The dashboard is read-only on project state. The only network call is its own Refresh from origin button (git fetch of refs/sdlc/*); starting/stopping the server touches no remote.
  • Per-project logs live under .sdlc/runtime/ (gitignored).