From 126363721196690817508ad1ff8bc08eaecebc66 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Tue, 10 Mar 2026 09:02:55 -0400 Subject: [PATCH] Replace install_playwright command node with Playwright MCP server The Playwright MCP server provides a browser_install tool, so we can drop the separate command node and let the agent install the browser via MCP instead. Co-Authored-By: Claude Opus 4.6 (1M context) --- arc/workflows/web-game-demo/verify-prompt.md | 12 ++++++------ arc/workflows/web-game-demo/workflow.dot | 4 +--- arc/workflows/web-game-demo/workflow.toml | 7 +++++++ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/arc/workflows/web-game-demo/verify-prompt.md b/arc/workflows/web-game-demo/verify-prompt.md index ac34372e5..12edc2343 100644 --- a/arc/workflows/web-game-demo/verify-prompt.md +++ b/arc/workflows/web-game-demo/verify-prompt.md @@ -1,14 +1,14 @@ Your task is to verify that the develop-web-game skill is properly set up. -1. Call the `use_skill` tool with skill_name "develop-web-game" to load the skill instructions. -2. Read the skill instructions and identify the asset file paths referenced in them. -3. Verify the following files exist and are readable: +1. Call the `browser_install` Playwright MCP tool to ensure the browser is installed. +2. Call the `use_skill` tool with skill_name "develop-web-game" to load the skill instructions. +3. Read the skill instructions and identify the asset file paths referenced in them. +4. Verify the following files exist and are readable: - `skills/develop-web-game/scripts/web_game_playwright_client.js` - `skills/develop-web-game/references/action_payloads.json` - `skills/develop-web-game/SKILL.md` -4. Read the contents of `action_payloads.json` and confirm it contains valid JSON with a "steps" array. -5. Read the first 10 lines of `web_game_playwright_client.js` and confirm it imports playwright. -6. Verify that `npx playwright --version` works (playwright should be available after the install step). +5. Read the contents of `action_payloads.json` and confirm it contains valid JSON with a "steps" array. +6. Read the first 10 lines of `web_game_playwright_client.js` and confirm it imports playwright. 7. Write a summary report to `output/skill-verification.md` with the results. Report success or failure for each check. diff --git a/arc/workflows/web-game-demo/workflow.dot b/arc/workflows/web-game-demo/workflow.dot index 366023907..c0db80cf4 100644 --- a/arc/workflows/web-game-demo/workflow.dot +++ b/arc/workflows/web-game-demo/workflow.dot @@ -8,9 +8,7 @@ digraph WebGameDemo { start [shape=Mdiamond, label="Start"] exit [shape=Msquare, label="Exit"] - install_playwright [label="Install Playwright", shape=parallelogram, script="npx playwright install --with-deps chromium 2>&1 || true"] - verify_skill [label="Verify Skill Setup", prompt="@verify-prompt.md"] - start -> install_playwright -> verify_skill -> exit + start -> verify_skill -> exit } diff --git a/arc/workflows/web-game-demo/workflow.toml b/arc/workflows/web-game-demo/workflow.toml index b34dfc624..92fc16627 100644 --- a/arc/workflows/web-game-demo/workflow.toml +++ b/arc/workflows/web-game-demo/workflow.toml @@ -19,3 +19,10 @@ name = "daytona-medium" [assets] include = ["output/**"] + +[mcp_servers.playwright] +type = "sandbox" +command = ["npx", "@playwright/mcp@latest", "--port", "3100", "--headless", "--browser", "chromium"] +port = 3100 +startup_timeout_secs = 60 +tool_timeout_secs = 120