Dashboard
Skill that gives AI coding agents persistent memory and quality enforcement
npx -y skills add mattjaikaran/meridian --skill dashboardAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.6 KB, as published. Nobody here has run it
/meridian:dashboard — Project Dashboard
Single-view status + metrics: health, progress, velocity, stalls, remote dispatches, and next action.
Procedure
Step 1: Load Metrics and State
PYTHONPATH=$MERIDIAN_HOME uv run --project $MERIDIAN_HOME -- python -c "
import json
from scripts.db import connect, get_db_path
from scripts.state import get_status, compute_next_action
from scripts.metrics import compute_velocity, compute_progress, detect_stalls, forecast_completion
from scripts.sync import get_dispatch_summary
conn = connect(get_db_path('.'))
status = get_status(conn)
velocity = compute_velocity(conn)
progress = compute_progress(conn)
stalls = detect_stalls(conn)
forecast = forecast_completion(conn)
dispatches = get_dispatch_summary(conn)
print(json.dumps({
'status': status,
'velocity': velocity,
'progress': progress,
'stalls': stalls,
'forecast': forecast,
'dispatches': dispatches,
}, indent=2, default=str))
conn.close()
"
Step 2: Determine Health
Compute project health from metrics:
- ON TRACK: No stalls, velocity > 0, milestone ETA exists
- AT RISK: 1-2 stalls OR velocity dropped to 0 recently
- STALLED: 3+ stalls OR no plans completed in 3+ days
Step 3: Format Output
Display in this format:
# Project Dashboard — {project_name}
## Health: {ON TRACK | AT RISK | STALLED}
Milestone: {name} ({status}) — {pct}% complete{, ETA {date} if available}
Phase {N}/{total}: {name} [{status}] — {done}/{total} plans done
Velocity: {velocity} plans/day (7d avg)
### Stalls
- Plan "{name}" stuck in {status} for {hours}h
- Phase "{name}" stuck in {status} for {hours}h
(or "None" if no stalls)
### Nero Dispatches
- Plan "{name}" → Nero ({status}{, PR #N if available})
(or "None" if no dispatches)
### Next Action
→ {computed_next_action}
Step 4: Priority Items (if any)
If any phases or plans have priority set, show a priority summary:
### Priority Items
- [critical] Plan: "{name}" — {status}
- [high] Phase: "{name}" — {status}
Options
--json— Output raw JSON instead of formatted dashboard--html [path]— Generate standalone HTML dashboard (default: .meridian/dashboard.html)--no-sync— Skip pulling Nero dispatch status before rendering
HTML Dashboard
If --html is specified:
PYTHONPATH=$MERIDIAN_HOME uv run --project $MERIDIAN_HOME -- python -c "
from scripts.db import open_project
from scripts.html_dashboard import write_dashboard
with open_project('.') as conn:
path = write_dashboard(conn, '<output_path>')
print(f'Dashboard written to {path}')
"
Opens in browser automatically if on macOS: open <output_path>