Skip to content
Agent Orchestration
Skill

/pr-test-automation

Run first-pass automated manual testing for PRs that are reviewed or nearly ready to merge. Use when the user asks to test a PR/branch/worktree, validate product flows, exercise browser or CLI workflows, map changed UI journeys with screenshots, verify

From plugin
pane
59739 skills4 agents

Claude Code

$ npx -y skills add greenfield-inc/Pane --skill pr-test-automation --agent claude-code

SKILL.md

pr-test-automation.SKILL.md
name: pr-test-automation
description: Run first-pass automated manual testing for PRs that are reviewed or nearly ready to merge. Use when the user asks to test a PR/branch/worktree, validate product flows, exercise browser or CLI workflows, map changed UI journeys with screenshots, verify analytics/webhooks/payments/email/SMS behavior through connected tools, or produce manual QA notes before human testing.

PR Test Automation

Overview

Validate as much of a PR as possible with local services, browser automation, CLIs, logs, and product connectors before the user does final manual testing. Treat this as a first-pass QA workflow: prove what works with evidence, identify what still needs a human, and preserve a reproducible trail.

Workflow

1. Confirm the test target:

  • Identify PR numbers, branches, worktrees, related companion PRs, and whether the user allowed rebasing/syncing.
  • Check `git status`, current branch, remotes, and whether unrelated local changes exist.
  • Inspect PR descriptions/review notes when they define required manual flows.

2. Check tools and authentication up front:

  • Verify required CLIs and connectors before starting long tests: `gh auth status`, `stripe --version` / active listener state, Docker status, PostHog/GitHub/Gmail connectors, cloud CLIs, or app-specific CLIs.
  • Discover verification tools before assuming a manual check is required. If Composio is available, use `composio search` to find candidate inbox, SMS/phone, payment, CRM, support, or provider-log tools, then inspect schemas with `--get-schema` before executing.
  • Prefer connected app tools for product data verification. Do not assume credentials are current.
  • Use test-mode accounts, test keys, local containers, and staging-safe endpoints unless the user explicitly asks for production verification.
  • For OS-sensitive changes or cross-platform claims, follow

[Cross-OS Workspaces](references/cross-os-workspaces.md) for discovery, isolated execution, and per-OS evidence throughout this workflow.

3. Prepare the environment:

  • Install dependencies only where needed and report anything that changes lockfiles.
  • Start required dev servers or confirm existing sessions, ports, and mounted worktrees.
  • For companion PRs, test the combined state in the worktree/container that actually serves the code.
  • Avoid leaving duplicate background listeners or servers. List and clean up only processes started for the test.

4. Build the automated test path:

  • Use Playwright when browser behavior matters. If the repo lacks Playwright, install it in a temporary directory rather than polluting the repo.
  • Use stable, user-visible selectors first: labels, placeholders, button text, URLs, and route state.
  • Generate unique short test identities and attribution markers such as `agent-e2e-<timestamp>`.
  • When UI changes are in scope, map each touched surface area and user journey to screenshots in a temporary, easy-to-observe folder such as `tmp/pr-<number>-qa/` or `tmp/<branch>-qa/`. Use ordered filenames that describe the journey step, such as `01-signup-account.png` and `02-dropdown-expanded.png`.
  • Capture meaningful UI states, not only final pages: empty/default, filled/selected, expanded menus, modals, validation errors, loading/success states, and at least one narrow viewport when responsive layout is likely affected.
  • Reuse the same screenshot artifact pattern for local/dev validation and, when the user asks for post-merge production verification, for production paths. Keep local and production artifacts separated by folder or filename.
  • When a journey is driven by a scriptable browser driver, record it as a video alongside the stills. One video per journey, recorded at the driver level (e.g. Playwright's `recordVideo`) so it is a free byproduct of the drive, not a second pass. Keep the driver's native format (WebM from browser, MP4 from simulator). Videos complement stills, never replace them: per-step captures remain the frame-addressable evidence, the video is the continuity check. Where ffmpeg is available, scan for blank-frame bands (`ffprobe -f lavfi "movie=<video>,fps=5,signalstats" -show_entries frame=pts_time -show_entries frame_tags=lavfi.signalstats.YAVG`; YAVG ~235 is blank white) and report layout jumps, white flashes, or dead time as findings with timestamp ranges.
  • Prefer the app's built-in test/simulation path for external effects: local inboxes, Mailhog-style UIs, fake SMS numbers, test OTP logs, sandbox payment modes, webhook listeners, or provider test keys.
  • Parse local email/SMS verification links or codes from container logs when the local environment emits them.
  • Add small human-paced waits around analytics or step-transition tests so effects and batched events have time to fire in the same order a user would experience.

5. Verify externally, not just locally:

  • Network requests prove the browser tried to send data; connector/API queries prove the product received it.
  • When simulation is unavailable, use connected recipient/provider readback: Gmail/Outlook/IMAP or email-service activity for email; Twilio/Dialpad/OpenPhone/Google Voice/test-number services or provider logs for SMS/voice; Stripe/provider dashboards for payments.
  • Query by the unique marker, test email, phone number, org ID, subscription ID, webhook event ID, request ID, or other stable test value.
  • For webhooks, confirm both CLI/listener output and backend logs, then verify downstream data.
  • For analytics dashboards, query the exact project and call out the date range and filters used.

6. Report results:

  • Return what passed, remaining uncertainty, the next check, and up to three improvements grounded in testing friction.

Open with a verdict, then the evidence. The structure:

   Verdict: <all-proven | partial | blocked-env | blocked-auth | blocked-timeout | product-bug-found>

   | Journey / Che
Read more
@greenfield-inc
Ships withpane

pnpm dlx runpane@latest

59739 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
597
Star history of greenfield-inc/Pane on GitHub, a chart by star-history.com

Other skills on pane.

babysit-pr

babysit-pr

Use after a pull request is open to watch its CI and review-bot comments until it is ready. Fixes real findings, replies with a…

@greenfield-inc@greenfield-incInstall Skill
brief

brief

Use when a problem, idea, or change of intent is worth capturing as a long-form page, or the person asks to write it up. Never…

@greenfield-inc@greenfield-incInstall Skill
bug-intake

bug-intake

Use when the person reports broken behaviour or starts a session to file a bug. Reproduces and reports. Never fixes.

@greenfield-inc@greenfield-incInstall Skill
codebase-design

codebase-design

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening…

@greenfield-inc@greenfield-incInstall Skill
codebase-explorer

codebase-explorer

Explore the codebase to locate files, trace behavior, and document existing patterns with precise file references. Use when the…

@greenfield-inc@greenfield-incInstall Skill
cold-read

cold-read

Give a fresh agent something to walk through with zero context - a PR body, a landing page, a document, a process, instructions,…

@greenfield-inc@greenfield-incInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

clawdis2w393k
@steipete@steipeteInstall Skill
computer-use

computer-use

Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…

orca2w111k
@stablyai@stablyaiInstall Skill
agentmail

agentmail

Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…

paperclip2w109k
@paperclipai@paperclipaiInstall Skill
adr-create

adr-create

Create a new Architecture Decision Record with sequential numbering and AgentDB registration

@ruvnet@ruvnetInstall Skill

Questions about pr-test-automation.

Which coding agents can use pr-test-automation?
pr-test-automation installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.