ulpi-io/skills

browse-qa

Turn a ticket, URL, or plain-language spec into an executed QA run AND reusable regression flows — scenarios and evidence, not ad-hoc clicking — by decomposing the request into happy/error/edge/ exploratory scenarios, driving each against the real target through the `browse` skill (web or iOS/Android/macOS), capturing pass/fail evidence, and recording cleanly-scoped browse flows worth rerunning. Saves a flow only when it is well-scoped and valuable, never noisy half-recordings. Use to QA a feat…

First seen Mar 30, 2026

Installation

$ npx skills add ulpi-io/skills --skill browse-qa

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from ulpi-io/skills · top by installs.

npx skills add ulpi-io/skills

Browse all from ulpi-io/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 5
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version2.0.0
Allowed toolsAskUserQuestion, Bash, Read, Write, Skill

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,913 B
  • docs SUMMARY.md 561 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 137 installs

SKILL.md

<EXTREMELY-IMPORTANT> This skill owns the QA plan and report, not the low-level browser command encyclopedia.

Non-negotiable rules:

  1. Turn the incoming spec into explicit scenarios before testing.
  2. Confirm ambiguous targets or platforms before execution.
  3. Use the browse skill for actual browser or simulator interaction.
  4. Capture evidence for each failed or important scenario.
  5. Save rerunnable flows only when they are cleanly scoped and valuable for regression.

</EXTREMELY-IMPORTANT>

browse-qa

Inputs

  • $request: Ticket, URL, app target, acceptance criteria, or plain-language QA request

Goal

Produce a credible QA run that:

  • turns a vague request into explicit scenarios
  • runs those scenarios against the real target
  • captures evidence for passes and failures
  • saves rerunnable browse flows when appropriate
  • returns a clean QA report the user can act on

Step 0: Resolve the target and spec

Work out:

  • what feature is being tested
  • the platform: web, iOS simulator, Android emulator, or macOS app
  • the target URL, build artifact, or app identifier
  • the acceptance criteria or expected outcomes

If the target or platform is ambiguous, ask before testing.

Success criteria: The QA target and acceptance criteria are explicit.

Step 1: Build the scenario list

Break the request into:

  • happy path
  • validation or error path
  • edge cases
  • exploratory probes worth trying after the stated acceptance criteria

Keep the plan small enough to execute in one session unless the user asked for a broad QA sweep.

Success criteria: There is a concrete scenario list with expected outcomes.

Step 2: Execute with the browse skill

Use Skill to invoke browse for:

  • navigation
  • page stabilization
  • interactive element discovery
  • clicks, fills, and submissions
  • screenshots, console logs, and network inspection

Rules:

  • keep the same browse session for one logical user journey unless isolation is intentional
  • use headed or handoff mode only for real blockers like CAPTCHA, MFA, or OAuth walls
  • save screenshots and flow artifacts under the browse session directories

Success criteria: Each scenario is executed against the real target with enough evidence to judge pass or fail.

Step 3: Record reusable regression flows

When the scenario is stable and worth rerunning:

  • record the flow
  • split unrelated user journeys into separate flow files
  • give each saved flow a descriptive name

Do not save noisy or half-manual recordings as regression artifacts.

Success criteria: Saved flows are independently rerunnable and map to clear scenarios.

Step 4: Report results

For each scenario, record:

  • expected result
  • actual result
  • pass or fail
  • evidence such as screenshot path, console error, or network symptom

Also report:

  • exploratory findings
  • regression flow files created
  • blockers that prevented full verification

Success criteria: Another engineer can understand the QA outcome without replaying the whole session first.

Guardrails

  • Do not duplicate the full browse command manual inline; use the browse skill.
  • Do not guess a platform when the request is ambiguous.
  • Do not save low-signal flows just to say a regression asset was created.
  • Do not add disable-model-invocation; QA should stay available when the user asks for it.
  • Do not add context: fork; results are usually needed in the current execution flow.

Output Contract

Report:

  1. target tested
  2. scenarios executed
  3. pass/fail result for each scenario
  4. evidence captured
  5. regression flow files created
  6. blockers or uncovered gaps