From ottonomous
Launches built web or Electron apps, verifies UI against specs using browser automation, runs fix loops until passing. Use post-implementation for spec compliance.
npx claudepluginhub brsbl/ottonomous --plugin ottonomousThis skill is limited to using the following tools:
**Arguments:** $ARGUMENTS
Verifies frontend changes against spec acceptance criteria using Playwright MCP for browser automation. Automates spec intake, dev server/auth checks, and test runs.
Writes and runs feature-based E2E tests for user flows in browser after /verify. Supports Playwright, Cypress, agent-browser; runs dev server and validates interactions.
Share bugs, ideas, or general feedback.
Arguments: $ARGUMENTS
| Command | Behavior |
|---|---|
| (none) | Auto-detect app type, verify against spec |
web | Force web app verification |
electron | Force Electron/VS Code verification |
Read package.json:
| Signal | Type | Launch |
|---|---|---|
"engines": { "vscode" } | VS Code extension | code --extensionDevelopmentPath=./ --remote-debugging-port=9333 |
electron in dependencies | Electron app | npx electron . --remote-debugging-port=9333 or dev script |
| Dev script (vite/next/webpack) | Web app | npm run dev then agent-browser open localhost:{port} |
| None | CLI/Library | Skip visual verification |
npm run compile # or npm run build
If build fails, stop and report.
Launch smoke-tester subagent with the spec path and app launch command.
The smoke-tester launches the app, connects agent-browser, and checks whether the UI matches the spec.
If smoke-tester reports failures, keep looping until all criteria pass:
verify-fixer subagent with failure evidence (ARIA snapshots, screenshots, error descriptions)This is a hard gate — the workflow does not proceed until verification passes.
agent-browser close
kill $APP_PID 2>/dev/null
rm -rf .otto/verify-screenshots