Best for
- User requests testing the App in a browser
- Verifying fixes or improvements you've made to UI/frontend code
- Debugging UI issues
Expensify/App/.claude/skills/playwright-app-testing/SKILL.md
Test the Expensify App using Playwright browser automation. Use when user requests browser testing, after making frontend changes, or when debugging UI issues
Decision brief
Test the Expensify App using Playwright browser automation.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/Expensify/App --skill ".claude/skills/playwright-app-testing"Inspect the Agent Skill "playwright-app-testing" from https://github.com/Expensify/App/blob/fa9e9ab9d5167326b75c86a577652ecb40e7afb9/.claude/skills/playwright-app-testing/SKILL.md at commit fa9e9ab9d5167326b75c86a577652ecb40e7afb9. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Verify server: Check Rspack process is running 2. Navigate: Open https://dev.new.expensify.com:8082/ in the browser 3. Interact: Use Playwright MCP tools to inspect, click, type, and navigate
Review the “Example Usage” section in the pinned source before continuing.
Use Playwright testing when: - User requests testing the App in a browser - Verifying fixes or improvements you've made to UI/frontend code - Debugging UI issues
Before using Playwright tools, verify the dev server is running:
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 5,012 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Use Playwright testing when:
Proactively use after making frontend changes to verify your work functions correctly.
Before using Playwright tools, verify the dev server is running:
ps aux | grep "rspack" | grep -v grep
If server not running: Inform user to start with cd App && npm run web
https://dev.new.expensify.com:8082/https://dev.new.expensify.com:8082/ in the browserDo NOT add arbitrary waits after actions. Instead, take a snapshot to check the result and only add short waits if the page hasn't updated yet.
When signing in to dev environment:
user+throwaway<random>@gmail.com)
000000SKIP_ONBOARDING env flag is set to false by default in .env. When false, onboarding screens will appear after sign-in for new accounts. Unless you are specifically asked to test onboarding, update the flag to true before starting the dev server so that onboarding is bypassed entirely:
sed -i '' 's/SKIP_ONBOARDING=false/SKIP_ONBOARDING=true/' .env
If you need to test onboarding flows, set it back to false:
sed -i '' 's/SKIP_ONBOARDING=true/SKIP_ONBOARDING=false/' .env
You can check the current value with:
grep SKIP_ONBOARDING .env
Important: After changing SKIP_ONBOARDING in .env, the web dev server must be restarted for the change to take effect.Scenario 1: User requests testing
User: "Test sign in to app"
→ Use this skill to verify server and test sign-in flow
Scenario 2: After making UI changes
You: "I've updated the expense form validation"
→ Proactively use this skill to verify the changes work in browser
Scenario 3: Investigating bug
User: "The submit button doesn't work on this page"
→ Use this skill to reproduce and verify the issue
Skip Playwright for:
Frequently asked questions
Test the Expensify App using Playwright browser automation.
The source record exposes this install command: npx skills add https://github.com/Expensify/App --skill ".claude/skills/playwright-app-testing". Inspect the command and pinned source before running it.
Alternatives
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
dotnet/skills
Fix, modernize, review, or explain supplied MSTest code and MSTest-specific configuration while honoring installed versions and project style. ALWAYS USE for direct corrections: expected/actual order; generic/manual assertions; exception, hard-cast, or object[] patterns; TestContext/lifecycle; timeout/cancellation; condition/retry/cleanup; parallelization; MSTest.Sdk setup; or MSTESTxxxx. Use for "review" only when corrected code or edits are wanted. DO NOT USE for new test-case design (code-tes
yonatangross/orchestkit
Grade work that already exists and decide whether it can merge. Runs the project's current unit, integration, and E2E suites plus security scanning and type checking, scores every dimension 0-10, and returns a merge verdict with a VERIFIED-vs-CLAIMED evidence manifest. Writes no test files and edits no source. Use when verifying changes are ready to merge. Use /ork:cover instead when the tests still have to be written.
microsoft/Sico
Execute Android UI workflows on a sandbox device, review results, and produce a structured execution report.