# Verify Dashboard Behavior

Checks WorldMonitor dashboard panels, map layers, search and boot with browser tests.

- Repository: https://github.com/koala73/worldmonitor (89946 stars)
- Category: Testing
- License: AGPL-3.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add koala73/worldmonitor --skill verify-worldmonitor -g -a claude-code -y`
Codex: `npx skills add koala73/worldmonitor --skill verify-worldmonitor -g -a codex -y`
Cursor: `npx skills add koala73/worldmonitor --skill verify-worldmonitor -g -a cursor -y`
Gemini CLI: `npx skills add koala73/worldmonitor --skill verify-worldmonitor -g -a gemini-cli -y`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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](../../../AGENTS.md#find-the-code-and-its-checks) for backend, desktop, worker, or documentation changes.

Run everything from the repo root of the worktree under test.

## Choose the proof

1. Name the user action and expected result. Load the matching [feature recipe](features/README.md), including its data path and proof limits.
2. Follow [worktree preparation](../../../CONTRIBUTING.md#worktrees-and-preflight). 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 run `launch` for it.
3. For an interaction the test does not cover, use the manual steps below. Extend an existing test when a lasting regression check is needed.
4. Report the exercised path, controlled responses, evidence, and unmet criteria. Apply the [local API proof limits](../../../CONTRIBUTING.md#verify-the-changed-path). A successful drive proves only its assertions.

## Launch

One long-lived dev server per run; every drive gets a fresh browser context against it.

```bash
.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.

The rest: https://github.com/koala73/worldmonitor/blob/HEAD/.agents/skills/verify-worldmonitor/SKILL.md
