ai-development-guide
Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates. Use when…
Defines integration/E2E skeleton annotations, lane and file contracts, and route-parity review criteria. Use when generating or consuming test skeletons or reviewing shared mutation routes.
Claude Code
$ npx -y skills add shinpr/claude-code-workflows --skill integration-e2e-testing --agent claude-code
Codex
$ npx skills add shinpr/claude-code-workflows --skill integration-e2e-testing -a codex -y
Cursor
$ npx skills add shinpr/claude-code-workflows --skill integration-e2e-testing -a cursor -y
Gemini CLI
$ npx skills add shinpr/claude-code-workflows --skill integration-e2e-testing -a gemini-cli -y
GitHub Copilot
$ npx skills add shinpr/claude-code-workflows --skill integration-e2e-testing -a github-copilot -y
OpenCode
$ npx skills add shinpr/claude-code-workflows --skill integration-e2e-testing -a opencode -y
Windsurf
$ npx skills add shinpr/claude-code-workflows --skill integration-e2e-testing -a windsurf -y
name: integration-e2e-testing description: Defines integration/E2E skeleton annotations, lane and file contracts, and route-parity review criteria. Use when generating or consuming test skeletons or reviewing shared mutation routes.
| Lane | Observable boundary | Dependencies | |------|---------------------|--------------| | `integration` | Interactions within a process, including framework-rendered UI and module/API handlers | Real participating components; mock only outside the claimed boundary | | `fixture-e2e` | Actual UI behavior in a real browser with deterministic fixtures | Fixtures may replace dependencies outside the claimed boundary | | `service-integration-e2e` | Outcome depends on actual cross-service interaction or persistence | Required local services and stores are real; stubs only outside that proof boundary |
Each test MUST include the following annotations:
AC: [Original acceptance criteria text] Behavior: [Trigger] → [Process] → [Observable Result] @lane: integration | fixture-e2e | service-integration-e2e @dependency: none | [component names] | full-system Selection evidence: [required claim, uncovered failure, and why cheaper existing proof is insufficient]
Use the project's comment syntax to wrap these annotations (e.g., `//` for C-family, `#` for Python/Ruby/Shell).
When verification points need explicit enumeration:
Verification items: - [Item 1] - [Item 2]
The test runner or framework in the project determines the appropriate file extension. Repos that already use a single `*.e2e.test.*` convention may keep it as long as each file declares `@lane:` in its header — the lane annotation is the source of truth for routing.
When multiple routes reach the same mutation, compare validation, classification, resource bounds, and read/parse/mutation/reporting order. A difference becomes a proof obligation when it can violate an authoritative contract or expose a material bypass in the changed boundary. Reuse existing proof or add the smallest test that detects that failure.
Claude Code can explore a codebase deeply. On non-trivial work, the harder problem is convergence.
Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates. Use when…
Language-agnostic coding principles for maintainability, readability, and quality. Use when implementing features, refactoring…
Determines which of PRD, ADR, UI Spec, Design Doc, and Work Plan a change requires, and where each is stored. Use when deciding…
Records where resources outside the repository live (design source, design system, API schema, IaC source, secret store) and how…
Applies React/TypeScript-specific technical decision criteria, anti-pattern detection, debugging, and frontend quality gates. Use…
Implementation strategy selection framework. Use when planning implementation strategy, selecting development approach, or…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.