con un clic
e2e-ui-research
Research UI E2E test targets and generate test scenario documentation
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Research UI E2E test targets and generate test scenario documentation
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Transform verbose natural language requests into structured bilingual documentation (Korean for review + English for AI prompts)
Review current git changes or latest commit using code-reviewer and architect-reviewer agents
Review comments and suggest cleanup (identify unnecessary comments, recommend improvements)
Generate Conventional Commits-compliant messages (feat/fix/docs/chore) in Korean and English
Identify and safely remove dead code, deprecated code, and unused exports from codebase
Generate business rule documentation from domain knowledge and requirements
| name | e2e-ui-research |
| description | Research UI E2E test targets and generate test scenario documentation |
| 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.