agentleFS
shinprshinpr/codex-workflows/.agents/skills/integration-e2e-testing/SKILL.md

integration-e2e-testing

Skill39 starsChanged 9 days agoMITView on GitHub

Selects and specifies the integration/E2E tests that own accepted behavior at the boundary where it is observable.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read references/e2e-design.md only when a selected browser-level claim needs UI Spec mapping or browser harness guidance.

    line 10
  2. Distinctive:

    no existing test owns that claim at the boundary with assertions that detect its material failure, or the Design Doc names the owning test …

    line 18
  3. Distinctive:

    When any condition fails, leave the claim to its existing owning test or task verification.

    line 21
  4. Distinctive:

    Use supplied product evidence and observed repository/test cost rather than invented revenue, frequency, legal, or probability scores.

    line 43
  5. Distinctive:

    Every selected case passed the Selection Gate.

    line 76

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “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

Integration and E2E Testing

Reference

Read references/e2e-design.md only when a selected browser-level claim needs UI Spec mapping or browser harness guidance. Use the repository's browser harness when it differs from the examples.

Selection Gate

Select an integration or E2E test only when all conditions hold:

  1. an AC, preserved behavior, or task Verification Focus names an observable claim;
  2. the claim includes behavior observed at a component, persistence, process, browser, or service boundary; the cases of a calculation, parsing, or branching rule inside it stay with that rule's unit test;
  3. no existing test owns that claim at the boundary with assertions that detect its material failure, or the Design Doc names the owning test for rewrite; in either case with an existing owner, the case updates that test;
  4. the expected regression-detection value justifies the fixture, environment, runtime, and maintenance cost.

When any condition fails, leave the claim to its existing owning test or task verification. An empty integration/E2E selection is a successful result and needs no absence artifact.

Lanes and Ceilings

LaneUse whenCeiling per outcome
integrationIn-process component, persistence, or contract interaction must stay real3
fixture-e2eBrowser-visible interaction needs the real UI but controlled backend/fixture state is sufficient3
service-integration-e2eThe claim specifically depends on a running local cross-service boundary that other lanes cannot prove2

Ceilings are limits, not targets or reserved slots. Prefer the lowest-cost lane that proves the named claim. Real external production services are outside these lanes; verify their repository-owned contract instead.

Candidate Selection

For each boundary-dependent claim:

  1. state the material failure that could remain falsely green;
  2. identify the boundary that must remain real and what may be controlled or mocked;
  3. compare with existing tests that already own the claim;
  4. select the candidate only when it adds distinct material detection value;
  5. combine claims that share setup, boundary, and observable outcome when one test can prove them clearly.

Use supplied product evidence and observed repository/test cost rather than invented revenue, frequency, legal, or probability scores. When that evidence is weak, add a wider-lane test only when the boundary is the sole available proof of a binding claim.

Skeleton Contract

A generated skeleton is a non-runnable design artifact containing comments only until its implementation task makes it executable. Adapt comment syntax and filename conventions to the repository.

Each selected case records:

AC: [binding observable claim]
Behavior: [trigger] -> [boundary exercised] -> [observable result]
@lane: integration | fixture-e2e | service-integration-e2e
@dependency: [boundary components]
@real-dependency: [dependencies that must remain real]
Primary failure mode: [regression this test must detect]
Proof obligation: [assertions and permitted controlled boundaries]

Limit additional verification items to cases where the obligation alone cannot state the proof clearly. Include complexity scores, category taxonomies, or metadata only for a named downstream consumer.

Review Criteria

A changed test passes review when it:

  • exercises the selected real boundary rather than a substitute path;
  • contains substantive assertions for the named observable result and primary failure;
  • controls only dependencies permitted by the proof obligation;
  • is deterministic and isolated enough for the repository's normal execution model.

AAA comments, naming style, extra assertions, and generic readability improvements are non-blocking unless they obscure or invalidate the proof.

Completion Check

  • Every selected case passed the Selection Gate.
  • The selected lane is the lowest-cost boundary that proves the claim.
  • The set stays below the lane ceilings and may be empty.
  • Each skeleton carries enough proof information for implementation and review without copying the Design Doc.

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.