Testing
playwright-browser - Claude MCP Skill
Browser automation and E2E testing via local Playwright Docker container
SEO Guide: Enhance your AI agent with the playwright-browser tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to browser automation and e2e testing via local playwright docker container... Download and configure this skill to unlock new capabilities for your AI workflow.
Documentation
SKILL.md# Playwright Browser Automation Skill
## Purpose
Provides browser automation capabilities through a local Playwright Docker container, eliminating the need for remote MCP server connections. Enables web scraping, E2E testing, screenshot capture, and browser interaction automation.
## Capabilities
- **Navigation**: Load URLs with configurable wait conditions
- **Screenshots**: Capture full-page or viewport screenshots
- **Interaction**: Click, fill forms, press keys
- **Evaluation**: Execute JavaScript in page context
- **Testing**: End-to-end test automation
## Requirements
### Docker
- Docker Desktop installed and running
- `agent-network` Docker network created
- Playwright container running
### Ruby
- Ruby ≥2.7
- Gems: `websocket-client-simple`, `json`
### Setup
```bash
# Start Playwright container
cd ~/.claude/skills/playwright-browser/docker
docker-compose up -d
# Verify container is running
docker ps | grep playwright-server
# Check health
curl http://localhost:3000/health
```
## Usage
### Navigation
```bash
# Navigate to URL
~/.claude/skills/playwright-browser/scripts/navigate.rb "https://example.com"
```
### Screenshots
```bash
# Capture screenshot
~/.claude/skills/playwright-browser/scripts/screenshot.rb "https://example.com" /tmp/screenshot.png
# Full-page screenshot
~/.claude/skills/playwright-browser/scripts/screenshot.rb "https://example.com" /tmp/screenshot.png --full-page
```
### JavaScript Evaluation
```bash
# Execute JavaScript
~/.claude/skills/playwright-browser/scripts/evaluate.rb "document.title"
# Get page data
~/.claude/skills/playwright-browser/scripts/evaluate.rb "JSON.stringify({title: document.title, url: location.href})"
```
## Docker Management
### Start Container
```bash
~/.claude/skills/playwright-browser/scripts/start.sh
```
### Stop Container
```bash
~/.claude/skills/playwright-browser/scripts/stop.sh
```
### Restart Container
```bash
~/.claude/skills/playwright-browser/scripts/restart.sh
```
### Check Status
```bash
~/.claude/skills/playwright-browser/scripts/status.sh
```
## Troubleshooting
### Container won't start
**Symptom**: `docker-compose up -d` fails
**Solutions**:
1. Check Docker Desktop is running
2. Verify network exists: `docker network ls | grep agent-network`
3. Check logs: `docker-compose logs`
4. Try recreating: `docker-compose down && docker-compose up -d`
### Connection refused
**Symptom**: WebSocket connection fails
**Solutions**:
1. Verify container is running: `docker ps | grep playwright`
2. Check health: `curl http://localhost:3000/health`
3. Check logs: `docker logs playwright-server`
4. Restart container: `docker-compose restart`
### Slow performance
**Symptom**: Operations take >5 seconds
**Solutions**:
1. Check resource allocation in Docker Desktop settings
2. Increase memory limit in docker-compose.yml
3. Verify no other heavy containers running
4. Check system resources: `docker stats`
### Ruby gem errors
**Symptom**: `LoadError` for websocket gem
**Solutions**:
```bash
gem install websocket-client-simple
gem install json
```
## Performance Notes
- Container startup: ~20-30 seconds
- API response time: <500ms typical
- Memory usage: ~500MB-1GB
- Suitable for development and light automation
## Advanced Configuration
### Custom Playwright version
Edit `docker-compose.yml`:
```yaml
image: mcr.microsoft.com/playwright:v1.41.0-jammy
```
### Resource limits
Edit `docker-compose.yml` deploy section:
```yaml
deploy:
resources:
limits:
memory: 4G
cpus: '4.0'
```
## See Also
- Chrome DevTools skill for debugging capabilities
- Original research: `~/.claude/claudedocs/research_mcp_to_agent_skill_conversion_20251116.md`Signals
Information
- Repository
- arlenagreer/claude_configuration_docs
- Author
- arlenagreer
- Last Sync
- 3/8/2026
- Repo Updated
- 3/5/2026
- Created
- 1/12/2026
Reviews (0)
No reviews yet. Be the first to review this skill!
Related Skills
upgrade-webkit
Upgrade Bun's Webkit fork to the latest upstream version of Webkit.
upgrade-nodejs
Upgrading Bun's Self-Reported Node.js Version
cursorrules
CrewAI Development Rules
cn-check
Install and run the Continue CLI (`cn`) to execute AI agent checks on local code changes. Use when asked to "run checks", "lint with AI", "review my changes with cn", or set up Continue CI locally.
Related Guides
Bear Notes Claude Skill: Your AI-Powered Note-Taking Assistant
Learn how to use the bear-notes Claude skill. Complete guide with installation instructions and examples.
Mastering tmux with Claude: A Complete Guide to the tmux Claude Skill
Learn how to use the tmux Claude skill. Complete guide with installation instructions and examples.
OpenAI Whisper API Claude Skill: Complete Guide to AI-Powered Audio Transcription
Learn how to use the openai-whisper-api Claude skill. Complete guide with installation instructions and examples.