一键导入
e2e-ui-research
Research UI E2E test targets and generate test scenario documentation. Use to analyze a frontend app and create comprehensive E2E test plans.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Research UI E2E test targets and generate test scenario documentation. Use to analyze a frontend app and create comprehensive E2E test plans.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Transform verbose natural language requests into structured bilingual documentation (Korean for review + English for AI prompts). Use when you need to clarify and structure a complex request before implementation.
Review current git changes or latest commit using code-reviewer and architect-reviewer agents. Use after completing code changes to get comprehensive quality feedback.
Review comments and suggest cleanup (identify unnecessary comments, recommend improvements). Use to aggressively clean up comment debt in code.
Generate Conventional Commits-compliant messages (feat/fix/docs/chore) in Korean and English. Use when you need to create a well-structured commit message for staged changes.
Identify and safely remove dead code, deprecated code, and unused exports from codebase. Use when you need to clean up unused or obsolete code.
Generate business rule documentation from domain knowledge and requirements. Use when documenting complex business logic.
| name | e2e-ui-research |
| description | Research UI E2E test targets and generate test scenario documentation. Use to analyze a frontend app and create comprehensive E2E test plans. |
| context | fork |
| agent | general-purpose |
$ARGUMENTS
Consider any additional context from user input (if not empty). Port and base URL will be extracted from playwright.config.ts.
This command performs comprehensive UI E2E test research including actual browser exploration via Playwright MCP.
Read playwright.config.ts (or .js) and package.json together:
From playwright.config.ts:
webServer.url or use.baseURL)testDir or testMatch)From package.json (in same directory as playwright.config.ts):
next, react, vue, svelte, @angular/core, etc.vite, webpack, turbopack, etc.Fallback (if playwright.config not found):
package.json dependencies and scriptsAI should use both files together for accurate project understanding.
Detect Backend Presence:
backend/, server/, api/, or similar)AI should flexibly identify backend components regardless of specific naming conventions.
Analyze Project:
README.md: Project overview, architectureCLAUDE.md: Domain knowledge, business rulesInformation to Gather:
Use playwright.config.ts to locate test files:
testDir or testMatch from playwright.config to find test locationtests/e2e/**/*.spec.ts)**/*.e2e.{ts,tsx,js,jsx}, e2e-ui/**/*, e2e/**/*)Analyze existing tests:
docs/e2e-ui/test-targets.md) - will delete and recreateFrontend Structure Analysis:
app/**/page.{ts,tsx}, pages/**/*.{ts,tsx}src/routes/**/*.{ts,tsx}, src/pages/**/*.{ts,tsx}AI should flexibly explore the codebase based on detected framework and project structure.
This is the most important step! Code analysis alone cannot reveal actual user experience.
Get base URL from playwright.config.ts:
webServer.url or use.baseURL to get the application URL// MCP tool usage example (use URL from playwright.config.ts)
browser_navigate: {baseURL from config}
browser_snapshot: Capture initial page DOM structure
Based on route list identified from code:
// For each page (use baseURL from playwright.config.ts)
browser_navigate: {baseURL}/{route}
browser_snapshot: Capture page DOM structure
Simulate main workflows:
// Example: Login flow
browser_click: "login button selector";
browser_type: ("email input", "test@example.com");
browser_type: ("password input", "password123");
browser_click: "submit button";
browser_wait_for: "dashboard loaded";
browser_snapshot: "after login state";
Flows to Explore:
Capture snapshots at each step to record state changes
Important: Even if bugs are found during Playwright MCP browser exploration:
❌ DON'T:
✅ DO:
Reason:
Integrate Code Analysis + Browser Exploration Results:
Mark source for each scenario:
After defining test scenarios, cross-check with existing E2E tests:
This prevents duplicate test implementation and helps identify coverage gaps accurately.
Prioritize (Critical/High/Medium):
Critical: Core functionality where failure breaks the app
High: Important features used frequently
Medium: Nice-to-have features
Each Scenario Should Include:
Files to Create:
docs/e2e-ui/test-targets.ko.md (Korean)docs/e2e-ui/test-targets.md (English)Document Synchronization:
Important - Existing Document Handling:
Read configuration first - Extract from playwright.config.ts and package.json:
Browser exploration - Use Playwright MCP for actual testing (code analysis alone misses UX issues)
Fresh documentation - Delete existing docs and create new ones. Do not merge with old content.
Verify against existing tests - Read test file cases (describe/test/it) to prevent duplicates
Bilingual output - Generate both ko.md and .md versions
Do:
Avoid:
Each scenario should include:
docs/e2e-ui/test-targets.ko.md# UI E2E Test Targets
[**한국어**](./test-targets.ko.md) | [English](./test-targets.md)
> **Created**: {YYYY-MM-DD HH:mm}
> **Research Method**: Code Analysis + Playwright Browser Exploration
---
---
## 📊 Current Coverage Analysis
### Existing UI E2E Tests
- `{test-file-1}`: {what it covers}
- `{test-file-2}`: {what it covers}
### Codebase Analysis
- **Framework**: {React/Next.js/Vue/etc}
- **Main Routes**: {X count}
- **Components**: {Y count}
### 🎭 Playwright Browser Exploration Results
- **Pages Explored**: {Z count}
- **User Flows Found**: {W count}
- **Interactive Elements**: {V count}
- **Testable Edge Cases**: {U count}
### Coverage Gaps
- {gap 1}
- {gap 2}
---
## 🎯 Test Scenarios by Priority
### Critical Priority
#### Test 1: {scenario name}
**Source**: 📊 Code Analysis | 🎭 Browser Exploration
**Page/Feature**: {page name or feature area}
**Description**: {what this test verifies}
**Test Steps**:
1. {step 1}
2. {step 2}
3. {step 3}
**Expected Results**:
- {expected result 1}
- {expected result 2}
**Verification Points** (Playwright MCP):
- `browser_snapshot`: {DOM elements to check}
- `browser_take_screenshot`: {what to verify via screenshot}
**Priority**: Critical
**Dependencies**: {none / previous test N}
---
#### Test 2: {scenario name}
{same structure}
---
### High Priority
#### Test 3: {scenario name}
{same structure}
---
### Medium Priority
#### Test 4: {scenario name}
{same structure}
---
## 🔧 Technical Considerations
### Playwright MCP Tools
- **Navigation**: `browser_navigate`
- **Interaction**: `browser_click`, `browser_type`, `browser_select_option`
- **Verification**: `browser_snapshot`, `browser_take_screenshot`
- **Waiting**: `browser_wait_for`
### Test Environment
- **Base URL**: {from playwright.config.ts - webServer.url or use.baseURL}
- **Test Directory**: {from playwright.config.ts - testDir or testMatch}
- **Required Services**: {backend, database, etc}
### Test Data
- {required test accounts (by role)}
- {required sample data}
- {external service mocking requirements}
---
## 🚨 Cautions
- {known bugs or unstable behaviors}
- {environment-specific considerations}
- {performance-related cautions}
---
## 📋 Test Implementation Order
Recommended execution order (considering dependencies):
1. Test N: {name} (Critical - no dependencies)
2. Test M: {name} (Critical - depends on Test N)
3. Test K: {name} (High - no dependencies)
...
docs/e2e-ui/test-targets.mdSame structure as Korean version, content translated to English.
Language links at top of file:
[한국어](./test-targets.ko.md) | [**English**](./test-targets.md)
After research completion, provide summary to user:
## UI E2E Test Research Complete
### 📊 Findings
- **Framework**: {React/Next.js/Vue/etc}
- **Pages Explored**: {X count}
- **User Flows Found**: {Y count}
- **Existing UI E2E Tests**: {Z count}
### 🎯 Test Scenarios
- **Critical**: {N count}
- **High**: {M count}
- **Medium**: {K count}
- **Total**: {N+M+K count}
### 📝 Generated Documents
- `docs/e2e-ui/test-targets.ko.md` (Korean)
- `docs/e2e-ui/test-targets.md` (English)
### 🔍 Coverage Gaps
- {main gap 1}
- {main gap 2}
### Next Steps
You can implement test scenarios as actual Playwright tests with `/e2e-ui:execute` command.
Start working according to the guidelines above.