Skip to main content
Glama

Skyelight

Publish a review link

publish_review_link

Share something with Skyelight for review, and get a link people can pin feedback on. Two ways:

  • code: one file Skyelight hosts at its own link with the review badge on it. A whole HTML page, or one React component with an export default (Tailwind classes and npm imports work; local imports such as @/components do not). For Claude prototypes, v0 snippets and single pages. Publishing again with the same prototypeId, or the same name in the same project, makes a new version at the same link.

  • url: an app already deployed (a Lovable, v0, Bolt or Vercel project: anything with more than one file). Adds its address to the project's Review Links and returns a script tag to add to the app's (index.html, or the root layout); add it and redeploy. Owners and admins. Returns the share link and the project link; give both to the person. A hosted link is public to anyone who has it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoWhere the app is deployed, e.g. https://my-app.lovable.app. Or give code.
codeNoFor Skyelight to host: the complete file, never a summary or an excerpt. Or give url.
kindNoWith code; worked out from it when left out.
nameNoWhat it is, in a few words. Names the hosted link and, when no project is given, a new project.
sourceNoWith code: where it was made, shown as its logo in Skyelight: "claude", "claude-code", "openai" (ChatGPT), "cursor", "windsurf", "v0", "lovable" or "other". Name yourself.
projectIdNoOptional: the project to put it in. Left out, a new project is made for it.
prototypeIdNoWith code: to publish a new version of a prototype published before.
workspaceIdNoWhen you are in more than one workspace and give no project, from list_workspaces.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: discloses that republishing with the same prototypeId or name creates a new version at the same link (clarifying the idempotentHint=false semantics), that a hosted link is public to anyone holding it, that permissions are owner/admin, and that the url mode mutates the project's Review Links. It also defines the return values ('the share link and the project link') that no output schema provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the outcome, then cleanly organized into the two bulleted modes; nearly every clause carries real decision-relevant information. The code bullet is dense with parenthetical caveats (Tailwind, npm imports, local imports fail) that are necessary but make it heavier than ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, zero-required, write-scoped tool with no output schema, the description covers all the gaps an agent would otherwise hit: which param combination to pick, what comes back, what to do with the result, permission level, and visibility of the artifact.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns more by explaining cross-parameter behavior the schema can't: code and url are alternatives, prototypeId republishes a prior prototype under the same link, and an omitted projectId creates a new project (with workspaceId only relevant in the multi-workspace, no-project case).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: share a file or deployed app with Skyelight for review and get a feedback link. It immediately splits into the two distinct modes (code vs url) so an agent knows exactly what artifact it produces, and nothing among the siblings (assign, create_item, project_review, post_update) overlaps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use routing: use 'code' for Claude prototypes, v0 snippets and single pages; use 'url' for anything with more than one file already deployed (Lovable, v0, Bolt, Vercel). It also states the prerequisite ('Owners and admins') and the post-call step for the url mode (add the script tag to <head> and redeploy).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.