run-wwtt-website
Runs, tests, and screenshots the WanderWave Travel & Tours web application.
Install
mkdir -p .claude/skills/run-wwtt-website && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14471" && unzip -o skill.zip -d .claude/skills/run-wwtt-website && rm skill.zipInstalls to .claude/skills/run-wwtt-website
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Run, start, build, screenshot, or test the WanderWave Travel & Tours website (React/Vite frontend + Node/Express backend). Use when asked to run the app, verify a change works visually, take a screenshot, or check a route.Key capabilities
- →Start the Vite development server for the frontend
- →Take screenshots of specific web pages or routes
- →Navigate to different routes in the web application
- →Interact with UI elements using clicks
- →Extract text content from web elements
- →Run Playwright tests for frontend E2E
How it works
This skill uses Playwright to automate browser interactions, allowing for starting the Vite dev server, taking screenshots, and navigating the WanderWave Travel & Tours website.
Inputs & outputs
When to use run-wwtt-website
- →Screenshot web pages
- →Test UI routes
- →Verify frontend changes
About this skill
WanderWave Travel & Tours is a full-stack travel-booking web app. The frontend is React 19 / Vite 7, served at http://localhost:3000. The backend is Node.js / Express on port 5000, with MongoDB. In dev the Vite proxy forwards /api requests to the production Render backend (https://wanderwaveph.onrender.com) — you do not need a local backend to run the frontend against real data.
The agent path is .claude/skills/run-wwtt-website/driver.mjs, which wraps Playwright (already in frontend/devDependencies) and supports one-shot commands or a REPL over stdin.
Prerequisites
Node.js ≥ 18 (tested on v24). Playwright's Chromium browser:
cd frontend
npx playwright install chromium
That's it. No OS packages needed on Windows — Playwright ships its own Chromium.
Build
cd frontend
npm install
The backend has its own deps:
cd backend
npm install
Run (agent path)
Start the Vite dev server — use port 3000 or 3001 (these are in the production backend's CORS allowlist; other ports will cause API calls to fail with CORS errors):
cd frontend
npx vite --port 3000
Vite prints the actual port if 3000 is busy. Note it.
Then run the driver from the repo root (c:\Users\hhsarmiento\Desktop\WWTT-Website):
# One-shot screenshot of the main page
node .claude/skills/run-wwtt-website/driver.mjs screenshot packages.png http://localhost:3000/packages
# One-shot screenshot of a specific route
node .claude/skills/run-wwtt-website/driver.mjs screenshot flights.png http://localhost:3000/flights
# Navigate and print page title
node .claude/skills/run-wwtt-website/driver.mjs navigate http://localhost:3000/packages
The driver must be run from the repo root — it resolves Playwright via an explicit path to frontend/node_modules/playwright/index.mjs, so no separate install is needed.
Alternatively use REPL mode for an interactive session:
node .claude/skills/run-wwtt-website/driver.mjs
# → driver ready — send: screenshot <path> [url] | navigate <url> | click <sel> | text <sel> | quit
screenshot packages.png http://localhost:3000/packages
click text=FLIGHT SEARCH
screenshot flights.png
quit
Environment variables
| Var | Default | Purpose |
|---|---|---|
BASE_URL | http://localhost:3000 | Override default base |
HEADLESS | true | Set to false to open a visible window |
Run (human path)
cd frontend && npm run dev
Opens the dev server; navigate to http://localhost:3000/packages (the real homepage — / has no route and shows 404).
To run the backend locally:
cd backend && npm run dev
Backend needs a backend/.env file with MONGO_URI, JWT_SECRET, CLOUDINARY_*, AMADEUS_*, etc. The .env file already exists in the repo (not committed).
Then update frontend/vite.config.js to proxy to https://wanderwaveph.onrender.com instead of the Render URL.
Key routes
| Route | What it is |
|---|---|
/packages | Main page — package deals listing |
/flights | Flight search (Amadeus API) |
/tours | Tour packages |
/transfers | Transfer packages |
/other-services | Visa, passport, etc. |
/dashboard | User dashboard (requires login) |
/has no route — it shows 404. Always start at/packages.
Tests
Frontend (Playwright e2e — currently no test files, only infra):
cd frontend && npx playwright test
Backend (Jest):
cd backend && npm test
Gotchas
-
Port matters for CORS. The production backend allowlists
http://localhost:3000andhttp://localhost:3001only. If Vite bumps to 3002+ (because those ports are busy), all/apicalls will silently fail with CORS errors in the browser console but the page shell still renders. Fix: free up port 3000 or 3001 before starting. -
No "/" route. Navigating to
http://localhost:3000renders the 404 NotFound component. The real landing page is/packages. This is intentional — the nav's "HOME" item navigates to/packages. -
Driver must run from repo root. The driver resolves Playwright via an explicit file URL to
frontend/node_modules/playwright/index.mjs. Running it from any other directory still works as long as you provide an absolute--cwd— but the simplest path is always from the repo root. Thecd frontend && node ...pattern will break because the relative depth calculation is anchored to the skill file, not the working directory. -
networkidlecan time out on CORS failures. If the backend is unreachable, the page fires API calls that never settle. The driver uses a 30-second timeout. If it times out, switch to{ waitUntil: 'load' }or use a free port 3000/3001. -
Anti-tamper is prod-only. The
vite.config.jsinjects an obfuscated anti-debugging script only invite buildproduction mode. It does not run in dev, so DevTools work normally.
Troubleshooting
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'playwright'
→ Run the driver from the repo root, not from frontend/ or the skill directory.
Access to fetch ... has been blocked by CORS policy
→ Vite is not on port 3000 or 3001. Kill competing processes and restart with npx vite --port 3000.
Port 3000 is in use, trying another one...
→ Find and kill the process using 3000: on Windows Get-NetTCPConnection -LocalPort 3000 | Select OwningProcess then Stop-Process -Id <pid>.
Error: Error connecting to the API. shown in UI
→ Same CORS issue as above, or the Render backend is sleeping (free tier). Wait 30 s for Render to wake, then reload.
When not to use it
- →When the application is not the WanderWave Travel & Tours website
- →When the task does not involve running, building, or testing the website
- →When not using Playwright for browser automation
Prerequisites
Limitations
- →The Vite dev server must run on port 3000 or 3001 to avoid CORS issues.
- →The driver script must be run from the repository root directory.
- →The root path '/' does not have a route and shows a 404 error.
How it compares
This workflow provides a scripted way to interact with the web application for testing and visual verification, unlike manual browser interaction.
Compared to similar skills
run-wwtt-website side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| run-wwtt-website (this skill) | 0 | 1mo | Review | Intermediate |
| webf-quickstart | 1 | 7mo | Review | Beginner |
| hap-view-plugin | 0 | 6mo | Review | Intermediate |
| app_runner | 0 | 6mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
webf-quickstart
openwebf
Get started with WebF development - setup WebF Go, create a React/Vue/Svelte project with Vite, and load your first app. Use when starting a new WebF project, onboarding new developers, or setting up development environment.
hap-view-plugin
garfield-bb
创建和开发明道云 HAP 自定义视图插件的技能。**立即触发条件**:用户提到"HAP 视图插件"、"自定义视图"、"mdye"、"视图开发"、"插件开发"、"初始化视图项目"、"启动视图调试"。提供完整的开发工作流程、API 使用指南和最佳实践。
app_runner
k4ilham
A skill to run the backend (Go Fiber) and frontend (React/Vite) applications. It includes pre-run checks to clear the required ports (8080 and 5173) if they are already in use.
playwright-browser-automation
lackeyjb
Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.
magicpath
tanglg
Search, preview, inspect, and install MagicPath UI components with the magicpath-ai CLI. Use when the user mentions MagicPath, wants to browse or search MagicPath components, preview one, or add one to their project. Also use when the user wants to create a new MagicPath project (workspace for desig
react-email
resend
Use when creating HTML email templates with React components - welcome emails, password resets, notifications, order confirmations, newsletters, or transactional emails.