agentleFS
AutodeskAutodesk/claude-browser-test-skills/skills/runner/SKILL.md

runner

Skill4 starsChanged 4 months agoApache-2.0View on GitHub

Use when executing a stable E2E test case that has already been refined. Follows test steps exactly without deviation, reports pass/fail with evidence.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. cristian-robert/claude-code-harness★ 2same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository4 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. About 0 are common, 13 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    No test case file exists (use browser-test:author)

    line 22
  2. Very specific:

    Read E2E_ENVIRONMENT from the environment (default: local).

    line 43
  3. Distinctive:

    Check each remaining precondition listed in the test case.

    line 54
  4. Very specific:

    Read E2E_BASE_URL from the environment (default: http://localhost:5173).

    line 56
  5. Distinctive:

    Follow Session Management from global conventions:

    line 60
  6. Distinctive:

    Verify clean session (cookie consent banner should appear on first navigation)

    line 64
  7. Distinctive:

    If the step references a convention (e.g., "Complete Auth0 login"), follow that convention's documented sequence

    line 73
  8. Distinctive:

    If a Verify directive exists, confirm the condition

    line 74
  9. Very specific:

    If verification fails in Before Hook or Test Steps, capture the failure evidence, then still run every ## After Hook step (try/finally …

    line 75
  10. Distinctive:

    After Hook steps are idempotent — a missing-resource error (e.g., the resource was never created) is acceptable and not a failure.

    line 76
  11. Distinctive:

    No improvisation: If a button isn't where the test says it is, that's a failure, not an opportunity to find it elsewhere.

    line 105
  12. Distinctive:

    No refinement: If the test fails, report the failure.

    line 106
  13. Distinctive:

    Fresh session per run: Always. Even if running a single test.

    line 107
  14. Distinctive:

    Evidence on failure: Always capture screenshot and URL when a step fails.

    line 108
  15. Distinctive:

    Execute conventions literally: When a step says "Complete Auth0 login", follow every sub-step from the area conventions.

    line 109
  16. Very specific:

    Three-hook execution order : Always: ## Before Hook → ## Test Steps → ## After Hook.

    line 110
  17. Distinctive:

    When asked to run multiple tests:

    line 115
  18. Distinctive:

    Run each test with its own fresh session

    line 117

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

E2E Test Runner

Overview

Executes a refined, stable E2E test case exactly as documented. No improvisation, no refinement - just faithful execution and clear pass/fail reporting.

Core principle: The test case is the source of truth. If a step fails, the test fails. Do not work around failures.

When to Use

  • Running a previously refined test case
  • User says "run the test" or "execute {test name}"
  • CI-style validation of a known-good flow

Do NOT use when:

  • No test case file exists (use browser-test:author)
  • The test is known to be flaky (use browser-test:refiner)

Prerequisites

  • Stable test case file in tests/e2e/{area}/
  • The Playwright MCP server must be available (configured in .mcp.json)
  • Dev server must be running (or E2E_BASE_URL set to a reachable environment)

Process

1. Load test context

Read in order:

  1. tests/e2e/conventions.md (global)
  2. tests/e2e/{area}/conventions.md (area)
  3. The test case file

2. Environment gate

Read E2E_ENVIRONMENT from the environment (default: local). Check the test case's Environments line in preconditions. If the current environment is not listed, refuse to execute and report:

BLOCKED: {test name}
Reason: Test not allowed in "{environment}" (allowed: {environments list})

This is a hard stop - do not proceed, do not ask if the user wants to override.

3. Verify preconditions

Check each remaining precondition listed in the test case. If any are unmet, report and stop.

Read E2E_BASE_URL from the environment (default: http://localhost:5173). Use this value wherever the test references E2E_BASE_URL.

4. Set up fresh session

Follow Session Management from global conventions:

  1. Close any existing browser session (browser_close)
  2. Navigate to E2E_BASE_URL - this starts a fresh browser instance
  3. Verify clean session (cookie consent banner should appear on first navigation)

5. Execute steps

Execute the three hook sections in this order: ## Before Hook → ## Test Steps → ## After Hook . Validate the markdown has all three sections before starting — if any is missing, refuse to execute and report a malformed test case.

For each step in each section:

  1. Perform the action exactly as described
  2. If the step references a convention (e.g., "Complete Auth0 login"), follow that convention's documented sequence
  3. If a Verify directive exists, confirm the condition
  4. If verification fails in Before Hook or Test Steps, capture the failure evidence, then still run every ## After Hook step (try/finally semantics) so the next run starts from a clean fixture. Report the test as FAIL with the section name.
  5. After Hook steps are idempotent — a missing-resource error (e.g., the resource was never created) is acceptable and not a failure. Only report an After Hook failure if it actively errors on a present resource.

6. Report result

On PASS:

PASS: {test name}
Order/Reference: {any generated ID}
Before Hook: {N}/{N}
Test Steps:  {N}/{N}
After Hook:  {N}/{N}

On FAIL:

FAIL: {test name}
Failed in: {Before Hook | Test Steps | After Hook}
Failed at: Step {N} - {step title}
Expected: {verification condition}
Actual: {what happened}
After Hook: {ran | partial | skipped} ({M}/{N} cleanup steps completed)
Screenshot: {path}
URL: {current URL}

Rules

  • No improvisation. If a button isn't where the test says it is, that's a failure, not an opportunity to find it elsewhere.
  • No refinement. If the test fails, report the failure. Don't update the test case - that's the refiner's job.
  • Fresh session per run. Always. Even if running a single test.
  • Evidence on failure. Always capture screenshot and URL when a step fails.
  • Execute conventions literally. When a step says "Complete Auth0 login", follow every sub-step from the area conventions. Don't skip steps because "it should still be logged in."
  • Three-hook execution order . Always: ## Before Hook → ## Test Steps → ## After Hook. After Hook runs even when Before Hook or Test Steps fails. A test case missing any of the three sections is malformed — refuse to execute and report.
  • After Hook errors are reported but don't override a Test Steps failure. If Test Steps fails AND After Hook fails, the headline failure is the Test Steps failure; After Hook issues are listed in the report body, not in the headline.

Batch Execution

When asked to run multiple tests:

  1. Run each test with its own fresh session
  2. Report results as a summary table:
| Test | Result | Notes |
|------|--------|-------|
| season-pass-new-member | PASS | Order #TEST-RO-4643 |
| day-pass-purchase | FAIL | Step 5 - dropdown not found |
  1. Continue to next test even if one fails (unless user says otherwise)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.