Agent skill
frontend-verification
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/frontend-verification
SKILL.md
Frontend Verification & Testing
Verify Angular 18 frontend using Chrome DevTools MCP - check console, network, and visual rendering.
Project Context
Photo Map MVP - Angular 18 SPA with geolocation photo management.
Stack:
- Angular 18.2.0+ (standalone components)
- Dev Server: http://localhost:4200
- Backend API: http://localhost:8080 (Spring Boot 3)
- Build: Angular CLI + esbuild
Constraints:
- Both frontend and backend must be running
- JWT authentication for protected routes
- All API calls include
Authorization: Bearer <token>
When to Use This Skill
Automatic Triggers:
-
After implementing task logic - po ukończeniu implementacji feature
- Example: Po dodaniu Gallery Component → verify photos load
- Example: Po implementacji Login → check form + API call
-
When uncertain about code behavior - gdy wątpliwości czy działa
- Example: Complex RxJS pipeline → verify console
- Example: Leaflet map init → check visual rendering
-
When fixing UI bugs (iterative) - przy naprawie błędów (sprawdź → napraw → sprawdź)
- Example: Layout issue → screenshot → fix CSS → verify
- Example: API 401 → check network → fix auth → verify
-
On explicit request - na żądanie użytkownika
- Example: "zweryfikuj frontend", "sprawdź czy login działa"
DO NOT use for:
- ❌ Simple code reading (use Read tool)
- ❌ Unit test execution (use Bash with
ng test) - ❌ Backend-only changes (use spring-boot-backend skill)
Server Management
Check if servers running:
# Check PID files
[ -f scripts/.pid/backend.pid ] && kill -0 $(cat scripts/.pid/backend.pid)
[ -f scripts/.pid/frontend.pid ] && kill -0 $(cat scripts/.pid/frontend.pid)
# Health checks
curl http://localhost:8080/actuator/health # Backend
curl -I http://localhost:4200 # Frontend
Start servers:
./scripts/start-dev.sh # Backend + Frontend
./scripts/start-dev.sh --with-db # Include PostgreSQL
When to restart:
- ✅ Code changes (Java/TypeScript modified)
- ✅ Servers not responding (PID dead, ports free)
- ✅ Health checks failing
Rebuild & Restart:
./scripts/stop-dev.sh
cd backend && ./mvnw clean package # If backend changes
cd frontend && npm run build # If frontend changes
./scripts/start-dev.sh
→ Full docs: references/server-management.md
Verification Workflow
5-Step Process
Step 0: Verify Servers Running
↓
Step 1: Navigate & Capture State
↓
Step 2: Check Console Errors
↓
Step 3: Check Network Requests
↓
Step 4: Visual Verification
↓
Step 5: Report Results
Detailed Steps
Step 0: Verify Servers Running
# Check if servers running (PID + health)
[ -f scripts/.pid/backend.pid ] && kill -0 $(cat scripts/.pid/backend.pid)
[ -f scripts/.pid/frontend.pid ] && kill -0 $(cat scripts/.pid/frontend.pid)
# If NOT running OR code changes → restart
./scripts/stop-dev.sh
./scripts/start-dev.sh
Step 1: Navigate & Capture State
list_pages()→ check open pagesnavigate_page(url: "http://localhost:4200/path")→ go to routetake_snapshot()→ accessibility tree (structural check)take_screenshot()→ visual representation
Step 2: Check Console Errors
list_console_messages(types: ["error", "warn"])→ filter errorsget_console_message(msgid: N)→ detailed stack trace
Step 3: Check Network Requests
list_network_requests(resourceTypes: ["xhr", "fetch"])→ API callsget_network_request(reqid: N)→ headers, payload, response
Step 4: Visual Verification
take_screenshot(fullPage: true)→ full page visualresize_page(width, height)→ test responsive (375, 768, 1920)hover(uid),click(uid)→ test interactions
Step 5: Report Results
- ✅ PASS: "All verifications passed. No console errors, API calls 200 OK, UI renders correctly."
- ❌ FAIL: "Issues found: Console error at component.ts:42, Network POST /api/login → 401, Visual: missing padding"
Key MCP Tools
Navigation:
list_pages()- list open tabsnavigate_page(url, timeout)- go to URLwait_for(text, timeout)- wait for text to appear
State Capture:
take_snapshot(verbose)- accessibility tree (fast, text)take_screenshot(uid, fullPage, format)- visual capture (PNG/JPEG/WebP)evaluate_script(function, args)- execute JS in page
Console & Network:
list_console_messages(types, pageIdx, pageSize)- get console logsget_console_message(msgid)- detailed error infolist_network_requests(resourceTypes, pageIdx)- list HTTP requestsget_network_request(reqid)- detailed request/response
Interaction:
click(uid, dblClick)- click element by UIDfill(uid, value)- fill input/textareafill_form(elements)- fill multiple fieldshover(uid)- hover over element
Emulation:
resize_page(width, height)- change viewport (mobile: 375x667, tablet: 768x1024, desktop: 1920x1080)emulate_network(throttlingOption)- simulate network (Offline, Slow 3G, Fast 3G, etc.)performance_start_trace(reload, autoStop)- measure Core Web Vitals
→ Full docs: references/mcp-tools-reference.md
Quick Start
Example 1: Verify Console After Component Implementation
navigate_page(url: "http://localhost:4200/gallery")
list_console_messages(types: ["error", "warn"])
// ✅ No errors → Component works
// ❌ Errors found → get_console_message(msgid) → Fix
Example 2: Verify Network After API Integration
navigate_page(url: "http://localhost:4200/login")
fill_form([{ uid: "input-email", value: "test@example.com" }, { uid: "input-password", value: "test123456" }])
click(uid: "btn-login")
wait_for(text: "Photo Gallery", timeout: 5000)
list_network_requests(resourceTypes: ["fetch"])
get_network_request(reqid: 1)
// → POST /api/auth/login → 200 OK → JWT token ✅
Example 3: Verify Visual Layout
navigate_page(url: "http://localhost:4200/gallery")
take_screenshot(fullPage: true)
resize_page(width: 375, height: 667) // Mobile
take_screenshot()
// → Check: Single column layout on mobile ✅
→ Detailed scenarios: examples/*.md
→ Detailed patterns: references/verification-patterns.md
Best Practices
-
Always check console first - even if UI looks correct
typescriptlist_console_messages(types: ["error", "warn"]) -
Check network for API calls - verify status codes, headers, payloads
typescriptlist_network_requests(resourceTypes: ["xhr", "fetch"]) -
Test responsive layouts - mobile (375), tablet (768), desktop (1920)
typescriptresize_page(width: 375, height: 667) -
Use snapshots for structure, screenshots for visual
- Snapshot (fast, text) → "Are elements present?"
- Screenshot (slow, image) → "Does it look right?"
-
Iterative verification for bug fixes
- Verify bug → Fix code → Re-verify → Repeat until ✅
-
Report actionable issues
- ❌ BAD: "Login doesn't work"
- ✅ GOOD: "Login failed: POST /api/auth/login → 401. Request missing Authorization header. Check AuthInterceptor."
-
Restart servers when code changes
bash./scripts/stop-dev.sh && ./scripts/start-dev.sh
Related Skills
- angular-frontend - for implementing Angular components
- spring-boot-backend - for backend API development
- code-review - for code quality checks
Key Reminders
Proactive Verification:
- ✅ Use after implementing tasks
- ✅ Verify BEFORE marking complete
- ✅ Catch issues early
Comprehensive Checks:
- ✅ Console errors (ALWAYS)
- ✅ Network requests (for API features)
- ✅ Visual rendering (for UI features)
- ✅ Responsive layout (mobile, tablet, desktop)
Server Management:
- ✅ Check servers before starting (PID/health)
- ✅ Restart when code changes
- ✅ Use project scripts (
./scripts/start-dev.sh)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?