Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/1337hero-playwright-skill
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, testing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/playwright-skill
What's inside
- Skill name
playwright-skill- Description
- Browser automation with Playwright. Auto-detects dev servers, writes scripts to /tmp. Testing websites, forms, login flows, screenshots, responsive design, any browser task.
- License
- WTFPL
- Instructions
- 450 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (6)
- API_REFERENCE.md
- SKILL.md
- helpers.js · lib/
- package-lock.json
- package.json
- run.js
SKILL.md (first lines)
**IMPORTANT - Path Resolution:**
This skill can be installed in different locations (plugin system, manual installation, global, or project-specific). Before executing any commands, determine the skill directory based on where you loaded this SKILL.md file, and use that path in all commands below. Replace `$SKILL_DIR` with the actual discovered path.
Common installation paths:
- Plugin system: `~/.claude/plugins/marketplaces/playwright-skill/skills/playwright-skill`
- Manual global: `~/.claude/skills/playwright-skill`
- Project-specific: `<project>/.claude/skills/playwright-skill`
# Playwright Browser Automation
General-purpose browser automation skill. I'll write custom Playwright code for any automation task you request and execute it via the universal executor.
**CRITICAL WORKFLOW - Follow these steps in order:**
1. **Auto-detect dev servers** - For localhost testing, ALWAYS run server detection FIRST:
```bash
cd $SKILL_DIR && node -e "require('./lib/helpers').detectDevServers().then(servers => console.log(JSON.stringify(servers)))"
```
- If **1 server found**: Use it automatically, inform user
- If **multiple servers found**: Ask user which one to test
- If **no servers found**: Ask for URL or offer to help start dev server
2. **Write scripts to /tmp** - NEVER write test files to skill directory; always use `/tmp/playwright-test-*.js`
3. **Use visible browser by default** - Always use `headless: false` unless user specifically requests headless mode
4. **Parameterize URLs** - Always make URLs configurable via environment variable or constant at top of script
## How It Works
1. You describe what you want to test/automate
2. I auto-detect running dev servers (or ask for URL if testing external site)
3. I write custom Playwright code in `/tmp/playwright-test-*.js` (won't clutter your project)
4. I execute it via: `cd $SKILL_DIR && node run.js /tmp/playwright-test-*.js`
5. Results displayed in real-time, browser window visible for debugging
6. Test files auto-cleaned from /tmp by your OS
## Setup (First Time)
```bash
cd $SKILL_DIR
npm run setup
```
This installs Playwright and Chromium browser. Only needed once.
## Execution Pattern
**Step 1: Detect dev servers (for localhost testing)**
```bash
cd $SKILL_DIR && node -e "require('./lib/helpers').detectDevServers().then(s => console.log(JSON.stringify(s)))"
```
**Step 2: Write test script to /tmp with URL parameter**
```javascript
// /tmp/playwright-test-page.js
const { chromium } = require('playwright');
// Parameterized URL (detected or user-provided)
const TARGET_URL = 'http://localhost:3001'; // <-- Auto-detected or from user
(async () => {
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto(TARGET_URL);
console.log('Page loaded:', await page.title());
await page.screenshot({ path: '/tmp/screenshot.png', fullPage: true });
console.log('📸 Screenshot saved to /tmp/screenshot.png');
await browser.close();
})();
```
**Step 3: Execute from skill directory**
```bash
cd $SKILL_DIR && node run.js /tmp/playwright-test-page.js
```
## Common Patterns
### Test a Page (Multiple Viewports)
```javascript
// /tmp/playwright-test-responsive.js
const { chromium } = require('playwright');
const TARGET_URL = 'http://localhost:3001'; // Auto-detected
(async () => {
const browser = await chromium.launch({ headless: false, slowMo: 100 });
const page = await browser.newPage();
// Desktop test
await page.setViewportSize({ width: 1920, height: 1080 });
await page.goto(TARGET_URL);
console.log('Desktop - Title:', await page.title());
await page.screenshot({ path: '/tmp/desktop.png', fullPage: true });
// Mobile test
await page.setViewportSize({ width: 375, height: 667 });
await page.screenshot({ path: '/tmp/mobile.png', fullPage: true });
await browser.close();
})();
```
### Test Login Flow
```javascript
// /tmp/playwright-test-login.js
const { chromium } = require('playwright');From 1337hero/claude-toolkit, WTFPL.
More from 1337hero/claude-toolkit
- 0.502score
llama-tune
1337hero
Empirically tune GGUF model's llama-swap/llama.cpp config for multi-GPU rig — card placement, KV-cache quant, context length, batch sizes, prompt-cache…
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
frontend-philosophy
1337hero
React/Preact frontend conventions: TanStack Query for server state, 8-section components, no TypeScript, no barrel files.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ponytail
1337hero
Forces laziest solution that works — simplest, shortest, most minimal.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ponytail-audit
1337hero
Whole-repo audit for over-engineering.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ponytail-review
1337hero
Code review hunting over-engineering only.
SkillCFreshness: C★ 1Claude Code +9 - 0.496score
codebase-documenter
1337hero
Write codebase docs: README, architecture, API, comments.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
browser-tools
1337hero
Drive VISIBLE Chrome with real profile/logins (CDP :9222).
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
frontend-design
1337hero
Create distinctive frontend interfaces: components, pages, dashboards, React, HTML/CSS.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
announce
1337hero
Run the announcement round for a finished project: attribution check, directory submissions, launch-post drafts in Mike's voice.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
ignite
1337hero
Novel ignition ritual for story-bible: 3-line 'previously on' + one pulling question.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
improve-codebase-architecture
1337hero
Find architecture improvements: consolidate modules, improve testability and AI navigation.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
caveman
1337hero
Ultra-compressed communication mode.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 2, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- WTFPL
- Repository
- github.com/1337hero/claude-toolkit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from 1337hero
- 0.502score
llama-tune
1337hero
Empirically tune GGUF model's llama-swap/llama.cpp config for multi-GPU rig — card placement, KV-cache quant, context length, batch sizes, prompt-cache…
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
frontend-philosophy
1337hero
React/Preact frontend conventions: TanStack Query for server state, 8-section components, no TypeScript, no barrel files.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ponytail-audit
1337hero
Whole-repo audit for over-engineering.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ponytail
1337hero
Forces laziest solution that works — simplest, shortest, most minimal.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ponytail-review
1337hero
Code review hunting over-engineering only.
SkillCFreshness: C★ 1Claude Code +9 - 0.496score
codebase-documenter
1337hero
Write codebase docs: README, architecture, API, comments.
SkillCFreshness: C★ 1Claude Code +9
Cite this page
playwright-skill. Agent Mart. https://agentmart.dev/skills/1337hero-playwright-skill (last updated 2026-10-24)