MR
Mayur Rathi
@playwright-community
⭐ 40.7k GitHub stars

Go Playwright

Go Playwright is an productivity AI skill with a core value of Expert capability for robust, stealthy, and efficient browser automation using Playwright Go. It helps developers solve real-world problems in the productivity domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

Expert capability for robust, stealthy, and efficient browser automation using Playwright Go.

Last verified on: 2026-07-07

Quick Facts

Category productivity
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 40.7k
Last Verified 2026-07-07
Risk Level High
mkdir -p ./skills/go-playwright && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/go-playwright/SKILL.md -o ./skills/go-playwright/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Playwright Go Automation Expert


Overview

This skill provides a comprehensive framework for writing high-performance, production-grade browser automation scripts using `github.com/playwright-community/playwright-go`. It enforces architectural best practices (contexts over instances), robust error handling, structured logging (Zap), and advanced human-emulation techniques to bypass anti-bot systems.


When to Use This Skill

- Use when the user asks to "scrape," "automate," or "test" a website using Go.

- Use when the target site has complex dynamic content (SPA, React, Vue) requiring a real browser.

- Use when the user mentions "stealth," "avoiding detection," "cloudflare," or "human-like" behavior.

- Use when debugging existing Playwright scripts.


Safety & Risk

**Risk Level: 🔵 Safe**


- **Sandboxed Execution:** Browser contexts are isolated; they do not persist data to the host machine unless explicitly saved.

- **Resource Management:** Designed to close browsers and contexts via `defer` to prevent memory leaks.

- **No External State-Change:** Default behavior is read-only (scraping/testing) unless the script is explicitly designed to submit forms or modify data.


Limitations

- **Environment Dependencies:** Requires Playwright drivers and browsers to be installed (`go run github.com/playwright-community/playwright-go/cmd/playwright@latest install --with-deps`).

- **Resource Intensity:** Launching full browser instances (even headless) consumes significant RAM/CPU. Use single-browser/multi-context architecture.

- **Bot Detection:** While this skill includes stealth techniques, extremely strict anti-bot systems (e.g., rigorous Cloudflare settings) may still detect automation.

- **CAPTCHAs:** Does not include built-in CAPTCHA solving capabilities.


Strategic Implementation Guidelines


1. Architecture: Contexts vs. Browsers

**CRITICAL:** Never launch a new `Browser` instance for every task.

- **Pattern:** Launch the `Browser` *once* (singleton). Create a new `BrowserContext` for each distinct session or task.

- **Why:** Contexts are lightweight and created in milliseconds. Browsers take seconds to launch.

- **Isolation:** Contexts provide complete isolation (cookies, cache, storage) without the overhead of a new process.


2. Logging & Observability

- **Library:** Use `go.uber.org/zap` exclusively.

- **Rule:** Do not use `fmt.Println`.

- **Modes:**

- **Dev:** `zap.NewDevelopment()` (Console friendly)

- **Prod:** `zap.NewProduction()` (JSON structured)

- **Traceability:** Log every navigation, click, and input with context fields (e.g., `logger.Info("clicking button", zap.String("selector", sel))`).


3. Error Handling & Stability

- **Graceful Shutdown:** Always use `defer` to close Pages, Contexts, and Browsers.

- **Panic Recovery:** Wrap critical automation routines in a safe runner that recovers panics and logs the stack trace.

- **Timeouts:** Never rely on default timeouts. Set explicit timeouts (e.g., `playwright.PageClickOptions{Timeout: playwright.Float(5000)}`).


4. Stealth & Human-Like Behavior

To bypass anti-bot systems (Cloudflare, Akamai), the generated code must **imitate human physiology**:

- **Non-Linear Mouse Movement:** Never teleport the mouse. Implement a helper that moves the mouse along a Bezier curve with random jitter.

- **Input Latency:** never use `Fill()`. Use `Type()` with random delays between keystrokes (50ms–200ms).

- **Viewport Randomization:** Randomize the viewport size slightly (e.g., 1920x1080 ± 15px) to avoid fingerprinting.

- **Behavioral Noise:** Randomly scroll, focus/unfocus the window, or hover over irrelevant elements ("idling") during long waits.

- **User-Agent:** Rotate User-Agents for every new Context.


5. Documentation Usage

- **Primary Source:** Rely on your internal knowledge of the API first to save tokens.

- **Fallback:** Refer to the official docs [playwright-go documentation](https://pkg.go.dev/github.com/playwright-community/playwright-go#s

🎯 Best For

  • Claude users
  • Knowledge workers
  • Remote teams
  • Professionals

💡 Use Cases

  • Using Go Playwright in daily workflow
  • Automating repetitive productivity tasks

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Go Playwright to Your Work

    Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.

  4. 4

    Review and Refine

    Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.

❓ Frequently Asked Questions

How do I install Go Playwright?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/go-playwright/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Not reading the full skill

Skills contain important context and edge cases beyond the quick start.

🔗 Related Skills