From forge
Dedicated browser automation skill using Playwright. Executes browser flows, captures screenshots, and reports results. Used by /verify for web domain QA, and available standalone for browser-based tasks. Use for browser testing — triggered by 'test in browser', 'run Playwright', 'check the UI', 'browser automation', 'test the page'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/forge:browseThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Execute browser-based testing flows using Playwright, standalone or delegated by `/verify`.
Execute browser-based testing flows using Playwright, standalone or delegated by /verify.
From $ARGUMENTS, determine what to test:
If no arguments, ask the user for a URL, flow, or test file path.
npx playwright --version 2>/dev/null || bunx playwright --version 2>/dev/null || echo "NOT_INSTALLED"
If missing: npm install --save-dev @playwright/test && npx playwright install chromium.
If install fails: report FORGE /browse — BLOCKED with error and stop. Never fall back to curl, wget, or MCP browser tools.
Identify flows from architecture doc, user input, or /verify delegation:
List before executing: FORGE /browse — Flows identified: [N] with numbered list.
Create .forge/browse/ and .forge/browse/screenshots/ if needed. Write .forge/browse/flows.spec.js:
const { test, expect } = require('@playwright/test');
test.describe('FORGE Browser Flows', () => {
test('[flow name]', async ({ page }) => {
await page.goto('[url]');
// Navigate flow, assert expected outcomes
});
});
Each flow gets its own test() block. Assert on visible text/elements, not implementation details. Use page.waitForSelector() or expect(locator).toBeVisible() for dynamic content.
npx playwright test .forge/browse/ --reporter=list
On failure, re-run with --screenshot=on (saves to .forge/browse/screenshots/). Record: which step failed, expected vs actual, screenshot path.
Before testing, determine run command and URL from architecture doc, config files, README, or scripts. If unclear, ask — never skip.
mkdir -p .forge/browse .forge/browse/screenshots
Write .forge/browse/report.md with required sections:
FORGE /browse — [PASS | FAIL]
URL: [base URL]
Flows: [passed]/[total]
Report: .forge/browse/report.md
[If failures]: Screenshots: .forge/browse/screenshots/
[If called by /verify]: Results returned to /verify for final report.
.forge/browse/, not the project's test directorynpx and bunx; detect from project config — never guess URLs or ports/verify, return structured results, not just pass/failFollow skills/shared/compliance-telemetry.md. Log violations via scripts/compliance-log.sh:
wrong-browser-tool (major) — non-Playwright tool usedcode-modified (critical) — app code changed during observation-only testingmissing-screenshot (major) — failure without screenshottesting-skipped (major) — testing skipped instead of reporting FAILSee skills/shared/rules.md for evidence-before-claims.
See skills/shared/workflow-routing.md. Browse is a support skill — results returned to /verify when delegated.
npx claudepluginhub bakirp/forge --plugin forgeGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.