一键导入
e2e
Use when changes span multiple components, services, or layers and unit/integration tests alone cannot confirm the full flow works correctly
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when changes span multiple components, services, or layers and unit/integration tests alone cannot confirm the full flow works correctly
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when cataloging a repository's externally observable capabilities as end-to-end scenarios and driving them through test, fix, and re-test until verified
Use when explicitly asked to "handoff", "인수인계", or "write a handoff" to preserve context for the next session.
Use when setting up Claude Code global configuration on a new machine — CLAUDE.md, settings.json, statusline.sh, worktree configuration
Use Jira through a slim Atlassian MCP facade for issue lookup, triage, creation, comments, and lightweight status reporting.
Use when writing, reviewing, or improving PRDs, product requirements documents, product specs, feature requirements, launch requirements, or product discovery writeups before product or engineering work begins.
Use when writing, reviewing, or improving RFCs, requests for comments, technical design docs, architecture proposals, engineering decision records, API proposals, migration plans, or cross-team technical decisions.
| name | e2e |
| description | Use when changes span multiple components, services, or layers and unit/integration tests alone cannot confirm the full flow works correctly |
/e2e is a special-purpose verification skill. It confirms that a complete user-visible flow still connects correctly across all touched components. Unit and integration tests verify parts; /e2e verifies the full path when the main risk lives at the boundary between those parts.
Core principle: If your change crosses a service boundary, multiple layers, or an external integration, verify the full path and not just the individual pieces.
Default to /qa. Add /e2e only when one or more of the following are true:
/e2e does not replace general feature verification. The default verification still belongs to /qa.
Needs e2e:
Skip e2e:
/qa and /ship/qa provides default behavior verification/e2e provides cross-boundary flow verification when needed/ship uses verification evidence to decide release readinessMap the complete path your change affects, from entry point to final side effect.
Entry point → [Component A] → [Component B] → ... → Final side effect
Example:
POST /api/order → cart service → inventory check → payment API → order DB → confirmation email
What to trace:
For EACH step in the flow, state the concrete expected outcome.
| Step | Action | Pass Criteria |
|---|---|---|
| 1 | POST /api/order with valid cart | 200, order ID returned |
| 2 | Check inventory | Stock decremented by ordered quantity |
| 3 | Payment API call | Charge created, transaction ID stored |
| 4 | DB state | Order record with status=confirmed, correct amounts |
| 5 | Confirmation sent with correct order details |
Bad criteria: "Check that it works" / "Verify the response" / "Make sure email sends"
Good criteria: "Response status 200 with JSON containing order_id string" / "Email contains order #X and total $Y"
Verify bottom-up: infrastructure → data → API → flow → side effects.
Stop at the first failure. Fix it before proceeding — downstream steps depend on upstream ones.
## E2E Verification: [flow name]
### Scope
[What was changed and why e2e is needed]
### Results
| Step | Status | Evidence |
|------|--------|----------|
| Infrastructure | PASS | Services responding on expected ports |
| DB migration | PASS | New column exists, default values correct |
| API contract | FAIL | Payment service returns `txn_id`, order service expects `transaction_id` |
### Blocking Issue
[Description of first failure, root cause if known]
Not every step is directly verifiable from your environment. Be explicit about what you CAN and CANNOT check.
| Can verify | How |
|---|---|
| API responses | curl, httpie, test scripts |
| DB state | SQL queries, ORM console |
| Log output | grep logs, structured log queries |
| File output | Read generated files |
| Local email | Mailhog, Mailtrap, or similar |
| Cannot verify (delegate) | Who |
|---|---|
| Production email delivery | Human or monitoring |
| Browser UI rendering | Human or Playwright/Cypress |
| Mobile app behavior | Human or mobile test framework |
| Third-party webhook reception | Third-party dashboard or logs |
State what you verified and what you couldn't. Never claim "e2e verified" when steps were skipped.
Checking only the happy path. The happy path usually works. It's the error paths and edge cases that break across service boundaries.
Vague pass criteria. "It works" is not a criterion. State the specific expected output, status code, DB state, or side effect.
Testing in wrong order. If the DB migration is broken, API tests will fail with confusing errors. Go bottom-up.
Skipping the report. If you don't report what was and wasn't verified, your partner can't judge coverage.
Over-verifying. A typo fix doesn't need e2e. Use the decision flowchart. Unnecessary e2e wastes time and teaches you to skip it when it matters.