# Hand off to Lovable, v0 and Bolt > Launch Lovable, v0 or Bolt with your tokens already loaded. What the sync link makes public, and how to catch a builder up when your tokens change. - Source: https://flashdsm.com/blog/handoff-lovable-v0-bolt - Published: 2026-09-11 - Author: Flash DSM Team - Track: Learn Flash - Reading time: 5 min read --- ## What a handoff sends AI builders are good at producing screens and not so good at keeping them consistent. Give Lovable a vague prompt and you get a fine app in a colour scheme somebody else picked. Handoff gives the builder your tokens before it writes the first screen. It lives in [[Sync > Handoff]], under **Build & handoff**. Each builder gets a row with a launch button where the builder supports one, **Copy prompt**, and a download of the same prompt as a markdown file. The prompt starts with a short instruction ("use these exact token values, do not invent new styles") followed by your token reference. The prompts don't paste in a frozen copy of your values. They point at your system's live sync link, which is why the first handoff asks a question. ## Publishing the sync link The first time you copy, download or launch anything here, Flash asks "Publish a sync link for this system?" The dialog tells you what it does: it creates a read-only public URL so tools can read your current tokens. Anyone with the link can view them. Nobody can edit them. Click **Publish and continue** and the action you asked for carries on. Here is what becomes readable at that URL: | Feed | What it is | |---|---| | `/shared/` | A read-only review page for people, no account needed | | `/api/v1/shared//kit.md` | Your tokens and usage rules as markdown, for builders and agents | | `/api/v1/shared//tokens.json` | Tokens as JSON | | `/api/v1/shared//tokens.css` | Tokens as CSS custom properties | | `/api/v1/shared//registry.json` | A shadcn registry item with your theme | Only token sections are served: colours in both themes, typography, spacing, radius, shadows, borders, motion, effects, fonts and your component list. Private component specs are not on the public route. To turn it off, go to [[Sync > Agents]] and click **Disable link** on the Live sync link card. Every URL above stops working at once, and so does the share-link MCP endpoint. Only an admin or the owner can publish or disable the link. Editors see the button disabled, because publishing is a different decision from editing. > [!WARNING] > Disabling the link doesn't reach into projects that already copied values. A Lovable app that pasted your hex codes keeps them. What you cut off is future reads. ## Each builder, and how it gets your system | Builder | How it receives the system | What it needs | |---|---|---| | Lovable | Opens Lovable with the prompt in the URL and submits it for you | Nothing extra | | v0 | Opens v0 with your tokens as a shadcn theme | The public link and a system saved to your workspace | | Bolt | Opens bolt.new with a theme-setup prompt | Nothing extra | | base44 | Copy the starter prompt into a new base44 app | No launch API yet, so it's a paste | | Stitch | Paste the brief at the start of your Stitch prompt | A paste | - **Lovable** starts building immediately. Launch it from a fresh project, not one you care about, because it will not wait for you to read the prompt first. - **v0** reads the shadcn registry, so it gets your theme as real CSS variables rather than prose. The same registry works in any React project with shadcn: the Live sync link card has the `npx shadcn@latest add` command ready to copy. - **Bolt** gets a prompt that sets up the theme first. Let that first run finish before asking for screens. - **base44 and Stitch** are paste-in. Paste at the very start, before your own description, so the constraints come first. Every launch is recorded in the system's activity feed, which is also how Flash knows what it handed to whom. ## When your tokens move A handoff is a copy. The builder keeps whatever it was given, and nothing tells it you warmed up the neutrals last Thursday. Flash knows both sides, what it handed over and what the system says now, so it's the one that speaks up. When you change tokens after a handoff, a card appears at the top of the Handoff tab: "One handoff is behind your tokens" (or however many). Each row names the builder, counts what moved ("3 changed ยท 1 added since this handoff") and previews up to three lines with the old and new value side by side, with two buttons: 1. **Copy re-sync prompt** copies only the changed tokens as a patch prompt. Paste it into that builder project's chat. 2. **Mark synced** clears the row once you have pasted it. It restamps the handoff, so the next change you make shows up as drift from today, not from the original launch. The prompt carries the diff, not the whole system, on purpose. Re-sending the full starter prompt to a project that already has thirty screens tends to turn a re-sync into a redesign. ## Keeping a builder on brand The builder will drift in ways the drift card can't see, because the drift happens inside the builder. Some habits that help: - Build the theme before the screens. Start with "set up the design system from these tokens and show me a style guide page", check it against your review page, then ask for features. - Name tokens in follow-up prompts. "Make the header use the raised surface" survives iterations better than "make the header a bit lighter", which gets you a new hex code. - Keep the kit URL in the builder's project knowledge or instructions where it has one. Then later prompts can say "re-read the kit" instead of repeating values. - Ban the usual escape hatches in so many words: no arbitrary colours, no one-off pixel values, reuse existing components before making new ones. - Look at a screenshot, not the chat. Builders are confident narrators. - After a big token change, re-sync every open project the same day, while you still remember which one is which. ## Before you launch - Save the system to your workspace. Without that there is no live link, and v0 won't open. - Decide whether the tokens may be public. If not, use the MCP token route from [Keep Cursor and Claude Code on your tokens](/blog/cursor-design-tokens-on-brand-ai) instead of a builder handoff. - Check contrast first. A builder copies bad pairs as faithfully as good ones, and [Contrast in practice](/blog/contrast-wcag-aa-in-practice) is quicker to read than fixing twenty screens. - Handing off to a client or another team? See [Invite your team and keep a history](/blog/team-roles-and-history) so the system itself has an owner and a record.