skills/test-app/SKILL.md
Starts the dev server, opens the browser, and tests recent changes end-to-end. Use this skill whenever the user says things like "test my changes", "check if this works", "run and test", "smoke test", "verify the app", "open the browser and test", "make sure it works", "test the UI", "check for errors", or asks you to visually verify, click through flows, or check console logs after making code changes. Also trigger when the user wants to see their app running and validated in the browser, even if they don't say "test" explicitly — phrases like "does it look right?", "spin it up and check", or "try it out" count too.
npx skillsauth add switch-dimension/switch-dimension-skills test-appInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run the dev server, open the app in a browser, and verify recent changes actually work — visually, functionally, and without errors.
Start by figuring out what you're testing. Run these in parallel:
git diff HEAD and git diff --cached — see what changedgit log --oneline -3 — recent commit contextpackage.json in the project root to find the dev server command and portIf the user tells you what to test, use that. Otherwise, infer from the diff which pages/components/flows were affected.
Detect the dev command from package.json scripts — look for dev, start, or serve in that order. Run it in the background:
nohup npm run dev > /tmp/smoke-test-server.log 2>&1 &
echo $! > /tmp/smoke-test-server.pid
Wait for the server to be ready by polling the log or the port:
for i in $(seq 1 30); do
curl -s http://localhost:3000 > /dev/null 2>&1 && break
sleep 1
done
Detect the port from package.json, framework config, or server output. Don't assume 3000 — check the logs if the first attempt fails.
Read /tmp/smoke-test-server.log and look for:
If there are blocking errors, report them to the user immediately and stop — no point opening the browser if the server didn't start.
Use the browser automation tools:
tabs_context_mcp to see current browser statetabs_create_mcp pointing to the app URLcomputer (screenshot action) to verify it renderedNavigate to the specific page or route affected by the changes. If the diff touched /app/dashboard/page.tsx, navigate to /dashboard. Use your judgment to map file paths to routes.
Take a screenshot and check:
Use read_page to get the page structure if you need to verify specific elements exist.
Use read_console_messages to check for:
Use read_network_requests to check for:
Based on what changed, interact with the affected UI:
find + computer (click)form_inputAfter each interaction:
For multi-step flows, use gif_creator to record the interaction sequence. This gives the user a visual artifact they can review. Name it descriptively, e.g., login-flow-test.gif or dashboard-crud-test.gif.
When done testing, kill the dev server:
kill $(cat /tmp/smoke-test-server.pid) 2>/dev/null
rm -f /tmp/smoke-test-server.pid /tmp/smoke-test-server.log
Give the user a clear summary:
## Smoke Test Results
**Changes tested:** <what was changed>
**URL tested:** http://localhost:<port>/<path>
### Rendering: PASS/FAIL
- <what rendered correctly or didn't>
### Console Errors: PASS/FAIL (N errors found)
- <list any errors>
### Network: PASS/FAIL
- <any failed requests>
### Flow Test: PASS/FAIL
- <what interactions were tested and results>
### Screenshots
- <reference any screenshots taken>
Be honest. If something looks off, say so. If everything works, say that too.
This skill may run against production or staging environments. Before performing any of the following, always stop and ask the user for confirmation:
When in doubt about whether an action has side effects, ask. It's better to pause and confirm than to accidentally create a real order or delete production data.
For read-only actions (navigating pages, viewing data, taking screenshots, reading console logs), no confirmation is needed.
testing
Reviews project changes and updates relevant documentation to match current behavior, setup, configuration, security, operations, and usage. Use when the user asks to update docs, audit documentation, check docs drift, prepare a handoff, document recent changes, or ensure project docs are current.
tools
Reviews new or modified agent skills for quality, safety, discoverability, structure, and repository best practices. Use when reviewing skill submissions, pull requests that add or change SKILL.md files, skill metadata, helper scripts, examples, or when the user asks to review a skill.
documentation
Ensures a .docs folder exists, creates project-log.md, and records current project status for handoff. Use when ending a session, before context switches, when handing off to another person or agent, or when the user asks to save project status or create a project log.
tools
Template skill for Switch Dimension. Use when learning the skill structure or as a starting point for new skills.