publish-artifact-to-sites — Claude skill: ship reports to Sites
This skill pushes a finished Data Analytics report or dashboard to Sites as a snapshot. Reach for it once the artifact has passed validation and readers need it.
npx skills add openai/plugins --skill publish-artifact-to-sites -a codexWhat publish-artifact-to-sites does
The skill takes a validated artifact — a canonical manifest plus a bounded snapshot — and puts it on Sites. No live source connection follows it there. What readers open is the state captured at export time.
The flow has two moving parts. $sites-building creates or reopens a checkout from the worker starter (--starter worker), one per logical report or dashboard, and later versions reuse the same Site. Then export_artifact_package writes the package: the project goes into the compatibility field site_creator_project_id, the checkout path into output_dir. $sites-hosting polls the deployment until it reaches a terminal state.
Access policy gets read before anything ships. A workspace Site counts as owner-only when the policy is custom, there is exactly one allowed_account_user_id, the single allowed_users entry carries that same id with a non-empty email, and no groups are allowed. Asked to widen reader access? That change waits until the package is exported, otherwise the verified creator seed is gone. Presentation editing needs the D1 binding named DB; swapping in a different binding name breaks it.
If the Sites lifecycle cannot be called in Work Mode, the skill retries once and falls back to the self-contained HTML mode of the owning workflow. When you asked for Sites specifically, it reports the blocker instead of quietly switching surfaces.
What it helps with
- publish a validated report as a hosted snapshot
- export an artifact package tied to a Sites project
- confirm a Site is reachable only by its owner
- fall back to self-contained HTML when Sites is unavailable
- keep the creator seed while widening reader access
Example prompts for the agent
- Publish this report to Sites
- Export the artifact package and deploy it through Sites
- Check the Site access policy before publishing
How to install publish-artifact-to-sites
1Skills CLI (Vercel)
npx skills add openai/plugins --skill publish-artifact-to-sites -a codex2Manually: put the files in place
.agents/skills/publish-artifact-to-sites/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill publish-artifact-to-sites -a claude-code2Manually: put the files in place
~/.claude/skills/publish-artifact-to-sites/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/publish-artifact-to-sites/
Manually: put the files in place
.cursor/skills/publish-artifact-to-sites/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins publish-artifact-to-sites2Manually: put the files in place
.github/skills/publish-artifact-to-sites/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/data-analytics/skills/publish-artifact-to-sitesManually: put the files in place
.devin/skills/publish-artifact-to-sites/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them
Questions about publish-artifact-to-sites
How do I install publish-artifact-to-sites in Claude?
Run npx skills add openai/plugins --skill publish-artifact-to-sites -a codex. The skill then lives at .agents/skills/publish-artifact-to-sites/SKILL.md.
What does publish-artifact-to-sites do?
It publishes a validated Data Analytics report or dashboard to Sites as a snapshot. It does not wire the Site up to live data sources.
When does the skill run on its own?
In Work Mode it fires automatically whenever the full Sites build and hosting lifecycle is callable. In Claude Desktop outside Work Mode it waits for an explicit Sites request or for you to accept the sharing offer.