mit einem Klick
scenario
Create a new end-to-end test scenario
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Menü
Create a new end-to-end test scenario
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Basierend auf der SOC-Berufsklassifikation
List and run agent tasks defined in _module/agent_tasks/ directories across the repo
Build the Meadow Electron app and launch it in test mode to verify it starts cleanly
Safely clean up the current worktree after verifying no unmerged work would be lost
Run the end-to-end test suite, automatically diagnose and fix failures
Finish a worktree development session - commit, merge to main, and clean up
Understand and extend the regenerable canonical scenario artifact in the e2e report viewer — used for iterating on the viewer's UI against stable, self-documenting data without running real tests
| name | scenario |
| description | Create a new end-to-end test scenario |
Create a new end-to-end test scenario. Follow the patterns established by existing scenarios.
The user will describe what the scenario should test. They may also mention scenario docs they want to create or attach to.
Read the existing test specs, page objects, and workflows to follow established conventions:
app/e2e-tests/test-runner/tests/*.spec.ts — existing test scenariosapp/e2e-tests/test-runner/src/run/workflows.ts — composable navigation helpers (use these first!)app/e2e-tests/test-runner/src/run/pages/ — page object modelsapp/e2e-tests/test-runner/src/scenario-docs/ — scenario doc definitionsapp/e2e-tests/test-runner/src/run/test-fixtures.ts — custom fixtures (artifactDir, snapshot, addKeyFrame)Read and follow the coding standards in
app/e2e-tests/test-runner/_module/docs/coding_standards.md.
app/e2e-tests/test-runner/tests/ — one test per file.Every test must be tied to at least one Scenario Doc via a keyframe. This is how tests are categorized and visually documented in the report viewer.
Scenario Docs describe broad functional areas of the app (e.g. "Publishing",
"HTML Generation", "S3"). Think of them as rich area tags — but instead of
plain string tags, each one is a small document with an id, name, and
description that explains what the area covers. They are defined in
app/e2e-tests/test-runner/src/scenario-docs/:
// app/e2e-tests/test-runner/src/scenario-docs/publishing.ts
export const publishing: ScenarioDoc = {
id: "publishing",
name: "Publishing",
description: "Tests the publish flow including S3/MinIO uploads...",
};
New scenario docs must be registered in app/e2e-tests/test-runner/src/scenario-docs/index.ts.
The relationship between tests and scenario docs is many-to-many. A single
test often touches multiple functional areas, so it imports and tags multiple
scenario docs. Conversely, a single scenario doc (like s3) may appear across
many different tests. When creating a scenario, import whichever existing
scenario docs are relevant — and create new ones only for areas not yet covered.
Keyframes are the mechanism that links tests to scenario docs. Calling
await addKeyFrame(scenarioDoc) does two things:
keyframe-{docId}.png in the artifact directoryEvery test must call addKeyFrame at least once. Capture a keyframe at the
moment that best represents each functional area being tested — typically right
after the key UI state is reached.
Example — a test using workflows and covering multiple areas:
import { test, expect } from "../src/run/test-fixtures.js";
import { publishing, s3 } from "../src/scenario-docs/index.js";
import { Workflows } from "../src/run/workflows.js";
test("Site publishes to S3", async ({
page, snapshot, addKeyFrame, testServer,
}) => {
await testServer.activateS3Provider();
const wf = new Workflows(page, expect);
await wf.navigateToBigSiteShareTab();
// ... test-specific interactions ...
await addKeyFrame(publishing);
await addKeyFrame(s3);
await snapshot("site published to S3");
});
After creating the scenario, invoke the /e2e skill to run the full test
suite and confirm the new scenario passes alongside all existing ones.
When you do this, pass --highlighted <basename> to mark the new (or fixed)
spec so the reviewer can spot it immediately in the report viewer. The
--highlighted flag takes the spec filename without .spec.ts and, unlike
--scenarios, doesn't filter the run — it just promotes the spec into a
dedicated "Highlighted" section in the thumbs / list / videos tabs and tints
its scenario-doc chips amber. See the /e2e skill for details.
When invoked with /scenario check, skip the creation steps above. Instead,
review the most recently created or modified test scenario against this
checklist. Go through each item one by one, reading the relevant files to
verify compliance. Report pass/fail for each item.
.spec.ts file contains exactly one test(...) call.Workflows class methods where applicable, not inlined page object sequences.page.locator(...) calls for things a page object should own. (One-off assertions on text content are fine.).spec.ts file exists in app/e2e-tests/test-runner/tests/ for the scenario.app/e2e-tests/test-runner/src/scenario-docs/index.ts.await addKeyFrame(scenarioDoc) at least once per scenario doc it imports, at a meaningful moment for that area.addKeyFrame fixture destructured — The test destructures addKeyFrame from the test function argument.app/e2e-tests/test-runner/src/run/pages/ where applicable.await snapshot(...) at key assertion points./e2e and confirm all tests pass, including the new one.