From e94eec78f32e9f23690d61f2f7d0c66e25ae824f Mon Sep 17 00:00:00 2001 From: Adam Wallis Date: Fri, 2 Jan 2026 12:51:11 -0500 Subject: [PATCH] Add Chrome tool alias for Claude in Chrome MCP tools Add a `Chrome` shorthand that expands to all 17 Claude in Chrome MCP tools during agent compilation, following the same pattern as the existing Playwright alias. Also add Chrome to implementer and implementation-verifier agents that already use Playwright. Closes #300 --- .../default/agents/implementation-verifier.md | 2 +- profiles/default/agents/implementer.md | 2 +- scripts/common-functions.sh | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/profiles/default/agents/implementation-verifier.md b/profiles/default/agents/implementation-verifier.md index ddf1e60d..e1717aef 100644 --- a/profiles/default/agents/implementation-verifier.md +++ b/profiles/default/agents/implementation-verifier.md @@ -1,7 +1,7 @@ --- name: implementation-verifier description: Use proactively to verify the end-to-end implementation of a spec -tools: Write, Read, Bash, WebFetch, Playwright +tools: Write, Read, Bash, WebFetch, Playwright, Chrome color: green model: inherit --- diff --git a/profiles/default/agents/implementer.md b/profiles/default/agents/implementer.md index 0a2e413a..54654500 100644 --- a/profiles/default/agents/implementer.md +++ b/profiles/default/agents/implementer.md @@ -1,7 +1,7 @@ --- name: implementer description: Use proactively to implement a feature by following a given tasks.md for a spec. -tools: Write, Read, Bash, WebFetch, Playwright, Skill +tools: Write, Read, Bash, WebFetch, Playwright, Chrome, Skill color: red model: inherit --- diff --git a/scripts/common-functions.sh b/scripts/common-functions.sh index 3474bfc0..22c63bb0 100755 --- a/scripts/common-functions.sh +++ b/scripts/common-functions.sh @@ -488,6 +488,15 @@ replace_playwright_tools() { echo "$tools" | sed "s/Playwright/$playwright_tools/g" } +# Replace Chrome tool with expanded Claude in Chrome tool list +replace_chrome_tools() { + local tools=$1 + + local chrome_tools="mcp__claude-in-chrome__javascript_tool, mcp__claude-in-chrome__read_page, mcp__claude-in-chrome__find, mcp__claude-in-chrome__form_input, mcp__claude-in-chrome__computer, mcp__claude-in-chrome__navigate, mcp__claude-in-chrome__resize_window, mcp__claude-in-chrome__gif_creator, mcp__claude-in-chrome__upload_image, mcp__claude-in-chrome__get_page_text, mcp__claude-in-chrome__tabs_context_mcp, mcp__claude-in-chrome__tabs_create_mcp, mcp__claude-in-chrome__update_plan, mcp__claude-in-chrome__read_console_messages, mcp__claude-in-chrome__read_network_requests, mcp__claude-in-chrome__shortcuts_list, mcp__claude-in-chrome__shortcuts_execute" + + echo "$tools" | sed "s/Chrome/$chrome_tools/g" +} + # Process conditional compilation tags ({{IF}}, {{UNLESS}}, {{ENDIF}}, {{ENDUNLESS}}) # Ignores {{orchestrated_standards}} and other placeholders process_conditionals() { @@ -1026,6 +1035,13 @@ compile_agent() { content=$(echo "$content" | sed "s|^tools:.*$|$new_tools_line|") fi + # Replace Chrome in tools + if echo "$content" | grep -q "^tools:.*Chrome"; then + local tools_line=$(echo "$content" | grep "^tools:") + local new_tools_line=$(replace_chrome_tools "$tools_line") + content=$(echo "$content" | sed "s|^tools:.*$|$new_tools_line|") + fi + if [[ "$DRY_RUN" == "true" ]]; then echo "$dest_file" else