Start the OpenWork dev stack via Docker and verify real user flows via Chrome MCP. Triggers when user mentions: - "dev-up.sh" - "docker dev stack" - "verify in chrome mcp" - "test the real flow"
Install
npx skillscat add different-ai/openwork/openwork-docker-chrome-mcp Install via the SkillsCat registry.
This skill launches the OpenWork development environment using a Docker script and verifies end-to-end UI functionality through Chrome MCP. It addresses the need to confirm real user flows work correctly in a browser after starting the stack. Use it when you need to start the Docker-based dev environment and validate that chat or session interactions render properly in the web UI.
Quick Usage (Already Configured)
1) Start the dev stack (Docker)
Run from the OpenWork repo root:
packaging/docker/dev-up.shThis prints:
- Web UI URL (http://localhost:)
- OpenWork server URL (http://localhost:)
- Token file path (
tmp/.dev-env-<id>) containingOPENWORK_TOKEN+OPENWORK_HOST_TOKEN - A
docker compose ... downcommand that stops this stack
2) Verify a real UI flow (Chrome MCP)
Minimum gate:
- Open the printed Web UI URL.
- Navigate to the session/chat surface (typically
/session). - Send a message (example:
smoke: hello from chrome mcp). - Confirm a response renders in the UI.
Chrome MCP tool recipe (typical):
chrome-devtools_list_pages(optional: see existing tabs)chrome-devtools_new_pagewith the Web UI URL (orchrome-devtools_navigate_pageif a page is already open)chrome-devtools_take_snapshotto locate the chat input + Send button uidschrome-devtools_fillthe chat input uid with your messagechrome-devtools_clickthe Send button uidchrome-devtools_wait_fora distinctive piece of response text (or re-snapshot until the response appears)chrome-devtools_take_screenshot(save to/tmp/...pngwhen possible)- If debugging:
chrome-devtools_list_console_messages
Evidence:
- Take a Chrome MCP screenshot after the response appears.
- If something fails, capture console logs and (optionally) Docker logs.
Verification checklist (copy into PR)
- Started stack with
packaging/docker/dev-up.shfrom repo root. - Used the printed Web UI URL (not a guessed port).
- Completed one full user flow in the UI (input -> action -> visible result).
- Captured at least one screenshot for the success state.
- Captured failure evidence when relevant (console and/or Docker logs).
- Stopped stack with the exact printed
docker compose -p ... downcommand.
Suggested screenshot set for user-facing changes:
- Before action state.
- During action/progress state.
- Success state.
- Failure or recovery state (if applicable).
3) Stop the stack
Use the exact docker compose -p ... down command printed by dev-up.sh.
If you lost it, you can find the project name via:
docker ps --format '{{.Names}}' | rg '^openwork-dev-'Then stop it (replace <project>):
docker compose -p <project> -f packaging/docker/docker-compose.dev.yml downRequired Gate (Non-Negotiable)
- Any user-facing change or change that touches remote behavior must be validated end-to-end in the running UI.
- The change is not "done" until it succeeds via Chrome MCP against the Docker dev stack started by
packaging/docker/dev-up.sh.
Common Gotchas
- Docker is required (and the
dockerCLI must be available on PATH). dev-up.shuses random host ports; do not assume5173/8787.- If the UI looks up but is disconnected, confirm you opened the printed URL and that headless is healthy.