Skip to content
Source
Sign inSign up

SKILL.md

59 lines2.9 KB

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. Follow the recovery steps
9below before declaring it unavailable. Do not install or switch to another
10automation system. For native mobile testing, use
11[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## Drive agent turns for free
25​
26Do not spend a paid model to see a turn render. `vp run dev` registers the
27`Replay (dev)` provider, which replays recorded turns with simulated streaming
28through the real adapter and orchestration. Its models are scenarios:
29`showcase` covers thinking, a plan, tool calls, an approval, and markdown.
30Press `Ctrl+Alt+Shift+R` for a picker (GNOME takes that key for screen
31recording), call `window.t3dev.replay("showcase")`
32with `preview_evaluate`, or run
33`node apps/server/src/bin.ts thread start --base-dir .t3 --provider devReplay --model showcase <project> "go"`.
34When the test needs real provider behavior, use that provider's cheapest
35model, such as Haiku for Claude or Luna for Codex.
36​
37## Use the Browser panel
38​
39Call `preview_status`. If no tab can be automated, call `preview_open`, including
40when status reports `available: false` or `tabId: null`. Status can report
41unavailable simply because no tab exists yet; opening a tab needs no user action.
42Stop verification and explain the blocker only if the tools are absent or
43`preview_open` reports unavailable or fails.
44​
45Navigate to the complete startup pairing URL once with
46`preview_navigate`, then use `preview_snapshot` and T3's interaction tools.
47If the token was consumed or expired, run `node apps/server/src/bin.ts pair`
48for a fresh one. Keep using the same tab.
49​
50## Verify and retain
51​
52Exercise the affected flow and capture the state that proves it works. Keep
53the server, state, and panel available while the user inspects or iterates.
54An assistant turn ending is not teardown. Stop only processes you started,
55using retained terminal sessions or captured PIDs.
56​
57When sharing is requested, start with `vp run dev --share` and give the user
58a fresh complete pairing URL that you have not consumed. Keep other credentials
59out of screenshots, commits, and replies.