e2e-test-authoring
Skill0 starsChanged 10 days agoMITView on GitHub
Use when authoring or changing browser E2E tests and no project-specific authoring skill owns the task. Write one observable outcome per test, reproducible manual scenarios, typed helpers, accessible selectors and disposable fixtures.
In this repository34 other files it gives its agents.
- chatgpt/AGENTS.mdAGENTS.md
- opencode/AGENTS.mdAGENTS.md
- zcode/AGENTS.mdAGENTS.md
- claude/CLAUDE.mdCLAUDE.md
- agent-doc-authoringSkill
- agent-experienceSkill
- ai-image-promptsSkill
- api-behavior-flowSkill
- architecture-and-performanceSkill
- behavioral-testingSkill
- behavior-auditSkill
- browser-tabs-uiSkill
- code-qualitySkill
- context-compactSkill
- design-principlesSkill
- design-to-deliverySkill
- design-validationSkill
- engineering-reviewSkill
- excalidrawSkill
- external-ai-consultSkill
- google-omni-videoSkill
- llm-agent-tool-disciplineSkill
- parallel-subagentsSkill
- qa-test-scenariosSkill
- reliable-executionSkill
- research-and-reuseSkill
- server-security-hardeningSkill
- session-handoffSkill
- shadcn-librarySkill
- sudo-handoffSkill
- task-intakeSkill
- tauri-v2-docsSkill
- test-failure-triageSkill
- user-behavior-flowSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 7 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
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
- Very specific: line 15
Read the project handbook and runner config.
- Distinctive: line 18
Search existing specs and helpers.
- Distinctive: line 19
Put the spec under its correct feature/role project.
- Very specific: line 21
Use the project's ID/tag registry.
- Very specific: line 23
Prefer getByRole and getByLabel, with exact names and scoped groups where repeated labels exist.
- Distinctive: line 24
Keep specs as scenarios plus business assertions, preferably inline for single-use locators.
- Distinctive: line 25
Use observable waits and retrying assertions, not fixed sleeps.
- Very specific: line 26
Run the affected spec and applicable type/ID/document checks.
- Very specific: line 29
No conditional visibility assertions or .first() to hide ambiguity.
- Distinctive: line 30
No redundant comments; intent comes from titles, manual scenario and assertions.
- Distinctive: line 31
Do not weaken tests for product bugs.
- Distinctive: line 32
Do not start seeds, teardown or remote mutation runs until environment and data ownership are verified.
≈ “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.
Files
E2E test authoring
Purpose
Produce automation that proves user behavior and a manual scenario a tester can reproduce without prior context.
When to use
Browser E2E authoring or converting manual scenarios to automation. If a project authoring skill exists, read and follow it instead; these are fallback defaults.
Preconditions
Read the project handbook and runner config; know folder-to-project/auth/environment mapping. Verify actual routes, roles, labels and flows from current frontend source, rendered UI, or supplied HTML. Never invent selectors.
Workflow
- Search existing specs and helpers; extend coverage without duplication. Define one outcome per case: applying and clearing a filter are separate outcomes.
- Put the spec under its correct feature/role project. If required auth/project support is missing, report the gap rather than use the wrong session.
- Classify data: stable fixtures for reads, uniquely identified disposable fixtures for mutations. Never edit/delete a row chosen by position. Cleanup must target only data owned by this test.
- Use the project's ID/tag registry. For a new suite, default to
TC-{PLATFORM}-{MODULE}-{NNN}, one@priority-*, and@smokeor@regression; smoke must not depend on unavailable seeded data. - Each functional case has a
tc-docblock in the project's existing format: preconditions/role/environment, test data, exact UI actions and expected result. If no exporter/schema exists, use a simple structured comment and do not claim export support. Keep steps synchronized with the spec. - Prefer
getByRoleandgetByLabel, with exact names and scoped groups where repeated labels exist. Prefer existing accessible contracts; never rename them casually. Missing accessibility is a finding; fix the product only if within authorized scope. - Keep specs as scenarios plus business assertions, preferably inline for single-use locators. Helpers navigate, act and synchronize; business assertions stay in specs. Mirror feature folders; separate generic utilities, shared product flows and feature helpers. Use typed
Page, explicit returns and(page, options); follow existing interface naming. - Use observable waits and retrying assertions, not fixed sleeps. Assert real results: a filter changes the result set; a save persists after reload or an independent API read. URL or toast alone is insufficient when persistence is the objective.
- Run the affected spec and applicable type/ID/document checks. Run a mutating scenario again to check repeatability when safe. Keep visual and accessibility snapshots in the project's separate tracks; never mix baseline updates into functional fixes.
Rules
- No conditional visibility assertions or
.first()to hide ambiguity. Scope locators accurately. - No redundant comments; intent comes from titles, manual scenario and assertions.
- Do not weaken tests for product bugs. Preserve coverage, report the bug; any skip needs an explicit reason and counts as untested.
- Do not start seeds, teardown or remote mutation runs until environment and data ownership are verified.
Common mistakes
Invented labels; wrong auth project; stable fixture mutation; helper-hidden assertions; fake smoke tags; manual steps that omit navigation; snapshot changes used as a test fix.
Validation
Confirm selectors have evidence, one outcome per test, manual/automated steps agree, fixtures are isolated and cleanup is bounded. Report actual pass/fail/skip/not-run counts and coverage gaps.
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
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.

