Publish with the Claude skill
gotifacts ships a distributable Claude skill (gotifacts) that covers the
full site lifecycle: publish, unpublish, update metadata, rollback, restore, and purge. The
golden path is the MCP connector —
no env vars needed, Claude authenticates via OAuth. For Claude Code, CI, or any
environment without a connector, it falls back to GOTIFACTS_URL + GOTIFACTS_API_KEY.
The skill lives in the repo at
examples/skill/SKILL.md.
Where it works
Section titled “Where it works”| Environment | Path |
|---|---|
| claude.ai / Claude mobile | MCP connector (OAuth — no env vars) |
| Claude Code / Claude API | MCP connector or API key + env vars |
| CI pipelines | API key + env vars |
Install
Section titled “Install”mkdir -p ~/.claude/skills/gotifactscp examples/skill/SKILL.md ~/.claude/skills/gotifacts/Configure (API key path)
Section titled “Configure (API key path)”Set the two variables before use when not using the MCP connector:
export GOTIFACTS_URL=https://example.comexport GOTIFACTS_API_KEY=gtf_… # scoped key for the claude groupMint that key as in create & scope API keys,
e.g. --grant "claude:publish,unpublish,patch,rollback,purge".
Ask Claude to “publish this as a web page”, “take that down”, “update the
description”, or “roll back to the previous version”. The skill will ask for
consent, then call the appropriate MCP tool (or curl command). Operations:
| Ask Claude to… | Skill action |
|---|---|
| Publish / share a page or a multi-file site | publish_site / POST |
| Unpublish / take down | unpublish_site / DELETE |
| Update title or tags | update_site / PATCH |
| List a site’s revisions | list_revisions / GET revisions |
| Roll back to previous (or a chosen revision) | rollback_site / POST rollback |
| Restore from quarantine | restore_site / POST restore |
| Permanently delete | purge_site / POST purge |
Publishing works for both a single self-contained page and a multi-file site (an
index.html plus separate CSS/JS/image assets): via MCP, pass html for a
single page or a files array ({path, content, encoding}, with encoding
utf8 or base64) for a multi-file site; via the API key path, use the index
or bundle part as shown in publish from CI.
Re-publishing the same group/slug replaces the existing site. Unpublishing
keeps files in quarantine for the server’s configured TTL (default 30 days)
before permanent removal. restore_site brings the site back online within the
grace period; purge_site destroys it immediately and is irreversible.
rollback_site restores the most recent archived version, or a specific one
when given a revision (an archive timestamp from the
revisions list).