Claude Cursor opencode Skill

qwik-e2e-verification

Use when creating, modifying, debugging, or running Qwik Playwright e2e tests under e2e/, including router, adapters, docs, CLI, and React integration suites.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download modem-dev-ossrules-public_files_qwik_.ruler_skills_qwik-e2e-verification-d2b6775.zip · 1 KB
Part of modem-dev/ossrules — 39 skills

Install

skills CLI npx skills add https://github.com/modem-dev/ossrules/tree/main/public/files/qwik/.ruler/skills/qwik-e2e-verification
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install modem-dev-ossrules@llmmart
Git git clone https://github.com/modem-dev/ossrules.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole modem-dev/ossrules collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Qwik E2E Verification

Use this skill for Playwright e2e work in e2e/**. Keep the repo-wide rules from .ruler/AGENTS.md in force.

Fast Path

  1. Identify the suite: Qwik core app, Qwik Router, adapters, docs, CLI, or Qwik React.
  2. Run the dev rebuild first when testing Qwik runtime/router behavior.
  3. Use the suite's Playwright config and the browser-selection style that config expects.
  4. Prefer one focused e2e file before broad suite commands.
  5. When debugging app fixtures, inspect the matching e2e/*/apps/ source before changing tests.
  6. Turn a failing behavior into the smallest deterministic regression. Avoid sleeps and broad assertions when a route, marker, event, or serialized state check can prove the behavior.

Suites

  • Main Qwik e2e: e2e/qwik-e2e/tests/
  • Router e2e: e2e/qwik-e2e/tests/qwikrouter/
  • Adapter e2e: e2e/adapters-e2e/tests/
  • Docs e2e: e2e/docs-e2e/tests/
  • CLI e2e: e2e/qwik-cli-e2e/tests/
  • React integration e2e: e2e/qwik-react-e2e/tests/

Commands

Main Qwik e2e config uses --browser, not Playwright projects:

pnpm build.core.dev
pnpm playwright test e2e/qwik-e2e/tests/events.e2e.ts --browser=chromium --config e2e/qwik-e2e/playwright.config.ts
pnpm playwright test e2e/qwik-e2e/tests/qwikrouter/nav.e2e.ts --browser=chromium --config e2e/qwik-e2e/playwright.config.ts

Other suites may use named Playwright projects. Check their config before choosing flags:

pnpm playwright test e2e/docs-e2e/tests/docs-smoke.spec.ts --config e2e/docs-e2e/playwright.config.ts --project chromium
pnpm playwright test e2e/adapters-e2e/tests/adapters.spec.ts --project=chromium --config e2e/adapters-e2e/playwright.config.ts
pnpm playwright test e2e/qwik-react-e2e/tests/reactify.spec.ts --project=chromium --config e2e/qwik-react-e2e/playwright.config.ts

SSG snapshot suite

e2e/qwik-e2e/tests/qwikrouter/ssg-snapshot.e2e.ts asserts two independent things against the built qwikrouter-ssg-snapshot app:

  • Serialized output goldens — expected.state.txt and expected.ssg.html. Regenerate after an intentional serialization or SSR output change with pnpm test.e2e.router.ssg.update.
  • Brotli size budgets — CORE_BROTLI_BUDGET / PRELOADER_BROTLI_BUDGET / QWIKLOADER_BROTLI_BUDGET constants in that spec. A core change that grows a bundle fails with the exact over-budget byte count; bump the matching constant when the growth is intentional.

Traps:

  • test.e2e.router.ssg.update regenerates the goldens only; it never touches the budgets, so a budget breach survives the update.
  • The update run can exit non-zero because a sibling budget assertion failed, not the golden. "N passed" with exit 1 usually means a budget breach — read the failing assertion instead of assuming the golden is stale.
  • After rebasing onto a moved base the golden conflicts; regenerate it rather than hand-merging, then re-run pnpm test.e2e.router.ssg (no update flag) to confirm it passes deterministically.

Stop Conditions

  • Stop and inspect the suite config when --browser versus --project is unclear.
  • Stop and report if browser binaries, build artifacts, or dependencies are missing.
  • Do not broaden to all e2e suites unless the user asks or the changed surface requires it.
  • If a test failure shows this skill has stale suite or command guidance, update the skill before finishing or record why guidance edits were out of scope.
