| 1 | --- |
| 2 | name: test-t3-app |
| 3 | description: Test T3 Code's web and desktop UI through its built-in Browser panel against isolated development state. Use for browser verification, browser pairing recovery, and test fixtures. Use test-t3-mobile for native mobile verification. |
| 4 | --- |
| 5 | |
| 6 | # Test T3 web and desktop |
| 7 | |
| 8 | Use T3's built-in Browser panel for verification. If its tools are absent or |
| 9 | the panel reports unavailable, explain the blocker and stop verification. |
| 10 | Do not install or switch to another automation system. For native mobile |
| 11 | testing, use [test-t3-mobile](../test-t3-mobile/SKILL.md). |
| 12 | |
| 13 | ## Start the app |
| 14 | |
| 15 | Reuse this task's healthy dev server. Otherwise run `vp run dev` from the |
| 16 | repository root and retain its terminal session. Use the worktree's ignored |
| 17 | `.t3` state and read the actual ports and pairing URL from the dev-runner output. |
| 18 | Never run against `~/.t3/userdata` or set `VITE_HTTP_URL` or `VITE_WS_URL`. |
| 19 | |
| 20 | Test with meaningful project and thread data. Read |
| 21 | [references/sqlite-fixtures.md](references/sqlite-fixtures.md) only when |
| 22 | inspecting or seeding SQLite. Stop the test server before direct fixture writes. |
| 23 | |
| 24 | ## Use the Browser panel |
| 25 | |
| 26 | Call `preview_status`, then `preview_open` if the Browser panel is |
| 27 | closed. Navigate to the complete startup pairing URL once with |
| 28 | `preview_navigate`, then use `preview_snapshot` and T3's interaction tools. |
| 29 | If the token was consumed or expired, run `node apps/server/src/bin.ts pair` |
| 30 | for a fresh one. Keep using the same tab. |
| 31 | |
| 32 | ## Verify and retain |
| 33 | |
| 34 | Exercise the affected flow and capture the state that proves it works. Keep |
| 35 | the server, state, and panel available while the user inspects or iterates. |
| 36 | An assistant turn ending is not teardown. Stop only processes you started, |
| 37 | using retained terminal sessions or captured PIDs. |
| 38 | |
| 39 | When sharing is requested, start with `vp run dev --share` and give the user |
| 40 | a fresh complete pairing URL that you have not consumed. Keep other credentials |
| 41 | out of screenshots, commits, and replies. |