File size: 1,753 Bytes
064bfd6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import { BASE_CHROME_PROMPT } from '../../utils/claudeInChrome/prompt.js'
import { getChromeBrowserTools } from '../../utils/claudeInChrome/package.js'
import { shouldAutoEnableClaudeInChrome } from '../../utils/claudeInChrome/setup.js'
import { registerBundledSkill } from '../bundledSkills.js'
const SKILL_ACTIVATION_MESSAGE = `
Now that this skill is invoked, you have access to Chrome browser automation tools. You can now use the mcp__claude-in-chrome__* tools to interact with web pages.
IMPORTANT: Start by calling mcp__claude-in-chrome__tabs_context_mcp to get information about the user's current browser tabs.
`
export function registerClaudeInChromeSkill(): void {
const allowedTools = getChromeBrowserTools().map(
tool => `mcp__claude-in-chrome__${tool.name}`,
)
registerBundledSkill({
name: 'claude-in-chrome',
description:
'Automates your Chrome browser to interact with web pages - clicking elements, filling forms, capturing screenshots, reading console logs, and navigating sites. Opens pages in new tabs within your existing Chrome session. Requires site-level permissions before executing (configured in the extension).',
whenToUse:
'When the user wants to interact with web pages, automate browser tasks, capture screenshots, read console logs, or perform any browser-based actions. Always invoke BEFORE attempting to use any mcp__claude-in-chrome__* tools.',
allowedTools,
userInvocable: true,
isEnabled: () => shouldAutoEnableClaudeInChrome(),
async getPromptForCommand(args) {
let prompt = `${BASE_CHROME_PROMPT}\n${SKILL_ACTIVATION_MESSAGE}`
if (args) {
prompt += `\n## Task\n\n${args}`
}
return [{ type: 'text', text: prompt }]
},
})
}
|