Files (ossrules)
  • SKILL.md 3.6 KB
    ---
    name: qwik-e2e-verification
    description: Use when creating, modifying, debugging, or running Qwik Playwright e2e tests under e2e/, including router, adapters, docs, CLI, and React integration suites.
    ---
    
    # Qwik E2E Verification
    
    Use this skill for Playwright e2e work in `e2e/**`. Keep the repo-wide rules from
    `.ruler/AGENTS.md` in force.
    
    ## Fast Path
    
    1. Identify the suite: Qwik core app, Qwik Router, adapters, docs, CLI, or Qwik React.
    2. Run the dev rebuild first when testing Qwik runtime/router behavior.
    3. Use the suite's Playwright config and the browser-selection style that config expects.
    4. Prefer one focused e2e file before broad suite commands.
    5. When debugging app fixtures, inspect the matching `e2e/*/apps/` source before changing tests.
    6. Turn a failing behavior into the smallest deterministic regression. Avoid sleeps and broad
       assertions when a route, marker, event, or serialized state check can prove the behavior.
    
    ## Suites
    
    - Main Qwik e2e: `e2e/qwik-e2e/tests/`
    - Router e2e: `e2e/qwik-e2e/tests/qwikrouter/`
    - Adapter e2e: `e2e/adapters-e2e/tests/`
    - Docs e2e: `e2e/docs-e2e/tests/`
    - CLI e2e: `e2e/qwik-cli-e2e/tests/`
    - React integration e2e: `e2e/qwik-react-e2e/tests/`
    
    ## Commands
    
    Main Qwik e2e config uses `--browser`, not Playwright projects:
    
    ```bash
    pnpm build.core.dev
    pnpm playwright test e2e/qwik-e2e/tests/events.e2e.ts --browser=chromium --config e2e/qwik-e2e/playwright.config.ts
    pnpm playwright test e2e/qwik-e2e/tests/qwikrouter/nav.e2e.ts --browser=chromium --config e2e/qwik-e2e/playwright.config.ts
    ```
    
    Other suites may use named Playwright projects. Check their config before choosing flags:
    
    ```bash
    pnpm playwright test e2e/docs-e2e/tests/docs-smoke.spec.ts --config e2e/docs-e2e/playwright.config.ts --project chromium
    pnpm playwright test e2e/adapters-e2e/tests/adapters.spec.ts --project=chromium --config e2e/adapters-e2e/playwright.config.ts
    pnpm playwright test e2e/qwik-react-e2e/tests/reactify.spec.ts --project=chromium --config e2e/qwik-react-e2e/playwright.config.ts
    ```
    
    ## SSG snapshot suite
    
    `e2e/qwik-e2e/tests/qwikrouter/ssg-snapshot.e2e.ts` asserts two independent things against the built
    `qwikrouter-ssg-snapshot` app:
    
    - **Serialized output goldens** — `expected.state.txt` and `expected.ssg.html`. Regenerate after an
      intentional serialization or SSR output change with `pnpm test.e2e.router.ssg.update`.
    - **Brotli size budgets** — `CORE_BROTLI_BUDGET` / `PRELOADER_BROTLI_BUDGET` /
      `QWIKLOADER_BROTLI_BUDGET` constants in that spec. A core change that grows a bundle fails with the
      exact over-budget byte count; bump the matching constant when the growth is intentional.
    
    Traps:
    
    - `test.e2e.router.ssg.update` regenerates the goldens only; it never touches the budgets, so a
      budget breach survives the update.
    - The update run can exit non-zero because a sibling budget assertion failed, not the golden. "N
      passed" with exit 1 usually means a budget breach — read the failing assertion instead of assuming
      the golden is stale.
    - After rebasing onto a moved base the golden conflicts; regenerate it rather than hand-merging, then
      re-run `pnpm test.e2e.router.ssg` (no update flag) to confirm it passes deterministically.
    
    ## Stop Conditions
    
    - Stop and inspect the suite config when `--browser` versus `--project` is unclear.
    - Stop and report if browser binaries, build artifacts, or dependencies are missing.
    - Do not broaden to all e2e suites unless the user asks or the changed surface requires it.
    - If a test failure shows this skill has stale suite or command guidance, update the skill before
      finishing or record why guidance edits were out of scope.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related