Tour Studio

Compose, export and import guided journeys

Tour Studio structures in-product browser assistance. Each workflow is a versioned JSON bundle you import and export on `/admin/tours`, or prepare offline with `@guidia/skills`.

Three layers in one workflow

A page describes a stable view of your app (URL, pattern, detection selectors). An action is something the user can do on that page (click, fill, navigate…). A flow chains actions into guided steps with instructions, narration and UI mode (highlight, confirm).

Everything links through human-readable keys (`dashboard`, `open-billing`, `upgrade-tour`), never database ids, so export and import stay symmetric.

JSON import / export in the console

On `/admin/tours`, Import JSON and Export JSON buttons frame the studio. Export downloads a `guidia-tour-studio-*.json` file with the entire studio for the current app.

Import offers two strategies: merge (upsert by key, everything else is kept) or replace (full wipe before writing). Every import is tagged `import:<id>` so you can roll back precisely.

AI generation and project import

The Generate with AI tab drafts pages and flows from screenshots, video, HTML or a Git/ZIP repo. JSON import/export extends that path: an external agent can build the bundle offline, you validate it, then import in one click.

`@guidia/skills` package for agents

The npm package ships a fluent builder (`workflow().addPage().addAction().addFlow()`), a schema + cross-ref validator and a `guidia` CLI (`init`, `validate`, `coverage`). Agents generate JSON offline; you then import it on `/admin/tours` with **Import JSON**.

Full technical documentation lives at `/docs/tour-studio-bundle`.

Per-app coverage

Workflow routes depend on the target application (`app_id`), not on guidia.dev's marketing site. The `meta.coverage` field and `guidia coverage --mode bundle` audit bundle integrity; `--mode custom` compares against your own route list when the product changes.