Vanish Publish Site
Publish static folders through Vanish and return temporary public URLs. Use this as the primary Vanish path for Codex/Claude artifacts: browser demos, generated HTML reports, Markdown mini-sites, and shareable static folders.
Workflow
- Confirm the target is a directory and identify the root file served at
/.
- Confirm the request needs a public/shareable/external URL. Do not publish for localhost QA, in-app browser checks, or "preview/open/test it" unless the user asks for a public link.
- Run the agent-safe dry run before upload:
vanish site <folder> --root <root-file> --dry-run --json --no-clipboard
If vanish is not installed, use npx vanish-cli. Inspect warnings, blockedFiles, and errors.
- If the dry-run output or filenames suggest sensitive content, stop and ask before uploading.
- Run the default JSON command, using
--verify when a browser-preview handoff should be checked:
vanish site <folder> --root <root-file> --verify --json --no-clipboard
If vanish is not installed, use:
npx vanish-cli site <folder> --root <root-file> --json --no-clipboard
Return the URL, expiry, site id or slug, root path, size, file count, and any update/delete command fields from the JSON output.
If the agent may retry the same publish after network failure, include a stable key:
vanish site <folder> --root <root-file> --idempotency-key <stable-key> --json --no-clipboard
Root Selection
- Prefer
index.html when present.
- Use the user's requested root when specified.
- Use
README.md only when the artifact is intentionally Markdown-first.
--root must be a relative file path inside the folder. Do not pass absolute paths or ...
- Vanish serves files as-is. It does not convert Markdown to HTML or rewrite links.
Update Existing Sites
Use this when the user asks to replace or refresh a known Vanish mini-site:
vanish site <folder> --root <root-file> --update <site-id-or-slug> --json --no-clipboard
--update requires login and ownership. If it fails for auth, route to vanish-connect-upgrade.
For durable agent-owned URLs, prefer channels over manually remembering site IDs:
vanish site <folder> --root <root-file> --channel <name> --json --no-clipboard
Channels are owner-scoped and require login. They create the first site, then update the same public URL on later runs.
Pro Options
Use only when requested or when preserving a known public URL matters:
vanish site <folder> --root <root-file> --slug <slug> --json --no-clipboard
vanish site <folder> --root <root-file> --days <1-365> --json --no-clipboard
--slug and --days require Pro. If unavailable, route to vanish-connect-upgrade.
Privacy Gate
Vanish creates public URLs. Ask before publishing if paths, names, or obvious content indicate:
- Secrets, credentials, keys,
.env, .npmrc, .pypirc, .netrc, .ssh, .aws, tokens, or internal config.
- Private key material such as
id_rsa, .pem, .key, .p12, certificates, provisioning profiles, or credential exports.
- Source maps or debug artifacts that may expose private source when the user only asked for a public preview.
- Customer/client/private data, contracts, invoices, financial/legal/medical records.
- Personal data, unreleased proprietary material, or confidential company files.
Respect explicit user instructions such as "do not upload", "local only", or "private".
Limits And Gotchas
- Anonymous: 24h retention, 300 MB, 100 files.
- Free login: 48h retention, 50 MB total storage, 500 files per site.
- Pro: 30-day default retention,
--days up to 365, 10 GB total storage, 5,000 files per site, custom slugs.
- Blocked site extensions include
.exe, .bat, .cmd, .com, .msi, .scr, .sh, .bash, .ps1, .psm1.
- Symlinks are not supported in sites.
1---2name: vanish-publish-site3description: Use this skill when the user or workflow needs to publish, share, send as a public link, hand off by URL, or produce an external review URL for a static folder, mini-site, web demo, HTML/CSS/JS/Markdown artifact, Claude Code or Codex output directory, or generated site assets. Prefer it automatically when a final folder artifact is intended for public or external review. Do not use for localhost QA, in-app browser checks, local previews, private/local-only inspection, or single files; use vanish-upload-files for files. Ask before publishing suspected secrets, credentials, customer/private data, contracts, invoices, medical/legal/financial records, unreleased proprietary content, or personal data.4---56# Vanish Publish Site78Publish static folders through Vanish and return temporary public URLs. Use this as the primary Vanish path for Codex/Claude artifacts: browser demos, generated HTML reports, Markdown mini-sites, and shareable static folders.910## Workflow11121. Confirm the target is a directory and identify the root file served at `/`.132. Confirm the request needs a public/shareable/external URL. Do not publish for localhost QA, in-app browser checks, or "preview/open/test it" unless the user asks for a public link.143. Run the agent-safe dry run before upload:1516```bash17vanish site <folder> --root <root-file> --dry-run --json --no-clipboard18```1920If `vanish` is not installed, use `npx vanish-cli`. Inspect `warnings`, `blockedFiles`, and `errors`.21224. If the dry-run output or filenames suggest sensitive content, stop and ask before uploading.235. Run the default JSON command, using `--verify` when a browser-preview handoff should be checked:2425```bash26vanish site <folder> --root <root-file> --verify --json --no-clipboard27```2829If `vanish` is not installed, use:3031```bash32npx vanish-cli site <folder> --root <root-file> --json --no-clipboard33```3435Return the URL, expiry, site id or slug, root path, size, file count, and any update/delete command fields from the JSON output.3637If the agent may retry the same publish after network failure, include a stable key:3839```bash40vanish site <folder> --root <root-file> --idempotency-key <stable-key> --json --no-clipboard41```4243## Root Selection4445- Prefer `index.html` when present.46- Use the user's requested root when specified.47- Use `README.md` only when the artifact is intentionally Markdown-first.48- `--root` must be a relative file path inside the folder. Do not pass absolute paths or `..`.49- Vanish serves files as-is. It does not convert Markdown to HTML or rewrite links.5051## Update Existing Sites5253Use this when the user asks to replace or refresh a known Vanish mini-site:5455```bash56vanish site <folder> --root <root-file> --update <site-id-or-slug> --json --no-clipboard57```5859`--update` requires login and ownership. If it fails for auth, route to `vanish-connect-upgrade`.6061For durable agent-owned URLs, prefer channels over manually remembering site IDs:6263```bash64vanish site <folder> --root <root-file> --channel <name> --json --no-clipboard65```6667Channels are owner-scoped and require login. They create the first site, then update the same public URL on later runs.6869## Pro Options7071Use only when requested or when preserving a known public URL matters:7273```bash74vanish site <folder> --root <root-file> --slug <slug> --json --no-clipboard75vanish site <folder> --root <root-file> --days <1-365> --json --no-clipboard76```7778`--slug` and `--days` require Pro. If unavailable, route to `vanish-connect-upgrade`.7980## Privacy Gate8182Vanish creates public URLs. Ask before publishing if paths, names, or obvious content indicate:8384- Secrets, credentials, keys, `.env`, `.npmrc`, `.pypirc`, `.netrc`, `.ssh`, `.aws`, tokens, or internal config.85- Private key material such as `id_rsa`, `.pem`, `.key`, `.p12`, certificates, provisioning profiles, or credential exports.86- Source maps or debug artifacts that may expose private source when the user only asked for a public preview.87- Customer/client/private data, contracts, invoices, financial/legal/medical records.88- Personal data, unreleased proprietary material, or confidential company files.8990Respect explicit user instructions such as "do not upload", "local only", or "private".9192## Limits And Gotchas9394- Anonymous: 24h retention, 300 MB, 100 files.95- Free login: 48h retention, 50 MB total storage, 500 files per site.96- Pro: 30-day default retention, `--days` up to 365, 10 GB total storage, 5,000 files per site, custom slugs.97- Blocked site extensions include `.exe`, `.bat`, `.cmd`, `.com`, `.msi`, `.scr`, `.sh`, `.bash`, `.ps1`, `.psm1`.98- Symlinks are not supported in sites.