Agent skill

Integration E2E Testing

by shinpr in shinpr/ai-coding-project-boilerplate

Selects and designs the smallest integration/E2E test set that proves accepted behavior at an observable boundary.

MITAuto-check passedTesting & QA

Install Integration E2E Testing

skills CLI
$ npx skills add shinpr/ai-coding-project-boilerplate --skill integration-e2e-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install shinpr/ai-coding-project-boilerplate integration-e2e-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/shinpr/ai-coding-project-boilerplate.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills-en/integration-e2e-testing .claude/skills/integration-e2e-testing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
integration-e2e-testing
GitHub stars
232
Token cost
~2.8k tokens
SKILL.md length
1,245 words
Files
3 (incl. references)
Skills in repo
42
Repo updated
First seen
Licence
MIT

At a glance

Selects and designs the smallest integration/E2E test set that proves accepted behavior at an observable boundary.

  • Works in 6 steps: Read the accepted behavior and each… → For each obligation, name the material… → Search existing tests. Reuse coverage… → …
  • Integration tests
  • SKILL.md covers References, Test Types and Selection, Behavior-First Principle and Skeleton Specification, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Integration E2E Testing is an agent skill from shinpr/ai-coding-project-boilerplate. Selects and designs the smallest integration/E2E test set that proves accepted behavior at an observable boundary. Use when writing or reviewing E2E or integration tests.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/e2e-design.md` and `references/e2e-environment-prerequisites.md`).

It sits in Testing & QA, covering End-to-end testing and Integration testing. The repository describes itself as: Agentic coding TypeScript boilerplate for Claude Code: sub-agent workflows with built-in quality checks and context engineering. The licence is MIT.

When your agent uses it

  • Integration tests
  • Tasks that involve End-to-end testing
  • Tasks that involve Integration testing

Example prompts

  • “Use the integration-e2e-testing skill to select and designs the smallest integration/E2E test set that proves accepted behavior at an observable…”
  • “/integration-e2e-testing”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Read the accepted behavior and each recorded proof obligation from the governing artifact or task.
  2. For each obligation, name the material failure that must make a test fail and the observable state that exposes it.
  3. Search existing tests. Reuse coverage only when it exercises the same boundary and would fail for that failure.
  4. Assign the obligation to the narrowest sufficient lane
  5. Merge obligations when one scenario proves them while preserving a clear assertion-to-failure mapping. Keep distinct setup and failure…
  6. Emit only the remaining minimal covering set. Record the accepted behavior, primary failure, proof obligation, selected lane, and mock…

What it can do on your machine

Read from SKILL.md and the folder at commit 56913a2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Integration E2E Testing loads about 2.8k tokens when it runs, and up to ~4.9k if it reads all its reference files. Until then it costs about 49 tokens; SKILL.md has 1,245 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~49
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from shinpr/ai-coding-project-boilerplate at commit 56913a2, republished under its MIT licence (© shinpr). 1,245 words, ~2,785 tokens.

Download SKILL.mdSave it as .claude/skills/integration-e2e-testing/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
integration-e2e-testing
description
Selects and designs the smallest integration/E2E test set that proves accepted behavior at an observable boundary. Use when writing or reviewing E2E or integration tests.

Integration Test & E2E Test Design/Implementation Rules

References

Test Types and Selection

Test TypePurposeScopeExternal DepsFile FormatImplementation Timing
IntegrationVerify component interactions in-processPartial system integration (in-process modules; for UI components, RTL+MSW for React/TS)Mocked or in-process*.int.test.tsCreated alongside implementation
fixture-e2eVerify browser behavior with deterministic fixturesFull UI flow with mocked backend / fixture-driven stateMocked / fixture only — no live services*.fixture-e2e.test.tsCreated alongside the UI feature
service-integration-e2eVerify a contract that only a running stack can exposeFull system across servicesLive local services or service-level stubs*.service-e2e.test.tsExecuted after the required services exist

Lane selection (E2E only):

  • Default lane for user-facing UI journeys is fixture-e2e — it runs a real browser against deterministic fixtures, catches the bugs that unit/integration tests miss (button no-op, state never updates, navigation breaks), and runs in CI without infrastructure setup
  • Select service-integration-e2e when the proof obligation is real cross-service behavior such as data persistence, transactional consistency, or an external service contract

Start from accepted proof obligations, assign each to the cheapest boundary that can expose its failure, remove duplicate coverage, and keep the smallest set that covers every remaining distinct failure. Let those obligations determine the test count. A feature may validly produce no test in a lane.

Behavior-First Principle

Candidate Evidence

An integration/E2E candidate states:

  • an observable result at the boundary named by the accepted behavior
  • a material failure that crosses the components exercised by the selected lane
  • an automated harness or controlled environment capable of reproducing that failure

Route behavior observable in isolation to unit/component verification. Record an unavailable controlled environment as a proof prerequisite for service-integration-e2e.

Candidate Routing
  • Keep business-logic accuracy, data integrity, user-visible behavior, and observable error handling in the integration/E2E pool when they require those boundaries
  • Route pure implementation details and data transformations to unit tests, performance claims to performance verification, and layout-only claims to visual or UI checks
  • Represent external contracts with service-level stubs or a controlled local service when that contract is the proof target

Skeleton Specification

Required Skeleton Format

A committed file matching the project's test include pattern must remain valid to its runner. Use the detected framework's smallest pending suite (describe plus it.todo, or its equivalent), with only the test-framework import and the required comments. The implementing task replaces pending cases and adds application imports, assertions, fixtures, and mock setup alongside implementation.

Each test MUST include the following annotations.

typescript
// AC: "[Acceptance criteria original text]"
// Behavior: [Trigger] -> [Process] -> [Observable Result]
// @lane: integration | fixture-e2e | service-integration-e2e
// @dependency: none | [component names] | full-ui (mocked backend) | full-system
// @real-dependency: [component name] (optional, when Test Boundaries specify non-mock setup)
// Primary failure mode: [specific regression that must make the implemented test fail]
// Proof obligation: [boundary and observable state the implemented test must assert]
// Verification items: [observations that establish the obligation]

@lane selection rule:

  • integration — Component interaction in-process, no browser (e.g., RTL+MSW for React/TS, in-process module/handler integration in any language)
  • fixture-e2e — Browser-level UI verification with mocked backend / fixture-driven state. @dependency is typically full-ui (mocked backend)
  • service-integration-e2e — Browser-level or end-to-end verification against running local services or stubs. @dependency is full-system
Property Annotations
typescript
// Property: `[Verification expression]`
// fast-check: fc.property(fc.[arbitrary], (input) => [invariant])

Test Set Selection

  1. Read the accepted behavior and each recorded proof obligation from the governing artifact or task.
  2. For each obligation, name the material failure that must make a test fail and the observable state that exposes it.
  3. Search existing tests. Reuse coverage only when it exercises the same boundary and would fail for that failure.
  4. Assign the obligation to the narrowest sufficient lane:
    • unit/component when isolated execution exposes the behavior
    • integration for in-process component contracts
    • fixture-e2e for browser behavior whose backend may be deterministic
    • service-integration-e2e for persistence, transactions, messages, or external contracts whose failure is exposed only through that running boundary
  5. Merge obligations when one scenario proves them while preserving a clear assertion-to-failure mapping. Keep distinct setup and failure modes in separate scenarios.
  6. Emit only the remaining minimal covering set. Record the accepted behavior, primary failure, proof obligation, selected lane, and mock boundary in each skeleton.

Select from accepted behavior and repository proof boundaries; product analytics and numerical value estimates are unnecessary. Escalate when the accepted behavior or required contract remains unresolved after consulting governing sources and repository evidence.

Implementation Rules

Property-Based Test Implementation

When a Property annotation exists, fast-check is required:

  • Write in fc.assert(fc.property(...)) format
  • Reflect skeleton's // fast-check: comment directly in implementation
  • When failure case discovered, add as concrete unit test (regression prevention)
Behavior Verification Implementation

Behavior Description Verification Levels:

Step TypeVerification TargetExample
TriggerReproduce in ArrangeAPI failure -> mockResolvedValue({ ok: false })
ProcessIntermediate state or callFunction call, state change
Observable ResultFinal output valueReturn value, error message, log output

Pass Criteria: Pass if "observable result" is verified as return value or mock call argument of test target

Show full SKILL.md (486 more words)Show less
Verification Item Determination Rules
Skeleton StateVerification Item Determination Method
// Verification items: listedImplement all listed items with expect
No // Verification items:Derive from "observable result" in "Behavior" description
Both presentPrioritize verification items, use behavior as supplement
Integration Test Mock Boundaries

Take the first row that matches the claim under review:

ConditionBoundary to use
The external adapter, query, migration, or service contract itself is under testThe real boundary, or a service-level stub in the service-integration-e2e lane — a mock cannot prove the contract it stands in for
External API or network call not under testMock
Component interaction under testReal in-process components
The call itself is what the test verifies (e.g., log output)A verifiable mock (vi.fn())
Neither the call nor its target is under testReal, or ignore
E2E Test Execution Conditions

fixture-e2e:

  • Execute alongside the UI feature implementation phase
  • Use mocked backend / fixture-driven state (@dependency: full-ui (mocked backend))
  • Run in CI with the deterministic fixture setup

service-integration-e2e:

  • Execute in the earliest phase where the components under verification exist and the services it exercises are running
  • Exercise components under verification through real local services or service-level stubs (@dependency: full-system)

Review Criteria

Skeleton and Implementation Consistency
CheckFailure Condition
Property VerificationProperty annotation exists but fast-check not used
Behavior VerificationNo expect for "observable result"
Verification Item CoverageListed verification items not included in expect
Mock BoundaryInternal components mocked in integration test
Implementation Quality
CheckFailure Condition
AAA StructureArrange/Act/Assert separation unclear
IndependenceState sharing between tests, execution order dependency
ReproducibilityDepends on date/random, results vary
Route Parity for Shared Mutations

When multiple routes reach the same mutation — a CLI path and an HTTP handler, a scheduled job and a manual trigger, a batch and a single-item endpoint — compare them along four axes: validation, classification, resource bounds, and the order of read, parse, mutation, and reporting.

A difference is permitted only by a source that decides intent: a requirement, the Design Doc, or an ADR. Tests sit downstream of that decision — they record the behavior that exists, so an existing test covering the permissive route confirms the bypass rather than permitting it. Once a difference is permitted, a test verifies that it behaves as decided.

When a difference has no permitting source, require a test that exposes the bypass: drive the mutation through the route that skips the check and assert the state the skipped check was protecting.

CheckFailure Condition
Validation parityOne route validates an input the other accepts unchecked, with no requirement or contract permitting the difference
Classification parityThe same failure is classified differently per route, changing what the caller observes
Resource-bound parityOne route enforces a size, count, or timeout bound the other omits
Operation-order parityRoutes differ in read/parse/mutation/reporting order such that one can mutate before validating or report before persisting
Bypass coverageAn unexplained difference has no test driving the mutation through the permissive route

© shinpr, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .claude/skills-en/integration-e2e-testing of shinpr/ai-coding-project-boilerplate.

  • SKILL.md
  • references/e2e-design.md
  • references/e2e-environment-prerequisites.md

Open the folder on GitHubat commit 56913a2

Compare with similar skills

Integration E2E Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Integration E2E Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Integration E2E Testing this skillshinpr/ai-coding-project-boilerplate232—~2.8kAutomated safety check: PassMIT
Integration E2E Testingshinpr/claude-code-workflows690—~3.5kAutomated safety check: PassMIT
Add Acceptance Testtalkincode/toughradius691—~827Automated safety check: PassMIT
Migrate E2E To Integrationopenshift/oc-mirror124—~1.5kAutomated safety check: PassApache-2.0
Om Integration Testsgo-musicfox/go-musicfox2.6k1 repos~3.6kAutomated safety check: NotesGPL-3.0
Test Collaborationqshanx/docs-governance130—~1.1kAutomated safety check: PassMIT

Similar skills

  • Integration E2E Testing

    shinpr/claude-code-workflows

    Integration and E2E test design principles, ROI calculation, test skeleton specification, and review criteria.

    690 GitHub stars~3.5k tokensUpdated 6 days ago
    Testing & QAAuto-check passed
  • Add Acceptance Test

    talkincode/toughradius

    Write CI-executable acceptance/integration tests for protocol or end-to-end changes (TR-F022).

    691 GitHub stars~827 tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Migrate E2E To Integration

    openshift/oc-mirror

    Migrate an oc-mirror e2e test case to the integration test suite, translating framework, registry, invocation, and assertion patterns

    124 GitHub stars~1.5k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Om Integration Tests

    go-musicfox/go-musicfox

    Run and create integration/E2E tests by exploring the live app with the configured browser provider, preserving repository-native runners, reusing the shared test environment, and diagnosing…

    2.6k GitHub starsUsed in 1 repo~3.6k tokens
    Testing & QAAuto-check: notes
  • Test Collaboration

    qshanx/docs-governance

    盘点并维护项目测试资产,把需求、业务规则、风险、Bug 和跨端接口契约转成 TEST-ID 与可验证证据,生成或更新 TESTS.md。用于测试资产盘点、测试缺口分析、单元/集成/契约/E2E/冒烟分类、Bug 回归保护、前后端或多服务基于同一契约的消费者/提供者测试、测试必要性判断、测试清单维护与交付前测试证据审查。中文触发:测试盘点、测试清单、测试资产、测试缺口、测试必要性、Bug…

    130 GitHub stars~1.1k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Patrol E2E Testing

    evanca/flutter-ai-rules

    A skill your agent uses when writing E2E/integration tests, testing native interactions like permissions or system dialogs, capturing UI regressions, or validating cross-platform behavior (Patrol…

    647 GitHub stars~1.4k tokensUpdated 23 days ago
    Testing & QAAuto-check passed

More from shinpr/ai-coding-project-boilerplate

All 42 skills in this repo
  • Skill Optimization

    shinpr/ai-coding-project-boilerplate

    Evaluates and optimizes skill file quality using 9 content patterns and 10 editing principles.

    232 GitHub stars~3.5k tokensUpdated 3 days ago
    Auto-check passed
  • Frontend Technical Spec

    shinpr/ai-coding-project-boilerplate

    Defines React environment, component architecture, state/data flow, build verification, and frontend non-functional criteria from repository evidence.

    232 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check: notes
  • Frontend Typescript Rules

    shinpr/ai-coding-project-boilerplate

    Applies React/TypeScript type safety, component design, and state management rules.

    232 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check passed
  • Implementation Approach

    shinpr/ai-coding-project-boilerplate

    Selects implementation strategy (vertical slice, horizontal, or hybrid) with risk assessment.

    232 GitHub stars~3.2k tokensUpdated 3 days ago
    Auto-check passed
  • Subagents Orchestration Guide

    shinpr/ai-coding-project-boilerplate

    Coordinates subagents through scale-based planning, approval, implementation, verification, and escalation flows.

    232 GitHub stars~8k tokensUpdated 3 days ago
    Auto-check passed
  • Typescript Rules

    shinpr/ai-coding-project-boilerplate

    Applies type safety and error handling rules. An agent skill from shinpr/ai-coding-project-boilerplate.

    232 GitHub stars~1.5k tokensUpdated 3 days ago
    Auto-check passed

Categories

Questions about Integration E2E Testing

What does Integration E2E Testing do?

Selects and designs the smallest integration/E2E test set that proves accepted behavior at an observable boundary. Integration E2E Testing is an agent skill from shinpr/ai-coding-project-boilerplate. Selects and designs the smallest integration/E2E test set that proves accepted behavior at an observable boundary.

When should I use Integration E2E Testing?

Integration E2E Testing fits situations like: integration tests; tasks that involve End-to-end testing; tasks that involve Integration testing.

How do I install Integration E2E Testing in Claude Code?

Run `npx skills add shinpr/ai-coding-project-boilerplate --skill integration-e2e-testing -a claude-code`. Or copy the skill folder (.claude/skills-en/integration-e2e-testing in shinpr/ai-coding-project-boilerplate) into .claude/skills/integration-e2e-testing in your project. Claude Code loads it when a task matches its description.

How do I install Integration E2E Testing in Codex?

Run `npx skills add shinpr/ai-coding-project-boilerplate --skill integration-e2e-testing -a codex`. Or copy the skill folder (.claude/skills-en/integration-e2e-testing in shinpr/ai-coding-project-boilerplate) into .agents/skills/integration-e2e-testing in your project. Codex loads it when a task matches its description.

Can I use Integration E2E Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shinpr/ai-coding-project-boilerplate --skill integration-e2e-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/integration-e2e-testing, .gemini/skills/integration-e2e-testing, .github/skills/integration-e2e-testing and .opencode/skills/integration-e2e-testing in your project.

What does Integration E2E Testing need to run?

SKILL.md names no scripts, command-line tools or credentials: Integration E2E Testing is instructions for the agent only.

Does Integration E2E Testing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Integration E2E Testing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Integration E2E Testing use?

Integration E2E Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Integration E2E Testing use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.1k tokens, read only when the agent opens those files.

What are the alternatives to Integration E2E Testing?

Skills that share tags, products or a category with Integration E2E Testing: Integration E2E Testing (shinpr/claude-code-workflows, 690 stars), Add Acceptance Test (talkincode/toughradius, 691 stars), Migrate E2E To Integration (openshift/oc-mirror, 124 stars) and Om Integration Tests (go-musicfox/go-musicfox, 2.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Integration E2E Testing?

shinpr (a GitHub user) maintains it in shinpr/ai-coding-project-boilerplate, which has 232 GitHub stars. The repository holds 42 skills in this directory. The repository was last updated on October 4, 2026.

Source: shinpr/ai-coding-project-boilerplate on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.