SKILL.md
Browser Tab Management Skill
Overview
This skill enforces the Fixed 4-Tab Browser Model for all browser interactions. The user requires that browser sessions maintain exactly 4 tabs throughout their lifecycle.
Transparency
When applying this skill, always mention it in your response. For example:
"Applying the Browser Tab Management skill — I'll navigate within the existing 4 tabs rather than opening new ones."
This ensures the user knows you're following their browser management preferences.
Core Rules
1. Fixed Tab Count
- Always maintain exactly 4 browser tabs
- Never open new tabs beyond the initial 4
- Never close tabs (except to recover from violations)
2. Navigation Strategy
- To visit a new URL, switch to an existing tab and navigate to the new URL
- Use
mcpchrome-devtoolsnavigatepageormcpchrome-devtoolsselectpagefollowed by navigation - Do NOT use
mcpchrome-devtoolsnew_page
3. Allowed Actions
- ✅ Switch between existing tabs (
select_page) - ✅ Navigate to a URL within a tab (
navigate_page) - ✅ Refresh a page (
navigate_pagewithtype: reload) - ✅ Take screenshots and interact with page content
- ❌ Open new tabs (
new_page) - ❌ Close tabs arbitrarily (
close_page)
Implementation
Before Browser Interactions
- Check current tab count:
`` mcpchrome-devtoolslist_pages ``
- If more than 4 tabs exist, close excess tabs to restore compliance:
`` mcpchrome-devtoolsclose_page (pageId: N) ``
- If fewer than 4 tabs exist, this is acceptable — do not open new ones.
Navigating to a New URL
Instead of opening a new tab:
- Select an appropriate existing tab:
`` mcpchrome-devtoolsselect_page (pageId: N) ``
- Navigate within that tab:
`` mcpchrome-devtoolsnavigate_page (url: "https://example.com", type: "url") ``
Using Browser Subagent
When invoking browser_subagent, include explicit instructions in the Task:
IMPORTANT: Do NOT open new browser tabs. You must work within the existing tabs.
Useselectpageto switch tabs andnavigatepageto change URLs.
If you need to visit multiple URLs, navigate sequentially within the same tab.
Recovery from Violations
If a violation occurs (too many tabs open):
- List all pages:
mcpchrome-devtoolslist_pages - Identify which tabs to keep (prioritize active work)
- Close excess tabs until exactly 4 remain
- Document the recovery in your response
Example: Checking a Website
Bad approach (opens new tab):
mcp_chrome-devtools_new_page (url: "https://example.com") ❌
Good approach (navigates within existing tab):
mcp_chrome-devtools_select_page (pageId: 2)
mcp_chrome-devtools_navigate_page (url: "https://example.com", type: "url") ✅
Rationale
This constraint:
- Reduces browser resource usage
- Keeps the workspace organized
- Prevents tab sprawl during complex tasks
- Makes it easier for the user to track what's happening