
claude-chrome
by mrdemonbkgit
SKILL.md
name: claude-chrome description: Automate tasks using the Claude Chrome extension via UI automation. Use when you need to delegate browser-based work to Claude in Chrome, browse websites, or when the user asks to "use Claude in Chrome" or "send this to the Chrome extension". allowed-tools: Read, Bash, mcp__chrome-bridge__tabs_context_mcp, mcp__chrome-bridge__computer, mcp__chrome-bridge__javascript_tool, mcp__chrome-bridge__get_page_text
Claude Chrome Extension Automation
Send tasks to the Claude Chrome extension and retrieve results via UI automation.
Prerequisites
- chrome-bridge MCP must be connected
- Claude Chrome extension side panel must be open in Chrome
- Windows host must be running
Instructions
Step 1: Verify Connection
First, check if chrome-bridge is available and get tab context:
Use mcp__chrome-bridge__tabs_context_mcp to list tabs
Look for the Claude extension tab with URL starting with:
chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/sidepanel.html
Save the tab ID for subsequent operations.
Step 2: Take Screenshot to Assess State
Use mcp__chrome-bridge__computer with:
action: "screenshot"
tabId: <claude_extension_tab_id>
This returns a file path. Use the Read tool to view the screenshot and understand:
- Is Claude ready for input?
- Is there an ongoing conversation?
- Is Claude currently "Working" or "Thinking"?
Step 3: Send a Message to Claude
3a. Find the chat input coordinates
Use mcp__chrome-bridge__javascript_tool with:
tabId: <claude_extension_tab_id>
text: |
(() => {
const el = document.querySelector('.tiptap.ProseMirror');
if (el) {
const rect = el.getBoundingClientRect();
return JSON.stringify({
x: Math.round(rect.x + rect.width/2),
y: Math.round(rect.y + rect.height/2)
});
}
return JSON.stringify({found: false});
})()
3b. Click the input field
Use mcp__chrome-bridge__computer with:
action: "left_click"
coordinate: [x, y] // from step 3a
tabId: <claude_extension_tab_id>
3c. Type the message
Use mcp__chrome-bridge__computer with:
action: "type"
text: "Your task or question here"
tabId: <claude_extension_tab_id>
3d. Find and click the Send button
IMPORTANT: The Send button is identified by its orange/yellow background color class bg-[#BF8534]. Do NOT use coordinate-based detection as it's unreliable.
Use mcp__chrome-bridge__javascript_tool with:
tabId: <claude_extension_tab_id>
text: |
(() => {
const buttons = document.querySelectorAll('button');
for (const btn of buttons) {
// Send button has orange background class bg-[#BF8534]
if (btn.className.includes('bg-[#BF8534]')) {
const rect = btn.getBoundingClientRect();
return JSON.stringify({
found: true,
x: Math.round(rect.x + rect.width/2),
y: Math.round(rect.y + rect.height/2)
});
}
}
return JSON.stringify({found: false});
})()
Then click:
Use mcp__chrome-bridge__computer with:
action: "left_click"
coordinate: [x, y] // Send button coordinates from above
tabId: <claude_extension_tab_id>
Step 4: Wait for Claude to Complete
Take periodic screenshots to check status. Look for:
- "Working" or "Thinking..." indicates Claude is processing
- New response text indicates completion
Use mcp__chrome-bridge__computer action=wait to pause between checks.
Step 5: Read the Response
Use mcp__chrome-bridge__get_page_text with:
tabId: <claude_extension_tab_id>
Parse the returned text to extract Claude's response.
Example Usage
User request: "Use Claude in Chrome to check the weather in Tokyo"
Execution:
- Get tabs, find Claude extension tab ID
- Screenshot to verify ready state
- Click input at (~175, 732)
- Type: "Go to weather.com and tell me the current weather in Tokyo"
- Click Send button at (~312, 814)
- Wait 10-30 seconds
- Screenshot to check if complete
- get_page_text to read response
- Summarize results to user
Key Information
CSS Selectors & Identifiers
- Chat input:
.tiptap.ProseMirror(contenteditable div) - Send button: Button with class containing
bg-[#BF8534](orange/yellow color) - Message bubbles: Check page text for conversation content
Typical Coordinates (may vary by viewport)
- Chat input: approximately (175, 780)
- Send button: approximately (312, 814) - but always use class-based detection!
Extension Details
- Extension ID:
fcoeoabgfenejglbffodgkkbkcdhcgfn - Side panel URL:
chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/sidepanel.html - Editor: TipTap/ProseMirror (contenteditable div)
Troubleshooting
"Not connected to Chrome extension"
- Run the start-all.ps1 script to start Windows host
- Ensure Chrome has debugging enabled on port 9222
Can't find input/button
- Take a fresh screenshot to see current UI state
- Coordinates may shift if viewport size changed
- Re-run JavaScript to get updated coordinates
Claude not responding
- Check if "Act without asking" is enabled
- Claude may be rate-limited
- Take screenshot to see error messages
Notes
- Screenshots are saved to
/tmp/claude-chrome-screenshots/ - Use Read tool to view screenshot images directly
- The Claude extension can browse web, take actions, and interact with pages
- Results should be summarized back to the user
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です