
Verify Dashboard Behavior
Checks WorldMonitor dashboard panels, map layers, search and boot with browser tests.
Install
npx skills add koala73/worldmonitor --skill verify-worldmonitor -g -a claude-code -y- Repository
- koala73/worldmonitor89.9k
- Category
- Testing
- Updated
- 3d ago
- License
- AGPL-3.0
- Context cost
- Mediumabout 2,184 tokens
- Runs scripts
- Yes, review before use
What it does
Verify WorldMonitor dashboard behavior with existing browser tests or a scoped manual drive. Use for panels, map layers, settings, search, country briefs, boot, or dashboard screenshots.
Verify WorldMonitor
WorldMonitor's primary surface is a browser dashboard: a Vite/TypeScript SPA served at /dashboard, with a map, a panel grid, a settings overlay, and a command palette. This skill launches one isolated instance of it, drives a feature the way a user does, and leaves evidence behind.
This skill proves browser behavior. Use the code and check map for backend, desktop, worker, or documentation changes.
Run everything from the repo root of the worktree under test.
Choose the proof
- Name the user action and expected result. Load the matching feature recipe, including its data path and proof limits.
- Follow worktree preparation. Run an existing strict test first when it covers the outcome. Country Brief uses
npm run test:e2e:country-brief. Playwright owns that test's server; do not also runlaunchfor it. - For an interaction the test does not cover, use the manual steps below. Extend an existing test when a lasting regression check is needed.
- Report the exercised path, controlled responses, evidence, and unmet criteria. Apply the local API proof limits. A successful drive proves only its assertions.
Launch
One long-lived dev server per run; every drive gets a fresh browser context against it.
.agents/skills/verify-worldmonitor/scripts/wm-verify.sh launch
It picks the first free port in 4480-4487, starts VITE_E2E=1 VITE_VARIANT=full npm run dev, waits until /tests/map-harness.html answers 200 (the same readiness probe playwright.config.ts uses, it forces a real module transform, so 200 means "can serve the app", not just "socket open"), and writes .claude/verify-evidence/instance.json with the pid, port and base URL.


