# Playwright Safe

> Run browser automation with Playwright using a no-assets, low-churn workflow. Use when you need navigation, form actions, extraction, or screenshots without installing icon/image assets that can trigger repeated rg.exe scans.

- Skill: `grtninja/playwright-safe` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add grtninja/playwright-safe`
- Raw SKILL.md: https://api.skillmd.com/api/skills/grtninja/playwright-safe/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: grtninja (https://skillmd.com/u/grtninja)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/grtninja/playwright-safe

---


# Playwright Safe

Use this skill for Playwright browser work when host churn sensitivity matters.

## Workflow

1. Run preflight to enforce no-assets policy for this skill package.
2. Run browser tasks through Playwright CLI commands.
3. Store outputs in task folders, not in the skill folder.
4. Keep commands deterministic and short.

## Preflight

Run this before automation tasks:

```bash
python3 "$CODEX_HOME/skills/playwright-safe/scripts/playwright_safe_preflight.py" \
  --skill-root "$CODEX_HOME/skills/playwright-safe" \
  --json-out /tmp/playwright-safe-preflight.json
```

## Command Patterns

Check runtime:

```bash
playwright --version
```

Install browser dependencies if needed:

```bash
playwright install chromium
```

Run a script:

```bash
node /path/to/script.js
```

## Guardrails

1. Do not add `assets/` to this skill.
2. Do not add image/icon files (`*.png`, `*.svg`, `*.jpg`, `*.jpeg`, `*.gif`, `*.ico`) to this skill.
3. Keep outputs outside `$CODEX_HOME/skills/playwright-safe`.
4. If churn is observed, rerun preflight and remove added assets immediately.
## Scope Boundary

Use this skill only for the `playwright-safe` lane and workflow defined in this file and its references.

Do not use this skill for unrelated lanes; route those through `$skill-hub` and the most specific matching skill.

## References

- `references/no-churn-rules.md`

## Loopback

If this lane is unresolved, blocked, or ambiguous:

1. Capture current evidence and failure context.
2. Route back through `$skill-hub` for chain recalculation.
3. Resume only after the updated chain returns a deterministic next step.

