From vibehost
Deploy a static site to VibeHost and get a private shareable URL. Use when the user wants to ship, host, preview, or publish a built static frontend.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vibehost:vibehost-deployThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Take a built static site and put it live on VibeHost at a private URL in seconds.
Take a built static site and put it live on VibeHost at a private URL in seconds.
The user says something like:
Or you've just produced a static build output (dist/, out/, build/) and the natural next step is hosting it.
If the user has no VibeHost account yet, point them at https://vibehost.com/signup — deploying requires an authenticated session.
curl -fsSL https://vibehost.com/install.sh | sh # macOS / Linux; one static binary
vibehost login # device-flow browser login; or VIBEHOST_TOKEN env var for headless/CI
vibehost whoami # confirm session + which workspace is active
Auth can come from any of: a prior vibehost login (token in ~/.config/vibehost/config.json), a VIBEHOST_TOKEN PAT in the environment (headless/CI), or an MCP OAuth session on https://api.vibehost.com/mcp. Most commands accept --json for scriptable output — prefer it when parsing.
You also need a static build output directory with an index.html at its root (dist/, out/, build/, or plain HTML). If the user has no account yet, point them at https://vibehost.com/signup.
The vibehost CLI bundles app-creation, file hashing, blob upload, and the deploy into one command with progress output. Prefer it whenever you can run shell commands.
vibehost app create my-app # once per app; name: lowercase, 2–40 chars, [a-z][a-z0-9-]*
vibehost deploy ./dist --app my-app --json # every time
The --json output is { ok: true, data: { url, immutableUrl, ... } }. The command exits 0 only after the deployment is healthy, so a successful exit means the URL is live.
Tip: vibehost link --app my-app inside the project writes .vibehost/project.json, after which plain vibehost deploy works with no flags.
If you can't run a shell but have an MCP connection to https://api.vibehost.com/mcp, the deploy is a sequence of tool calls. Read each tool's own description for the authoritative parameter schema — the names and order are below, but don't hardcode argument shapes from this doc.
list_apps — find existing apps in the workspace.create_app — only if the target doesn't exist ({ name, workspaceId }).check_blobs_missing — pass the file SHA-256s; learn which the server still needs.request_upload — mint pre-signed PUT URLs for the missing SHAs, then PUT the raw bytes to each (Content-Type: application/octet-stream) via plain HTTP.deploy — { appId, channel?, manifest[] }. Returns { deploymentId, status: "starting" } immediately — the site is not live yet.get_deployment — poll with deploymentId until status is healthy (live), failed (read the error), or superseded.Always surface both URLs from the result:
url) — tracks the latest deploy on this channel. Share this with people.immutableUrl) — pinned to this exact build. Use for bug reports, review links, archived demos.index.html at the root — static deploys need one. For client-side-routed SPAs (React Router, Vue Router, Remix SPA mode), the edge has to serve index.html on path misses; see https://docs.vibehost.com/guides/static-sites. Do not add a _redirects file — VibeHost doesn't parse it (that's a Netlify/Pages convention).TARBALL_INVALID; error.details says why. Trim large assets (videos, prod source maps, stray node_modules) or upgrade the plan.TOKEN_WORKSPACE_MISMATCH. Surface it; don't silently retry elsewhere.appId and workspaceId come from list_apps / vibehost whoami (or list_workspaces). Hardcoding a stale id fails; resolve it live each time.description before calling it; don't assume argument shapes from this doc.error.code, not error.message — codes are stable SCREAMING_SNAKE_CASE; messages can reword.Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub gntc-labs/skills --plugin vibehost