[IMPORTANT] Use TaskCreate to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ATTENTION ask user whether to skip.
Evidence-Based Reasoning — Speculation is FORBIDDEN. Every claim needs proof.
- Cite
file:line, grep results, or framework docs for EVERY claim
- Declare confidence: >80% act freely, 60-80% verify first, <60% DO NOT recommend
- Cross-service validation required for architectural changes
- "I don't have enough evidence" is valid and expected output
BLOCKED until: - [ ] Evidence file path (file:line) - [ ] Grep search performed - [ ] 3+ similar patterns found - [ ] Confidence level stated
Forbidden without proof: "obviously", "I think", "should be", "probably", "this is because"
If incomplete → output: "Insufficient evidence. Verified: [...]. Not verified: [...]."
docs/project-reference/domain-entities-reference.md — Domain entity catalog, relationships, cross-service sync (read when task involves business entities/models) (content auto-injected by hook — check for [Injected: ...] header before reading)
Quick Summary
Goal: Run comprehensive UI tests on a website and generate a detailed visual report.
For individual page/component testing with Playwright scripts, use webapp-testing instead.
Workflow:
- Discover — Browse target URL, discover all pages, components, endpoints
- Plan Tests — Create test plan covering accessibility, responsiveness, performance, security, SEO
- Execute — Run parallel tester subagents; capture screenshots for each test area
- Analyze — Use ai-multimodal to review screenshots and visual elements
- Report — Generate Markdown report with embedded screenshots and recommendations
Key Rules:
- Do NOT implement fixes; this is a testing/reporting skill only
- Save all screenshots in the report directory
- Support authenticated routes via cookie/token/localStorage injection
Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).
Activate the chrome-devtools skill.
Purpose
Run comprehensive UI tests on a website and generate a detailed report.
Arguments
- $1: URL - The URL of the website to test
- $2: OPTIONS - Optional test configuration (e.g., --headless, --mobile, --auth)
Testing Protected Routes (Authentication)
For testing protected routes that require authentication, follow this workflow:
Step 1: User Manual Login
Instruct the user to:
- Open the target site in their browser
- Log in manually with their credentials
- Open browser DevTools (F12) → Application tab → Cookies/Storage
Step 2: Extract Auth Credentials
Ask the user to provide one of:
- Cookies: Copy cookie values (name, value, domain)
- Access Token: Copy JWT/Bearer token from localStorage or cookies
- Session Storage: Copy relevant session keys
Step 3: Inject Authentication
Use the inject-auth.js script to inject credentials before testing:
cd $SKILL_DIR # .claude/skills/chrome-devtools/scripts
# Option A: Inject cookies
node inject-auth.js --url https://example.com --cookies '[{"name":"session","value":"abc123","domain":".example.com"}]'
# Option B: Inject Bearer token
node inject-auth.js --url https://example.com --token "Bearer eyJhbGciOi..." --header Authorization --token-key access_token
# Option C: Inject localStorage
node inject-auth.js --url https://example.com --local-storage '{"auth_token":"xyz","user_id":"123"}'
# Combined (cookies + localStorage)
node inject-auth.js --url https://example.com --cookies '[{"name":"session","value":"abc"}]' --local-storage '{"user":"data"}'
Step 4: Run Tests
After auth injection, the browser session persists. Run tests normally:
# Navigate and screenshot protected pages
node navigate.js --url https://example.com/dashboard
node screenshot.js --url https://example.com/profile --output profile.png
# The auth session persists until --close true is used
node screenshot.js --url https://example.com/settings --output settings.png --close true
Auth Script Options
--cookies '<json>' - Inject cookies (JSON array)
--token '<token>' - Inject Bearer token
--token-key '<key>' - localStorage key for token (default: access_token)
--header '<name>' - Set HTTP header with token (e.g., Authorization)
--local-storage '<json>' - Inject localStorage items
--session-storage '<json>' - Inject sessionStorage items
--reload true - Reload page after injection
--clear true - Clear saved auth session
Workflow
- Use
planning skill to organize the test plan & report in the current project directory.
- All the screenshots should be saved in the same report directory.
- Browse $URL with the specified $OPTIONS, discover all pages, components, and endpoints.
- Create a test plan based on the discovered structure
- Use multiple
tester subagents or tool calls in parallel to test all pages, forms, navigation, user flows, accessibility, functionalities, usability, responsive layouts, cross-browser compatibility, performance, security, seo, etc.
- Use
ai-multimodal to analyze all screenshots and visual elements.
- Generate a comprehensive report in Markdown format, embedding all screenshots directly in the report.
- Finally respond to the user with a concise summary of findings and recommendations.
- Use
AskUserQuestion tool to ask if user wants to preview the report with /preview slash command.
Output Requirements
How to write reports:
- Format: Use clear, structured Markdown with headers, lists, and code blocks where appropriate
- Include the test results summary, key findings, and screenshot references
- IMPORTANT: Ensure token efficiency while maintaining high quality.
- IMPORTANT: Sacrifice grammar for the sake of concision when writing reports.
- IMPORTANT: In reports, list any unresolved questions at the end, if any.
IMPORTANT: Do not start implementing the fixes.
IMPORTANT: Analyze the skills catalog and activate the skills that are needed for the task during the process.
Closing Reminders
- IMPORTANT MUST ATTENTION break work into small todo tasks using
TaskCreate BEFORE starting
- IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
- IMPORTANT MUST ATTENTION cite
file:line evidence for every claim (confidence >80% to act)
- IMPORTANT MUST ATTENTION add a final review todo task to verify work quality
MANDATORY IMPORTANT MUST ATTENTION READ the following files before starting:
- IMPORTANT MUST ATTENTION cite
file:line evidence for every claim (confidence >80% to act). NEVER speculate without proof.
- IMPORTANT MUST ATTENTION READ
CLAUDE.md before starting
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: duc01226-easyplatform-test-ui3description: > **[IMPORTANT]** Use `TaskCreate` to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ATTENTION ask user whether to skip.4---56> **[IMPORTANT]** Use `TaskCreate` to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ATTENTION ask user whether to skip.78<!-- SYNC:evidence-based-reasoning -->910> **Evidence-Based Reasoning** — Speculation is FORBIDDEN. Every claim needs proof.11>12> 1. Cite `file:line`, grep results, or framework docs for EVERY claim13> 2. Declare confidence: >80% act freely, 60-80% verify first, <60% DO NOT recommend14> 3. Cross-service validation required for architectural changes15> 4. "I don't have enough evidence" is valid and expected output16>17> **BLOCKED until:** `- [ ]` Evidence file path (`file:line`) `- [ ]` Grep search performed `- [ ]` 3+ similar patterns found `- [ ]` Confidence level stated18>19> **Forbidden without proof:** "obviously", "I think", "should be", "probably", "this is because"20> **If incomplete →** output: `"Insufficient evidence. Verified: [...]. Not verified: [...]."`2122<!-- /SYNC:evidence-based-reasoning -->2324- `docs/project-reference/domain-entities-reference.md` — Domain entity catalog, relationships, cross-service sync (read when task involves business entities/models) (content auto-injected by hook — check for [Injected: ...] header before reading)2526## Quick Summary2728**Goal:** Run comprehensive UI tests on a website and generate a detailed visual report.2930> **For individual page/component testing with Playwright scripts, use `webapp-testing` instead.**3132**Workflow:**33341. **Discover** — Browse target URL, discover all pages, components, endpoints352. **Plan Tests** — Create test plan covering accessibility, responsiveness, performance, security, SEO363. **Execute** — Run parallel tester subagents; capture screenshots for each test area374. **Analyze** — Use ai-multimodal to review screenshots and visual elements385. **Report** — Generate Markdown report with embedded screenshots and recommendations3940**Key Rules:**4142- Do NOT implement fixes; this is a testing/reporting skill only43- Save all screenshots in the report directory44- Support authenticated routes via cookie/token/localStorage injection4546**Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).**4748Activate the chrome-devtools skill.4950## Purpose5152Run comprehensive UI tests on a website and generate a detailed report.5354## Arguments5556- $1: URL - The URL of the website to test57- $2: OPTIONS - Optional test configuration (e.g., --headless, --mobile, --auth)5859## Testing Protected Routes (Authentication)6061For testing protected routes that require authentication, follow this workflow:6263### Step 1: User Manual Login6465Instruct the user to:66671. Open the target site in their browser682. Log in manually with their credentials693. Open browser DevTools (F12) → Application tab → Cookies/Storage7071### Step 2: Extract Auth Credentials7273Ask the user to provide one of:7475- **Cookies**: Copy cookie values (name, value, domain)76- **Access Token**: Copy JWT/Bearer token from localStorage or cookies77- **Session Storage**: Copy relevant session keys7879### Step 3: Inject Authentication8081Use the `inject-auth.js` script to inject credentials before testing:8283```bash84cd $SKILL_DIR # .claude/skills/chrome-devtools/scripts8586# Option A: Inject cookies87node inject-auth.js --url https://example.com --cookies '[{"name":"session","value":"abc123","domain":".example.com"}]'8889# Option B: Inject Bearer token90node inject-auth.js --url https://example.com --token "Bearer eyJhbGciOi..." --header Authorization --token-key access_token9192# Option C: Inject localStorage93node inject-auth.js --url https://example.com --local-storage '{"auth_token":"xyz","user_id":"123"}'9495# Combined (cookies + localStorage)96node inject-auth.js --url https://example.com --cookies '[{"name":"session","value":"abc"}]' --local-storage '{"user":"data"}'97```9899### Step 4: Run Tests100101After auth injection, the browser session persists. Run tests normally:102103```bash104# Navigate and screenshot protected pages105node navigate.js --url https://example.com/dashboard106node screenshot.js --url https://example.com/profile --output profile.png107108# The auth session persists until --close true is used109node screenshot.js --url https://example.com/settings --output settings.png --close true110```111112### Auth Script Options113114- `--cookies '<json>'` - Inject cookies (JSON array)115- `--token '<token>'` - Inject Bearer token116- `--token-key '<key>'` - localStorage key for token (default: access_token)117- `--header '<name>'` - Set HTTP header with token (e.g., Authorization)118- `--local-storage '<json>'` - Inject localStorage items119- `--session-storage '<json>'` - Inject sessionStorage items120- `--reload true` - Reload page after injection121- `--clear true` - Clear saved auth session122123## Workflow124125- Use `planning` skill to organize the test plan & report in the current project directory.126- All the screenshots should be saved in the same report directory.127- Browse $URL with the specified $OPTIONS, discover all pages, components, and endpoints.128- Create a test plan based on the discovered structure129- Use multiple `tester` subagents or tool calls in parallel to test all pages, forms, navigation, user flows, accessibility, functionalities, usability, responsive layouts, cross-browser compatibility, performance, security, seo, etc.130- Use `ai-multimodal` to analyze all screenshots and visual elements.131- Generate a comprehensive report in Markdown format, embedding all screenshots directly in the report.132- Finally respond to the user with a concise summary of findings and recommendations.133- Use `AskUserQuestion` tool to ask if user wants to preview the report with `/preview` slash command.134135## Output Requirements136137How to write reports:138139- Format: Use clear, structured Markdown with headers, lists, and code blocks where appropriate140- Include the test results summary, key findings, and screenshot references141- **IMPORTANT:** Ensure token efficiency while maintaining high quality.142- **IMPORTANT:** Sacrifice grammar for the sake of concision when writing reports.143- **IMPORTANT:** In reports, list any unresolved questions at the end, if any.144145**IMPORTANT**: **Do not** start implementing the fixes.146**IMPORTANT:** Analyze the skills catalog and activate the skills that are needed for the task during the process.147148---149150## Closing Reminders151152- **IMPORTANT MUST ATTENTION** break work into small todo tasks using `TaskCreate` BEFORE starting153- **IMPORTANT MUST ATTENTION** search codebase for 3+ similar patterns before creating new code154- **IMPORTANT MUST ATTENTION** cite `file:line` evidence for every claim (confidence >80% to act)155- **IMPORTANT MUST ATTENTION** add a final review todo task to verify work quality156 **MANDATORY IMPORTANT MUST ATTENTION** READ the following files before starting:157 <!-- SYNC:evidence-based-reasoning:reminder -->158- **IMPORTANT MUST ATTENTION** cite `file:line` evidence for every claim (confidence >80% to act). NEVER speculate without proof.159 <!-- /SYNC:evidence-based-reasoning:reminder -->160- **IMPORTANT MUST ATTENTION** READ `CLAUDE.md` before starting161162---163> Converted and distributed by [TomeVault](https://tomevault.io/claim/duc01226) — claim your Tome and manage your conversions.164<!-- tomevault:4.0:skill_md:2026-04-13 -->