tobihagemann/turbo-preview
Stand up the project's live app and hand it to the user to try a change firsthand, then gate on their verdict before continuing. Use when the user asks to \"preview the change\", \"let me try it\", \"spin up the app so I can test it\", \"set it up so I can poke at it\", or before finalizing a UI/UX change that needs human eyes.
npx skills add https://github.com/tobihagemann/turbo --skill preview
Bring up the running app and let the user drive it themselves to judge the change, then act on their verdict.
Resolve what to preview using the first match:
If the resolved scope has no user-visible surface to try (a CLI-only change, a library with no entry point, backend work with no UI to look at), present this message: "Nothing to preview — <one-line reason>." Then call update_plan to mark this step completed and continue with the next step of the active workflow.
Check for a project-specific skill or plugin that launches the app, and use it if present. Otherwise use the fallback for the surface type:
Start backend services and frontend together — a frontend-only change still needs the backend running to be exercised. Build first if the project requires a build step.
Start long-running processes in a background shell and wait until each reports ready. Tail their logs in a background shell so backend errors and warnings surface while the user is trying the app.
If a required service cannot be stood up in this session (missing auth provider, external dependency, seed data), or a process fails to start or never reports ready, use request_user_input to surface the blocker and let the user choose how to proceed.
Output as text:
Use request_user_input to ask the user for their verdict after they have tried the app. Three options, with keeping the app running as the default:
Then call update_plan to mark this step completed and continue with the next step of the active workflow.
Take tobihagemann/turbo-preview from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.