e2e

star 749

Run a basic E2E behavioral probe — one primary scenario smoke test for the grooming step.

wp-media By wp-media schedule Updated 6/17/2026

name: e2e description: Run a basic E2E behavioral probe — one primary scenario smoke test for the grooming step.

E2E SKILL — Basic tier

Config

This skill targets wp-media/wp-rocket:

  • E2E_URL = http://localhost:8888
  • E2E_BOOT = bash bin/dev-up.sh
  • E2E_SETTINGS = http://localhost:8888/wp-admin/options-general.php?page=wprocket

The local WordPress environment is at http://localhost:8888 (admin / password). Boot or restart it with bash bin/dev-up.sh.

This skill provides a single behavioral probe using the Playwright MCP and curl. WP Rocket does not commit Playwright specs — this skill never writes, commits, or publishes test artifacts. It exists only to verify one primary scenario quickly.


Basic tier — behavioral probe

Purpose: behavioral verification and smoke tests. Fast enough to fit inside a planning agent's execution window.

Invoker:

  • grooming-agent — verify behavioral assumptions about the current system before writing the spec. Use to confirm: does the current feature behave as described in the issue? What does the current API or AJAX endpoint return for the scenario being changed?

Anti-rationalization table

You'll be tempted to say Why you can't
"The environment probably isn't up, I'll skip" Run bash bin/dev-up.sh. It's idempotent. If it fails, log SKIP with the reason — do not silently omit the step.
"The change is backend-only, no need to smoke it" The primary happy path must be verified. A backend change with no observable behavior change still needs a confirming assertion.
"I already read the code, I know it works" "Seems right" never closes a task. Run the scenario.
"One scenario is too slow for this stage" Basic tier is exactly one primary scenario. The cost is acceptable.

Process

  1. Boot the environment (idempotent — safe to run if already up):

    bash bin/dev-up.sh
    

    If the script exits non-zero, set status: "SKIP", note the reason, and do not block the pipeline.

  2. Run the primary happy path scenario from the spec or grooming plan.

    Backend / AJAX / REST:

    # Public REST or AJAX
    curl -s -X POST http://localhost:8888/wp-admin/admin-ajax.php \
      -H "Cookie: $(cat .wp-session-cookie 2>/dev/null)" \
      -d 'action=<action>&nonce=...'
    
    # Cache headers
    curl -sI http://localhost:8888/ | grep -E '(x-cache|cf-cache)'
    

    Browser (settings page, dashboard notices, interactive UI): Use the Playwright MCP directly for the basic-tier smoke:

    mcp__playwright__navigate({ url: "http://localhost:8888/wp-login.php" })
    # login
    mcp__playwright__fill({ selector: "#user_login", value: "admin" })
    mcp__playwright__fill({ selector: "#user_pass", value: "password" })
    mcp__playwright__click({ selector: "#wp-submit" })
    # primary scenario
    mcp__playwright__navigate({ url: "http://localhost:8888/wp-admin/options-general.php?page=wprocket" })
    mcp__playwright__snapshot({})
    # Inspect snapshot output to confirm expected element/text is present
    

    Take at most 1–2 screenshots if helpful, but do not publish them.

  3. Report:

    {
      "status": "PASS|FAIL|SKIP",
      "scenarios_tested": ["Settings page loads without errors after enabling X option"],
      "details": "Logged in as admin, navigated to the WP Rocket settings page, confirmed no JS console errors and X toggle present"
    }
    

    SKIP: bash bin/dev-up.sh failed or environment unreachable. Record reason. Do not block the pipeline.

Boundaries

  • Do: verify the one primary scenario from the spec or grooming plan
  • Do: probe current-system behavior (grooming-agent only) when an assumption needs verification
  • Do not: cover all acceptance criteria — that belongs to the qa-engineer + e2e-qa-tester path
  • Do not: write, commit, or publish Playwright specs — WP Rocket does not commit Playwright specs
  • Do not: publish screenshots

Project-specific notes

  • The boot script bash bin/dev-up.sh is idempotent. Always run it before testing — don't pre-check whether the environment is up. Seed data with bash bin/dev-seed.sh if needed.
  • Admin credentials: admin / password.
  • Settings page URL: http://localhost:8888/wp-admin/options-general.php?page=wprocket.
  • Plugin activation check:
    wp plugin list --name=wp-rocket
    
  • The basic tier never writes Playwright spec files and is invoked by grooming-agent only. Implementation agents (backend-agent, frontend-agent) do not invoke the e2e skill — full E2E validation belongs to the qa-engineer + e2e-qa-tester tier.
Install via CLI
npx skills add https://github.com/wp-media/wp-rocket --skill e2e
Repository Details
star Stars 749
call_split Forks 240
navigation Branch main
article Path SKILL.md
More from Creator