k8s-browser
Enables browser automation to interact with and capture data from Kubernetes-related web UIs.
Install
mkdir -p .claude/skills/k8s-browser && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5543" && unzip -o skill.zip -d .claude/skills/k8s-browser && rm skill.zipInstalls to .claude/skills/k8s-browser
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
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.Key capabilities
- →Navigate Kubernetes web interfaces
- →Capture UI screenshots
- →Automate form filling and clicks
- →Wait for specific UI elements
- →Manage browser sessions
How it works
It utilizes kubectl-mcp-server browser tools to open URLs, interact with DOM elements, and capture visual state.
Inputs & outputs
When to use k8s-browser
- →Navigate to Kubernetes dashboard
- →Capture screenshots of Grafana metrics
- →Automate UI clicks in ArgoCD
About this skill
Browser Automation for Kubernetes
Automate Kubernetes web UIs using kubectl-mcp-server's browser tools (26 tools).
When to Apply
Use this skill when:
- User mentions: "dashboard", "Grafana", "ArgoCD UI", "web interface", "screenshot"
- Operations: navigating K8s dashboards, capturing screenshots, automating web UIs
- Keywords: "browser", "click", "screenshot", "web", "UI automation"
Priority Rules
| 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 |
Quick Reference
| 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) |
Prerequisites
- Browser Tools Enabled: Required
export MCP_BROWSER_ENABLED=true
Enable Browser Tools
export MCP_BROWSER_ENABLED=true
# Optional: Cloud provider
export MCP_BROWSER_PROVIDER=browserbase # or browseruse
export BROWSERBASE_API_KEY=bb_...
Basic Navigation
# 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()
Screenshots and Content
# 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()
Interactions
# 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")
Waiting
# 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")
Session Management
# List sessions
browser_session_list()
# Switch session
browser_session_switch(session_id="my-session")
# Close browser
browser_close()
Viewport and Device
# Set viewport size
browser_set_viewport(width=1920, height=1080)
# Emulate device
browser_set_viewport(device="iPhone 12")
Kubernetes Dashboard Workflow
# 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")
Grafana Dashboard Workflow
# 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)
ArgoCD UI Workflow
# 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")
Related Skills
- k8s-gitops - ArgoCD CLI tools
- k8s-diagnostics - Cluster analysis
When not to use it
- →Directly interacting with Kubernetes API resources without a UI
- →Performing non-browser-based cluster operations
Prerequisites
Limitations
- →Requires environment variable configuration
- →Dependent on browser tool availability
How it compares
It automates UI interactions programmatically rather than requiring manual navigation through a browser.
Compared to similar skills
k8s-browser side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| k8s-browser (this skill) | 1 | 6mo | Review | Intermediate |
| debug-cluster | 2 | 8mo | Review | Intermediate |
| health-checks | 3 | 6mo | Review | Intermediate |
| k8s-diagnostics | 1 | 6mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by rohitg00
View all by rohitg00 →You might also like
debug-cluster
openshift
Provides systematic debugging approaches for HyperShift hosted-cluster issues. Auto-applies when debugging cluster problems, investigating stuck deletions, or troubleshooting control plane issues.
health-checks
dadbodgeoff
Implement health check endpoints for load balancers, Kubernetes, and monitoring. Covers liveness, readiness, and dependency checks.
k8s-diagnostics
rohitg00
Kubernetes diagnostics for metrics, health checks, resource comparisons, and cluster analysis. Use when analyzing cluster health, comparing environments, or gathering diagnostic data.
lucas-runbook
a2wio
Lucas runbook-driven troubleshooting for Kubernetes issues. Use when investigating pod errors, crashes, restarts, or any Kubernetes problem. Automatically search runbooks before taking action.
k8s-service-mesh
rohitg00
Manage Istio service mesh for traffic management, security, and observability. Use for traffic shifting, canary releases, mTLS, and service mesh troubleshooting.
k8s-core
rohitg00
Core Kubernetes resource management for pods, namespaces, configmaps, secrets, and nodes. Use when listing, inspecting, or managing fundamental K8s objects.