#376 by GitHub stars

lackeyjb/playwright-skill

Complete browser automation with Playwright. Auto-detects dev servers, writes reusable test scripts, and supports screenshots, responsive checks, UX validation, login flows, link checks, and arbitrary browser automation. Use when the user wants to test a website, automate browser interactions, valid

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/playwright-skill/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

dd47a6a023e2 → dd47a6a023e2

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → dd47a6a023e2

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit dd47a6a023e249eb1b36e9e943eab89d0900865d

git clone --filter=blob:none --no-checkout https://github.com/lackeyjb/playwright-skill.git .hotskills/lackeyjb-playwright-skill && git -C .hotskills/lackeyjb-playwright-skill checkout --detach dd47a6a023e249eb1b36e9e943eab89d0900865d # Copy each selected skill directory from .hotskills/lackeyjb-playwright-skill into .claude/skills/<skill-name>/
3.3kGitHub stars
14stars in 7 days
1skill in this repository
0commits in 30 days

Heat

4.8
  • Star growth, last 7 daysAhead of 70% of tracked repositories
  • Star growth, last 24 hoursAhead of 71% of tracked repositories
  • Rank movement, last 7 daysAhead of 44% of tracked repositories
  • Commits, last 30 daysAhead of 0% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 20263,269

Individual skills in this repository

How it works

playwright-skill

When your agent uses it

Complete browser automation with Playwright. Auto-detects dev servers, writes reusable test scripts, and supports screenshots, responsive checks, UX validation, login flows, link checks, and arbitrary browser automation. Use when the user wants to test a website, automate browser interactions, validate web functionality, or perform browser-based testing.

What it loads into context

Frontmatter

133 tokens

Always available to the agent

SKILL.md

1,842 tokens

When the skill is activated

Reference documents

4,002 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Path resolution
  2. Workflow
  3. Setup
  4. Minimal example
  5. Current Playwright patterns
  6. Common tasks
  7. Helpers
  8. Configuration

Scripts executed separately

  • lib/helpers.js
  • package.json
  • run.js

Files

  • ../../.claude-plugin/marketplace.jsonasset1,085 bytes
  • ../../.claude-plugin/plugin.jsonasset550 bytes
  • API_REFERENCE.mddoc16,461 bytes
  • SKILL.mdcore7,741 bytes
  • SKILL.mdcore7,741 bytes
  • SKILL.mdcore7,741 bytes
  • SKILL.mdcore7,741 bytes
  • SKILL.mdcore7,741 bytes
  • SKILL.mdcore7,741 bytes
  • SKILL.mdcore7,741 bytes
  • SKILL.mdcore7,741 bytes
  • SKILL.mdcore7,741 bytes
  • SKILL.mdcore7,741 bytes
  • lib/helpers.jsruns4,243 bytes
  • package-lock.jsonasset1,761 bytes
  • package.jsonruns699 bytes
  • run.jsruns3,685 bytes
Read SKILL.md

# Playwright Browser Automation

Write and execute focused Playwright scripts for the user's request. Prefer the
skill's executor and helpers, but use the full Playwright API when needed.

## Path resolution

This skill can be installed in several locations, so resolve its directory
first. Set `SKILL_DIR` to the directory containing this SKILL.md file, then run
the commands below as written:

