Dashboard Sweep
Announce at start: "I'm using the dashboard-sweep skill to audit and fix all dashboard issues."
Usage
/dashboard-sweep # Full sweep of localhost:3000
/dashboard-sweep --target cloud # cloud: https://dash.dev.omninode.ai
/dashboard-sweep --url http://localhost:3000
/dashboard-sweep --triage-only # Node dispatch + triage only, no fixes
/dashboard-sweep --fix-only # Skip dispatch, use existing triage
/dashboard-sweep --dry-run
/dashboard-sweep --max-iterations 5
/dashboard-sweep --deploy
Execution
Step 1 — Parse arguments
--target→local(default) orcloud--url→ explicit URL override (wins over--target)--pages→ pre-classified ModelPageInput objects; passed to node directly (skips HTTP recon)- Other flags pass through to the orchestration phases
Step 2 — Dispatch to node
Pass the resolved URL to the node. The node handles all HTTP recon internally:
onex run-node node_dashboard_sweep \
--input '{"base_url": "{url}", "max_iterations": 3, "dry_run": false}' \
--timeout 300
When --pages is supplied instead:
onex run-node node_dashboard_sweep \
--input '{"pages": [...], "max_iterations": 3, "dry_run": false}' \
--timeout 300
On non-zero exit, a SkillRoutingError JSON envelope is returned — surface it directly, do not produce prose. Exit 0 = clean, exit 1 = issues found.
Step 3 — Fix loop (unless --triage-only or --dry-run)
Dispatch one systematic-debugging agent per CODE_BUG/DATA_PIPELINE/SCHEMA_MISMATCH domain.
All dispatches happen in a single message for parallelism. Wait for all agents, then:
- Create PRs + Linear tickets
- Deploy if
--deploy - Iterate up to
--max-iterations
Step 4 — Render report
Display final page status table, fixes applied, PRs merged, tickets created, and any remaining open items.
Page Classifications
| Status | Meaning |
|---|---|
HEALTHY |
Real data present, live timestamps |
EMPTY |
Renders cleanly, no data (fixable) |
MOCK |
Hardcoded placeholder values |
BROKEN |
JS error, HTTP 5xx, fetch failure |
FLAG_GATED |
Correct pipeline, env var unset |
Fix Tiers
| Tier | Action |
|---|---|
CODE_BUG |
Dispatch debug agent |
DATA_PIPELINE |
Dispatch debug agent |
SCHEMA_MISMATCH |
Dispatch debug agent |
FEATURE_GAP |
Create Linear ticket only |
FLAG_GATE |
Document, no code fix |
Architecture
SKILL.md -> thin dispatcher: resolve URL -> node dispatch -> render results
node -> omnimarket/src/omnimarket/nodes/node_dashboard_sweep/
contract -> node_dashboard_sweep/contract.yaml
All HTTP recon, classification, and triage logic lives in the node handler. The skill resolves the target URL and dispatches; it does not perform any inline curl, HTTP checks, or endpoint probing.