verify
Build and run Sensify locally with data seeding and Playwright to verify end-to-end functionality.
Install
mkdir -p .claude/skills/verify-melnicorn && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/19071" && unzip -o skill.zip -d .claude/skills/verify-melnicorn && rm skill.zipInstalls to .claude/skills/verify-melnicorn
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Build, run, and drive Sensify locally to verify changes end-to-endKey capabilities
- →Launch the Sensify application locally with specified data directory and API token
- →Seed data for push sensors through the API
- →Insert historical data directly into the SQLite database for charts and backtests
- →Insert alert rules and events into the database
- →Drive the UI using Playwright for end-to-end verification
How it works
This skill launches the Sensify application locally, seeds sensor data via API or direct database insertion, and enables UI driving with Playwright for end-to-end verification. It also allows for inserting alert rules and events.
Inputs & outputs
When to use verify
- →Verifying sensor data processing
- →Testing alert rules
- →Running local end-to-end tests
About this skill
Verifying Sensify changes
Launch
pnpm install
DATA_DIR=$SCRATCH/data SENSIFY_API_TOKEN=testtoken pnpm dev --port 3100
The SQLite schema is created by migrations on the first request; DATA_DIR
isolates the database, and SENSIFY_API_TOKEN seeds the ingest bearer token
so you can POST readings immediately. The poller (pnpm poller) is a separate
process — without it, pull devices don't poll and the alert sweeper doesn't
run, so dwell/cooldown only advance when new readings arrive.
Seed data
Create a push sensor through the real API:
curl -X POST http://localhost:3100/api/v1/readings \
-H "Authorization: Bearer testtoken" -H "Content-Type: application/json" \
-d '{"sensorId":"test-sensor","sensorName":"Living Room","data":{"temperature":{"value":21.5,"unit":"C"},"humidity":{"value":45}}}'
For history (charts, backtests) insert directly with node -e +
better-sqlite3 from the repo's node_modules into the readings table
(temperatures in canonical °C). Alert rules/events can be inserted into
alert_rules / alert_events the same way — definitions are JSON validated
by src/lib/alerts/schemas.ts.
Alert notifications with no channels configured still log to the dev-server
stdout as [alert:start] <rule name>: <message> — grep the server log to
verify engine behavior.
Drive the UI
Playwright is installed globally (/opt/node22/lib/node_modules/playwright,
not in the repo). Symlink it into a scratch node_modules/ and launch with
executablePath: '/opt/pw-browsers/chromium-1194/chrome-linux/chrome'
(the bare /opt/pw-browsers/chromium path is a directory, not the binary).
Gotchas:
- Playwright touch emulation (
devices['iPhone 13']+touchscreen.tap) does NOT synthesize the mouse-compat events real mobile browsers fire, so recharts tooltips/drag never trigger. Usepage.mouseon a desktop viewport to exercise chart hover/tap/drag paths. - HeroUI modal slots are addressable as
[data-slot="modal-body"],[data-slot="modal-dialog"]for scroll assertions.
When not to use it
- →When the poller process is not running, affecting pull devices and alert sweeper
- →When Playwright touch emulation is needed for recharts tooltips/drag
- →When Playwright is installed directly in the repository
Limitations
- →The poller (`pnpm poller`) is a separate process; without it, pull devices don't poll and the alert sweeper doesn't run
- →Playwright touch emulation does NOT synthesize mouse-compat events for recharts tooltips/drag
- →Playwright must be symlinked into a scratch `node_modules/`, not in the repo
How it compares
This workflow provides specific commands for launching Sensify, seeding data, and driving the UI with Playwright, unlike a generic local setup that might not include direct database insertion for historical data or specific UI testing consi
Compared to similar skills
verify side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| verify (this skill) | 0 | 16d | Review | Intermediate |
| orchardcore-tester | 1 | 5mo | Review | Intermediate |
| fingerprint | 0 | 2mo | Review | Intermediate |
| add-test | 0 | 4mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
orchardcore-tester
OrchardCMS
Tests OrchardCore CMS features through browser automation. Use when the user needs to build, run, setup, or test OrchardCore functionality including admin features, content management, media library, and module testing.
fingerprint
amentler
Führt den Chord-Recognition-Fingerprint des Repos aus, indem der Statistik-Test für die Akkorderkennung samt TP/TN/FP/FN, Sensitivität, Spezifität, Precision, Accuracy, F1 und Falllisten gestartet wird. Verwenden, wenn der aktuelle Erkennungsstand kompakt und reproduzierbar gemessen werden soll.
add-test
affandar
Add a new integration test to PilotSwarm test suite. Tests verify end-to-end flows through PilotSwarmClient, duroxide orchestration, and the Copilot SDK.
integration-testing
EmanuelAngel
>
visual-review
RutgerDijk
Use when UI changes need visual verification, or to check for console errors and network issues
bullmq-specialist
davila7
BullMQ expert for Redis-backed job queues, background processing, and reliable async execution in Node.js/TypeScript applications. Use when: bullmq, bull queue, redis queue, background job, job queue.