Skip to Content
ProjectsHosted prototypes

Hosted prototypes

Skyelight can host a prototype so people can review it. A coding agent sends the code of one HTML page or one React component, and Skyelight serves it at its own link on skyelight.page with the review badge on it. Reviewers pin on it like any preview, and their threads go to a Skyelight project.

Use it for prototypes made in tools such as Claude, v0 or Lovable. Those tools show a prototype on their own pages, where Skyelight can’t add the badge.


Publish a prototype

Prototypes are published from a coding agent, with the publish_review_link tool and the prototype’s code. Scripts can call the same operation with POST /api/v1/review-links. The web app lists hosted prototypes but doesn’t publish them.

  1. Connect your agent

    Connect the agent to the Skyelight MCP. Hosting prototypes works on every plan, including Free.

  2. Ask the agent to publish

    Publish this pricing page to Skyelight so the client can review it.

    The agent sends the complete file and a name. It can name a project. If it doesn’t, Skyelight creates a new project named after the prototype, and that project counts toward your plan’s project limit.

  3. The agent returns the prototype’s link and the project’s link. Send the prototype’s link to your reviewers. They sign in with a Skyelight account to pin.

Owners, admins and collaborators can publish. Reviewers can’t.

What you can publish

One file, up to 900 KB:

  • A whole HTML page. Skyelight serves it as you sent it, and adds the badge’s script tag.
  • One React component with a default export, the way Claude, v0 and Lovable hand components over. Skyelight wraps it in a page that compiles it in the browser (TypeScript included), loads each npm import from esm.sh with one shared copy of React 18, loads Tailwind, and mounts the component. If the component fails, the page shows its error.

Skyelight works out which of the two it is from the code.

A component that imports files from its own app, such as @/components/ui/button, can’t run on its own, so Skyelight doesn’t host it. The same applies to an index.html that loads /src/main.tsx. The agent is told to deploy the app and send its address instead, which adds the app to the project’s Review Links.

Versions

Publishing again with the same prototypeId, or with the same name in the same project, adds a version. Names are matched without regard to case.

  • The link stays the same and shows the newest version.
  • Add ?v=2 to the link to see version 2, or any earlier version by its number.
  • Skyelight keeps every version.

To publish a new version, ask the agent in the tool the prototype was made in.

A prototype’s link is its name plus six random characters, such as https://pricing-page-x7k2qa.skyelight.page, so nobody can guess it from the name. Anyone with the link can open the prototype. Only workspace members can sign in to the badge and pin.

Publishing adds the link to the project’s review links, which is what lets the badge sign reviewers in on it. The badge’s mark shows on every visit, with no ?skyelight=1 needed.

Each prototype runs on its own subdomain of skyelight.page, a domain separate from skyelight.ai. Code in a prototype can’t reach a Skyelight session or cookie, and one prototype can’t read another’s storage.

Hosted prototypes are listed under Project settings Review Links, after the preview addresses. Each row shows:

  • The skyelight.page address
  • The logo of the tool it was made with
  • Its name, Hosted by Skyelight, the live version and Badge

The row’s menu has Copy link and Unpublish. An unpublished prototype’s menu has Publish again.

The agent says where the prototype was made: claude, claude-code, openai, cursor, windsurf, v0, lovable or other. Common spellings such as “ChatGPT” or “v0.dev” are understood. If the agent doesn’t say, Skyelight uses the MCP client when it can tell which one made the request. A new version that names no tool keeps the logo it had.

Reviewing a hosted prototype

The badge works on a hosted prototype as it does on any preview. Two things differ:

  • The drawer docks beside the prototype. Opening the drawer narrows the prototype’s window, so a page that sizes itself to the window, such as a slide deck, makes room for the drawer instead of running under it. The address bar keeps the prototype’s own address, and the tab shows its title and icon. Signing in, and links to other sites, open in the whole tab.
  • The Chrome extension can’t pin inside a hosted prototype. Use the badge there.

A page that keeps its state in the address fragment, such as a slide deck’s #3, keeps working through sign-in.

Unpublish a prototype

Choose Unpublish in the prototype’s menu in Review Links. The link then answers with “This prototype was unpublished” (HTTP 410). Its versions and threads stay.

To put it back, choose Publish again, or publish a new version from the agent.

Plan limits

PlanHosted prototypes
Free1 per workspace, with any number of versions
Pro, Team and EnterpriseNo limit

On Free, publishing a second prototype is refused with “Free includes 1 hosted prototype”. Publish a new version of the first one, or upgrade. See Plans and billing.

Deleting a project

Deleting a project deletes its hosted prototypes and every version of them. Their links stop working at once.

Not supported

  • Publishing several files, or a zip
  • Pinning on a hosted prototype without a Skyelight account
Last updated on