kubernetes-skills/claude/k8s-browser/SKILL.md
Browser automation for Kubernetes dashboards and web UIs. Use when interacting with Kubernetes Dashboard, Grafana, ArgoCD UI, or other web interfaces. Requires MCP_BROWSER_ENABLED=true.
npx skillsauth add rohitg00/kubectl-mcp-server k8s-browserInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automate Kubernetes web UIs using kubectl-mcp-server's browser tools (26 tools).
Use this skill when:
| Priority | Rule | Impact | Tools |
|----------|------|--------|-------|
| 1 | Enable MCP_BROWSER_ENABLED first | CRITICAL | Environment variable |
| 2 | Open URL before interactions | HIGH | browser_open |
| 3 | Wait for elements before clicking | HIGH | browser_wait_for_selector |
| 4 | Take screenshots for verification | MEDIUM | browser_screenshot |
| Task | Tool | Example |
|------|------|---------|
| Open URL | browser_open | browser_open(url) |
| Click element | browser_click | browser_click(selector) |
| Take screenshot | browser_screenshot | browser_screenshot(path) |
| Wait for element | browser_wait_for_selector | browser_wait_for_selector(selector) |
export MCP_BROWSER_ENABLED=true
export MCP_BROWSER_ENABLED=true
# Optional: Cloud provider
export MCP_BROWSER_PROVIDER=browserbase # or browseruse
export BROWSERBASE_API_KEY=bb_...
# Open URL
browser_open(url="http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/")
# Open with auth headers
browser_open_with_headers(
url="https://grafana.example.com",
headers={"Authorization": "Bearer token123"}
)
# Navigate
browser_navigate(url="https://argocd.example.com/applications")
# Go back/forward
browser_back()
browser_forward()
# Refresh
browser_refresh()
# Take screenshot
browser_screenshot(path="dashboard.png")
# Full page screenshot
browser_screenshot(path="full-page.png", full_page=True)
# Get page content
browser_content()
# Get page title
browser_title()
# Get current URL
browser_url()
# Click element
browser_click(selector="button.submit")
browser_click(selector="text=Deploy")
browser_click(selector="#sync-button")
# Type text
browser_type(selector="input[name=search]", text="my-deployment")
browser_type(selector=".search-box", text="nginx")
# Fill form
browser_fill(selector="#namespace", text="production")
# Select dropdown
browser_select(selector="select#cluster", value="prod-cluster")
# Press key
browser_press(key="Enter")
browser_press(key="Escape")
# Wait for element
browser_wait_for_selector(selector=".loading", state="hidden")
browser_wait_for_selector(selector=".data-table", state="visible")
# Wait for navigation
browser_wait_for_navigation()
# Wait for network idle
browser_wait_for_load_state(state="networkidle")
# List sessions
browser_session_list()
# Switch session
browser_session_switch(session_id="my-session")
# Close browser
browser_close()
# Set viewport size
browser_set_viewport(width=1920, height=1080)
# Emulate device
browser_set_viewport(device="iPhone 12")
# 1. Start kubectl proxy
# kubectl proxy &
# 2. Open dashboard
browser_open(url="http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/")
# 3. Navigate to workloads
browser_click(selector="text=Workloads")
# 4. Take screenshot
browser_screenshot(path="workloads.png")
# 5. Search for deployment
browser_type(selector="input[placeholder*=search]", text="nginx")
browser_press(key="Enter")
# 1. Open Grafana
browser_open_with_headers(
url="https://grafana.example.com/d/k8s-cluster",
headers={"Authorization": "Bearer admin-token"}
)
# 2. Set time range
browser_click(selector="button[aria-label='Time picker']")
browser_click(selector="text=Last 1 hour")
# 3. Screenshot dashboard
browser_screenshot(path="grafana-cluster.png", full_page=True)
# 1. Open ArgoCD
browser_open(url="https://argocd.example.com")
# 2. Login
browser_fill(selector="input[name=username]", text="admin")
browser_fill(selector="input[name=password]", text="password")
browser_click(selector="button[type=submit]")
# 3. Navigate to app
browser_wait_for_selector(selector=".applications-list")
browser_click(selector="text=my-application")
# 4. Sync application
browser_click(selector="button.sync-button")
browser_click(selector="text=Synchronize")
development
Manage vCluster (virtual Kubernetes clusters) instances using vind. Use when creating, managing, or operating lightweight virtual clusters for development, testing, or multi-tenancy.
development
Debug Kubernetes pods, nodes, and workloads. Use when pods are failing, containers crash, nodes are unhealthy, or users mention debugging, troubleshooting, or diagnosing Kubernetes issues.
devops
Kubernetes storage management for PVCs, storage classes, and persistent volumes. Use when provisioning storage, managing volumes, or troubleshooting storage issues.
testing
Manage Istio service mesh for traffic management, security, and observability. Use for traffic shifting, canary releases, mTLS, and service mesh troubleshooting.