```bash
export SKILL_DIR=<absolute path of the directory containing this SKILL.md>
export TMP_DIR="$(node -p 'require("node:os").tmpdir()')"
View the complete source on GitHub

Skills included

  • playwright-skill

Repository facts

License
MIT
Created
Oct 19, 2025
Last pushed
Nov 1, 2026
Forks
255
Open issues
5
Project activity
Active

Rank over the last 12 weeks

Now #376 · best #276 · down 54 in 30 days

  1. #369 on Oct 31
  2. #368 on Nov 1
  3. #369 on Nov 2
  4. #372 from Nov 3 to Nov 4
  5. #373 on Nov 5
  6. #376 since Nov 6
69 earlier periods
  1. #269 on Aug 2
  2. #271 on Aug 7
  3. #273 on Aug 8
  4. #270 on Aug 9
  5. #279 on Aug 10
  6. #275 on Aug 11
  7. #276 on Aug 12
  8. #280 on Aug 13
  9. #278 on Aug 14
  10. #276 on Aug 15
  11. #281 on Aug 16
  12. #280 on Aug 17
  13. #287 from Aug 18 to Aug 19
  14. #285 on Aug 20
  15. #288 on Aug 21
  16. #283 on Aug 22
  17. #288 on Aug 23
  18. #290 on Aug 24
  19. #292 from Aug 25 to Aug 26
  20. #291 on Aug 27
  21. #293 on Aug 28
  22. #292 on Aug 29
  23. #295 on Aug 31
  24. #299 on Sep 1
  25. #296 on Sep 2
  26. #303 on Sep 3
  27. #295 on Sep 4
  28. #293 from Sep 5 to Sep 6
  29. #304 from Sep 7 to Sep 9
  30. #305 on Sep 10
  31. #301 on Sep 11
  32. #305 on Sep 12
  33. #308 on Sep 15
  34. #305 from Sep 17 to Sep 18
  35. #303 on Sep 19
  36. #312 on Sep 20
  37. #310 on Sep 21
  38. #315 on Sep 22
  39. #311 from Sep 23 to Sep 25
  40. #307 on Sep 26
  41. #312 on Sep 27
  42. #316 on Sep 28
  43. #319 on Sep 29
  44. #314 on Sep 30
  45. #313 on Oct 1
  46. #316 on Oct 2
  47. #312 on Oct 3
  48. #308 on Oct 4
  49. #316 on Oct 5
  50. #318 on Oct 6
  51. #322 on Oct 7
  52. #325 on Oct 8
  53. #331 on Oct 9
  54. #324 on Oct 10
  55. #325 on Oct 11
  56. #337 on Oct 12
  57. #334 on Oct 13
  58. #335 on Oct 14
  59. #332 on Oct 15
  60. #338 on Oct 16
  61. #334 on Oct 17
  62. #340 on Oct 18
  63. #343 from Oct 20 to Oct 21
  64. #344 from Oct 22 to Oct 23
  65. #342 on Oct 24
  66. #353 on Oct 25
  67. #363 on Oct 28
  68. #366 on Oct 29
  69. #368 on Oct 30

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 2, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 9 notes
  • skills/playwright-skill/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/playwright-skill/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/playwright-skill/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/playwright-skill/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/playwright-skill/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/playwright-skill/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/playwright-skill/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/playwright-skill/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/playwright-skill/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 51 signals by file

.claude-plugin/marketplace.json

  • Network accessline 18
    "name": "lackeyjb"       },       "homepage": "https://github.com/lackeyjb/playwright-skill",
  • Network accessline 19
    },       "homepage": "https://github.com/lackeyjb/playwright-skill",       "repository": "https://github.com/lackeyjb/playwright-skill",
  • Network accessline 20
    "homepage": "https://github.com/lackeyjb/playwright-skill",
  • Network accessline 21
    "repository": "https://github.com/lackeyjb/playwright-skill",

.claude-plugin/plugin.json

  • Network accessline 7
    },   "license": "MIT",   "repository": "https://github.com/lackeyjb/playwright-skill",
  • Network accessline 8
    "license": "MIT",   "repository": "https://github.com/lackeyjb/playwright-skill",   "keywords": [
  • Network accessline 9
    "repository": "https://github.com/lackeyjb/playwright-skill",

skills/playwright-skill/API_REFERENCE.md

  • Network accessline 56
    reporter: 'html',   use: {     baseURL: 'http://localhost:3000',
  • Network accessline 57
    use: {     baseURL: 'http://localhost:3000',     trace: 'on-first-retry',
  • Network accessline 58
    baseURL: 'http://localhost:3000',
  • Network accessline 69
    webServer: {     command: 'npm run start',     url: 'http://localhost:3000',
  • Network accessline 70
    command: 'npm run start',     url: 'http://localhost:3000',     reuseExistingServer: !process.env.CI,
  • Network accessline 71
    url: 'http://localhost:3000',
  • Network accessline 98
    // Navigate, then assert a meaningful readiness signal.   await page.goto('https://example.com');
  • Network accessline 99
    await page.goto('https://example.com');
  • Network accessline 307
    // Page assertions await expect(page).toHaveTitle('My App'); await expect(page).toHaveURL('https://example.com/dashboard');
  • Network accessline 308
    await expect(page).toHaveTitle('My App'); await expect(page).toHaveURL('https://example.com/dashboard'); await expect(page).toHaveURL(/.*dashboard/);
  • Network accessline 309
    await expect(page).toHaveURL('https://example.com/dashboard');
  • Network accessline 496
    // Measure page load time const startTime = Date.now(); await page.goto('https://example.com');
  • Network accessline 497
    const startTime = Date.now(); await page.goto('https://example.com'); const loadTime = Date.now() - startTime;
  • Network accessline 498
    await page.goto('https://example.com');
  • Network accessline 640
    # Generate code npx playwright codegen https://example.com
  • Network accessline 641
    npx playwright codegen https://example.com
  • Network accessline 649
    - [Playwright Documentation](https://playwright.dev/docs/intro)
  • Network accessline 650
    - [API Reference](https://playwright.dev/docs/api/class-playwright)
  • Network accessline 651
    - [Best Practices](https://playwright.dev/docs/best-practices)

skills/playwright-skill/SKILL.md

  • Broad permissionsline 1
    Bash(node:*) Bash(npm:*) Read Write
  • Network accessline 74
    const targetUrl = process.env.TARGET_URL || 'http://localhost:3000';
  • Network accessline 99
    node "$SKILL_DIR/run.js" -e "const browser = await chromium.launch({headless: false}); try { const page = await browser.newPage(); await page.goto('https://example.com'); console.log(await page.title()); } finally { await browser.close(); }
  • Network accessline 177
    const browser = await chromium.connectOverCDP('http://127.0.0.1:9222');

skills/playwright-skill/lib/helpers.js

  • Executable scriptline 1
    Executable file
  • Network accessline 103
    });   }));   return servers.sort((a, b) => a - b).map(port => `http://localhost:${port}`);
  • Network accessline 104
    }));   return servers.sort((a, b) => a - b).map(port => `http://localhost:${port}`); }
  • Network accessline 105
    return servers.sort((a, b) => a - b).map(port => `http://localhost:${port}`);

