Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add S3YED/appie-kit --skill playwrightgit clone --depth 1 https://github.com/S3YED/appie-kitWrote 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/s3yed/appie-kit/playwright)<a href="https://agentmods.dev/skills/s3yed/appie-kit/playwright"><img src="https://agentmods.dev/badge/skills/s3yed/appie-kit/playwright/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/s3yed/appie-kit/playwright"><img src="https://agentmods.dev/badge/skills/s3yed/appie-kit/playwright.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.00026 | $0.01541 |
| Opus 5.5 | $0.00010 | $0.00616 |
| Sonnet 5.5 | $0.00005 | $0.00308 |
| Haiku 4.5 | $0.00003 | $0.00154 |
Grade A, and why
playwright 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 1mo 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 — 240 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SKILL.md - Playwright Browser Automation
Owner: Appie-3 (CTO) Created: 2026-04-07 Purpose: Browser automation for web scraping, form filling, testing, and repetitive web tasks
What is Playwright?
Microsoft's browser automation framework. Gives your agent full control of a real browser — click buttons, fill forms, scrape content, take screenshots, test websites.
Works with: Chromium, Firefox, WebKit (all three browsers)
Installation
# As npm package
npm install playwright
# Install browsers
npx playwright install chromium
npx playwright install firefox
npx playwright install webkit
# MCP server (for agent integration)
npx @playwright/mcp@latest
Core Capabilities
| Capability | What It Does |
|---|---|
| Navigation | Go to URLs, click links, navigate back/forward |
| Interaction | Click buttons, fill inputs, select dropdowns, checkboxes |
| Extraction | Scrape text, images, tables, JSON from any page |
| Screenshots | Full page or element screenshots |
| PDF Generation | Save pages as PDF |
| Network Interception | Block requests, mock responses |
| Authentication | Login to sites, handle cookies |
| File Upload | Upload files to web forms |
Python SDK (Recommended for Agents)
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
# Navigate
page.goto("https://example.com")
# Interact
page.fill("#search-input", "my search query")
page.click("#search-button")
# Extract
results = page.query_selector_all(".result-item")
for result in results:
title = result.query_selector("h3").inner_text()
link = result.query_selector("a").get_attribute("href")
print(f"{title}: {link}")
# Screenshot
page.screenshot(path="screenshot.png", full_page=True)
browser.close()
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.
- 1mo ago First seen · 240 lines · 26 tokens per session scan A 54121a5700ce
playwright is a skill published in the GitHub repository S3YED/appie-kit (12 stars, last pushed 2mo ago), licensed MIT. It adds 26 tokens to every session and 1,541 once invoked, about $0.0001 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-08-31.
Other skills, from other repositories
geo-review-html
Render an interactive, self-contained HTML companion for a GEO content brief (04-content-brief) or a publish-ready draft (05-production), so a NON-technical client reviewer (founder, organizer staff, the domain expert filling slots) can fill REQUIRED-FILL slots, leave section-level comments, and approve/return work in…
browser-app-delivery
Deliver a runnable local browser app so the user can operate it on the first handoff. This delivery skill does not choose whether a requested local system should be a browser app. On a current turn that explicitly says to implement a brand-new browser project now, load bundled:greenfield-project-scaffolding before…
hive.browser-automation
Required before any hive-browser CLI command. The browser is driven from the terminal by running hive-browser ... --json via terminalexec — not via MCP tools. Teaches the browser lifecycle rules (the bridge attaches to the USER'S running Chrome — never kill or launch browser processes; timeouts are transport issues…
hive.slack-notifications-setup
Set up a Slack notification channel (Sentinel) for a colony by driving the browser — reuse or create the "Hive Sentinel" Slack app from a JSON manifest, install it, capture the bot + app tokens, create/select the channel via the Slack API, and turn Sentinel on so the colony can ping the user on Slack and accept…
ha-browser
Hope Agent browser automation — the standard status → tabs → snapshot → act loop, stale-ref recovery rules, and what to do when login / 2FA / captcha / camera-prompt / dialog blocks progress. Load this skill whenever you reach for the browser tool. Trigger on: user asks the agent to open / control / click / scrape /…
stealth-browser-mcp
Use this skill when operating stealth-browser-mcp from an AI agent or MCP client for browser automation, page inspection, element interaction, screenshots, file uploads, CDP commands, network debugging, cookies/storage, stealth setup, or reliable multi-step browser workflows. It provides the correct tool order, state…