create-verification-skill
Create a verification skill
Read the pstack-t3 runtime before spawning workers, choosing models, scheduling, or isolating work. It maps those steps onto T3's orchestrator tools.
Every serious project needs a scripted way to drive the real app and prove behavior: launch it, exercise a feature the way a user would, and capture evidence. This skill generates that as a project-local skill tailored to the repo. T3 can run any provider, and providers load project skills from different directories, so the skill is written once to .agents/skills/verify-<app>/ (read by Codex and Cursor) and linked at .claude/skills/verify-<app> (read by Claude Code). Every T3 provider then sees it in the $ skill picker. You write the generator's output for the next agent, not for a human: it will be read cold, mid-task, by an agent that has never seen the app.
1. Interview the repo, not the user
Answer these from the codebase and only ask the user what you cannot observe:
- Surface: what does a user actually touch? A web UI, a CLI/TUI, a desktop app, an API, a mobile app, a library? A repo can have several; pick the primary one and note the rest.
- Run: how does the app start locally? Prefer the repo's own documented dev command (package scripts, Makefile, README quickstart). Note ports, env vars, seed data, auth.
- Drive: how can an agent interact with it programmatically? Existing harnesses first — Playwright/Cypress specs, expect scripts, PTY helpers, curl-able endpoints, a debug port. Only then pick a generic recipe: T3's preview tools for web and Electron (
preview_open,preview_snapshot,preview_click,preview_type,preview_press,preview_wait_for,preview_evaluate), a tmux/PTY harness for CLI/TUI, plain HTTP for services, and T3'sdevice_list,device_open,device_screenshot, anddevice_closefor mobile apps on simulators or devices. See the runtime's Verification surfaces. Preview tools are first-class drivers, not a fallback. Prefer them over a hand-rolled CDP harness unless the repo already ships one or the run must happen outside T3 (CI, a headless script). - Observe: what evidence can be captured? Screenshots, terminal transcripts, response bodies, logs, exit codes, DB state.
- Isolate: can two instances run side by side (ports, data dirs, profiles)? If not, say so in the generated skill: refusing to double-drive a shared instance beats corrupting the user's session.
If the checkout doesn't build or start as-is, fix that first (or report it precisely) before generating; a skill written against a broken base teaches wrong steps. When an irrelevant missing asset blocks startup (a static dir the API never serves, a sample config), the generated skill may create it, clearly marked as verification scaffolding, and remove it in cleanup.