skills/playwright-skill/package-lock.json

  • Network accessline 18
    "node_modules/fsevents": {       "version": "2.3.2",       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
  • Network accessline 19
    "version": "2.3.2",       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",       "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
  • Network accessline 20
    "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
  • Network accessline 32
    "node_modules/playwright": {       "version": "1.62.1",       "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.1.tgz",
  • Network accessline 33
    "version": "1.62.1",       "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.1.tgz",       "integrity": "sha512-0M+L3LAD8/nm554LOla9Ayx0j0tmFZ0FBcoQ7F1VuVHpM/XpiC8RcDzBQB8W5+hA8L22THxELzeF+2WcUzvcLg==",
  • Network accessline 34
    "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.1.tgz",
  • Network accessline 50
    "node_modules/playwright-core": {       "version": "1.62.1",       "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.1.tgz",
  • Network accessline 51
    "version": "1.62.1",       "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.1.tgz",       "integrity": "sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==",
  • Network accessline 52
    "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.1.tgz",

skills/playwright-skill/package.json

  • Executable scriptline 1
    Executable file

skills/playwright-skill/run.js

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 70
    const source = args.slice(1).join(' ');   if (!source) {     console.error('Usage: node run.js -e "await page.goto(\'https://example.com\')"');
  • Network accessline 71
    if (!source) {     console.error('Usage: node run.js -e "await page.goto(\'https://example.com\')"');     process.exit(1);
  • Network accessline 72
    console.error('Usage: node run.js -e "await page.goto(\'https://example.com\')"');
  • Network accessline 92
    } else {   console.error('Usage: node run.js <script.js> [args...]');   console.error('   or: node run.js -e "await page.goto(\'https://example.com\')"');
  • Network accessline 93
    console.error('Usage: node run.js <script.js> [args...]');   console.error('   or: node run.js -e "await page.goto(\'https://example.com\')"');   process.exit(1);
  • Network accessline 94
    console.error('   or: node run.js -e "await page.goto(\'https://example.com\')"');

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 42 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/playwright-skill/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/playwright-skill/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/playwright-skill/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/playwright-skill/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/playwright-skill/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

lackeyjb/playwright-skill: #376 on hotskills, 3.3k stars

[![lackeyjb/playwright-skill on hotskills](https://hotskills.dev/badge/lackeyjb-playwright-skill.svg)](https://hotskills.dev/skill/lackeyjb-playwright-skill/)