Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/JuanMarchetto/agent-skillsnpx agentmods add skills/juanmarchetto/agent-skills/playwright-recordingWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/juanmarchetto/agent-skills/playwright-recording)<a href="https://agentmods.dev/skills/juanmarchetto/agent-skills/playwright-recording"><img src="https://agentmods.dev/badge/skills/juanmarchetto/agent-skills/playwright-recording/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/juanmarchetto/agent-skills/playwright-recording"><img src="https://agentmods.dev/badge/skills/juanmarchetto/agent-skills/playwright-recording.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00059 | $0.01769 |
| Opus 5.5 | $0.00024 | $0.00708 |
| Sonnet 5.5 | $0.00012 | $0.00354 |
| Haiku 4.5 | $0.00006 | $0.00177 |
Grade A, and why
playwright-recording scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 213 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Playwright Video Recording
Record browser interactions as video using Playwright — quick capture of demos, walkthroughs, and UI flows during development.
When to Use This vs Other Recording Skills
| Need | Use |
|---|---|
| Scripted demos with cursor animation, overlays, themes | webreel |
| Quick browser capture during development | playwright-recording (this skill) |
| Natural language -> automated recording pipeline | demo-pipeline |
| Live browser interaction with element refs | agent-browser |
Use this skill when you need a fast, scriptable way to capture browser video without the overhead of a full production pipeline. Write a TypeScript script, run it, get a .webm file.
Workflow
Step 1: Setup
npm init -y
npm install -D playwright @playwright/test
npx playwright install chromium
Step 2: Write Recording Script
Create a TypeScript file that launches a browser context with video recording enabled:
import { chromium } from 'playwright';
async function record() {
const browser = await chromium.launch({ slowMo: 50 });
const context = await browser.newContext({
viewport: { width: 1920, height: 1080 },
recordVideo: {
dir: './recordings',
size: { width: 1920, height: 1080 }
}
});
const page = await context.newPage();
// Recording actions
await page.goto('https://example.com');
await page.waitForTimeout(2000);
await page.click('button.demo');
await page.waitForTimeout(3000);
// Close to save video
await context.close();
await browser.close();
console.log('Recording saved to ./recordings/');
}
record();
Step 3: Run
npx tsx scripts/record-demo.ts
Step 4: Convert (optional)
Playwright outputs WebM. Convert to MP4 if needed:
ffmpeg -i recording.webm -c:v libx264 -crf 20 -preset medium -movflags faststart output.mp4
Recording Patterns
Viewport Sizes
// Standard 1080p (recommended)
viewport: { width: 1920, height: 1080 }
// 720p (smaller files)
viewport: { width: 1280, height: 720 }
// Square (social media)
viewport: { width: 1080, height: 1080 }
// Mobile
viewport: { width: 390, height: 844 } // iPhone 14
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 213 lines · 59 tokens per session scan A cb1734575c73
playwright-recording is a skill published in the GitHub repository JuanMarchetto/agent-skills (5 stars, last pushed 7mo ago), licensed MIT. It adds 59 tokens to every session and 1,769 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
playwright-recording compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| playwright-recordingJuanMarchetto/agent-skills | Skill | 5 | 7mo ago | MIT | A | 59 | Claude Code |
| x402browser-use/browser-use | Skill | 121k | yesterday | MIT | A | 166 | Claude Code |
| browser-usebrowser-use/browser-use | Skill | 121k | yesterday | MIT | A | 54 | Claude Code, Codex |
| remote-browserbrowser-use/browser-use | Skill | 121k | yesterday | MIT | A | 22 | Claude Code |
| cloudbrowser-use/browser-use | Skill | 121k | yesterday | MIT | A | 177 | Claude Code |
| opencli-autofixjackwener/OpenCLI | Skill | 31k | 4d ago | Apache-2.0 | A | 61 | Claude Code |
| opencli-adapter-authorjackwener/OpenCLI | Skill | 31k | 4d ago | Apache-2.0 | A | 38 | Claude Code |