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