Agent skill

Publish Site

by Luciole-Studio in Luciole-Studio/Misaka-Agent

Versioned site deploys to GitHub/Cloudflare/Netlify Pages. An agent skill from Luciole-Studio/Misaka-Agent.

MITAuto-check: notesDevOps & Cloud

Install Publish Site

skills CLI
$ npx skills add Luciole-Studio/Misaka-Agent --skill publish-site -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Luciole-Studio/Misaka-Agent publish-site --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Luciole-Studio/Misaka-Agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/misaka/core/skills/assets/optional/web-development/publish-site .claude/skills/publish-site && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
publish-site
GitHub stars
171
Used in
1 other repo
Token cost
~2.1k tokens
SKILL.md length
1,066 words
Files
1
Skills in repo
77
Repo updated
First seen
Licence
MIT

At a glance

Versioned site deploys to GitHub/Cloudflare/Netlify Pages. An agent skill from Luciole-Studio/Misaka-Agent.

  • Works in 5 steps: Build and preview locally → Version before deploy — no exceptions → Deploy — provider ladder → …
  • DevOps & Cloud work in your project
  • SKILL.md covers When to Use, Prerequisites, How to Run and Quick Reference, plus 3 more sections
  • Calls git, gh and netlify; needs CLOUDFLARE_API_TOKEN

What it does

Publish Site is an agent skill from Luciole-Studio/Misaka-Agent. Versioned site deploys to GitHub/Cloudflare/Netlify Pages.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud. It works with Netlify, Cloudflare, GitHub and Cloudflare Workers. The repository describes itself as: A multi-agent research system for the humanities and social sciences. The licence is MIT.

When your agent uses it

  • DevOps & Cloud work in your project

Example prompts

  • “/publish-site”

Requirements

  • Python 3
  • Node.js
  • A credential in CLOUDFLARE_API_TOKEN

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Build and preview locally
  2. Version before deploy — no exceptions
  3. Deploy — provider ladder
  4. Rollback
  5. Secrets and environment variables

What it can do on your machine

Read from SKILL.md and the folder at commit 3bcf7a3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh
    • netlify
    • python3
    • npx
    • npm
    • curl
    • cloudflared
    • wrangler

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, gh, netlify, npx, npm, curl and wrangler, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CLOUDFLARE_API_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Publish Site loads about 2.1k tokens when it runs. Until then it costs about 18 tokens; SKILL.md has 1,066 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~18
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:135
    - **NEVER commit secrets, API keys, or `.env` files** — they'd be public on Pages hosting. Check with `git status` befor

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Luciole-Studio/Misaka-Agent at commit 3bcf7a3, republished under its MIT licence (© Luciole-Studio). 1,066 words, ~2,146 tokens.

Download SKILL.mdSave it as .claude/skills/publish-site/SKILL.md (or your agent's skills folder).
name
publish-site
description
Versioned site deploys to GitHub/Cloudflare/Netlify Pages.
version
1.0.0
author
Hermes Agent (Nous Research)
license
MIT
platforms
linux, macos, windows

Publish Site

Take a website, dashboard, or web app the user built (or you built for them) and put it online on infrastructure the user owns — GitHub Pages by default, Cloudflare Pages or Netlify when they need more. The discipline: preview locally for sign-off, version every deploy with a git tag, deploy through a provider ladder, verify the live URL with a real HTTP check, and keep rollback one command away.

This skill covers static sites and SPA build output (plain HTML/CSS/JS, or the dist//build/ folder from Vite/Next-export/Astro/etc.). It does not cover server-side runtimes — for throwaway serverless deploys with zero account setup, use the cloudflare-temporary-deploy optional skill instead.

When to Use

Load this skill when the user asks to:

  • Put a site online — "publish this", "host this somewhere", "give me a link I can share"
  • Deploy a dashboard, report, portfolio, docs site, or prototype you just generated
  • Update an already-published site with new content (redeploy = new version)
  • Roll back a bad deploy to the previous version
  • Pick a host — they don't care where, they just want a URL

Prerequisites

At least ONE authenticated provider CLI (check in this order):

  • GitHub Pages (default): gh auth status succeeds. Needs git too.
  • Cloudflare Pages: wrangler whoami succeeds (or CLOUDFLARE_API_TOKEN is set). Install: npm i -g wrangler or use npx wrangler@latest.
  • Netlify (fallback): netlify status succeeds. Install: npm i -g netlify-cli.

Plus:

  • A directory of static output to publish (site root or a dist//build/ folder). If the project needs a build step, run it first and publish the output directory, never the source.
  • For local preview sharing: cloudflared (optional — python3 -m http.server covers local-only preview).

How to Run

All commands below run via the terminal tool from the site's project directory. The pipeline is always the same five moves:

  1. Build → 2. Preview for sign-off → 3. Commit + tag (version-before-deploy) → 4. Deploy via the provider ladder → 5. Verify the live URL with curl and report it.

Quick Reference

StepCommand
Local previewpython3 -m http.server 8080 --directory dist
Shareable previewcloudflared tunnel --url http://localhost:8080
Version a deploygit add -A && git commit -m "deploy: <what>" && git tag deploy-YYYYMMDD-HHMM
GitHub Pages (branch mode)git subtree push --prefix dist origin gh-pages
Enable Pages on repogh api repos/{owner}/{repo}/pages -X POST -f 'source[branch]=gh-pages' -f 'source[path]=/'
Cloudflare Pagesnpx wrangler@latest pages deploy dist --project-name <name>
Netlifynetlify deploy --prod --dir dist
Rollbackgit checkout <previous-tag> -- . && redeploy (or provider dashboard)
Verify livecurl -sS -o /dev/null -w '%{http_code}' <url> → expect 200

Procedure

1. Build and preview locally

Build if needed (npm run build, etc.) and identify the output directory. Serve it:

bash
python3 -m http.server 8080 --directory dist

For a shareable preview link (user on another machine, or you want their sign-off before going live), open a quick tunnel in a background terminal session:

bash
cloudflared tunnel --url http://localhost:8080

Give the user the https://*.trycloudflare.com URL and get sign-off before deploying. Kill the tunnel afterwards.

2. Version before deploy — no exceptions

Every deploy must come from a git commit, so every deploy is reproducible and rollback is trivial.

bash
git init 2>/dev/null; git add -A
git commit -m "deploy: <short description>"
git tag "deploy-$(date +%Y%m%d-%H%M)"

If the project already has a repo, just commit + tag. Never deploy uncommitted files.

3. Deploy — provider ladder

Rung 1 — GitHub Pages (default: free, zero extra accounts if gh is authed):

bash
gh repo create <name> --public --source . --push   # skip if repo exists
git subtree push --prefix dist origin gh-pages      # publish build output
gh api "repos/{owner}/<name>/pages" -X POST \
  -f 'source[branch]=gh-pages' -f 'source[path]=/'  # first time only

Site appears at https://<owner>.github.io/<name>/. If the site is the repo root (no build dir), push main and set Pages source to main instead of using subtree. For build-step projects that will redeploy often, prefer the official actions/deploy-pages workflow so pushes auto-publish.

Rung 2 — Cloudflare Pages (when the user wants a custom domain, redirects/headers, or Functions):

bash
npx wrangler@latest pages deploy dist --project-name <name>

First run creates the project and prints the https://<name>.pages.dev URL. Custom domains attach via the Cloudflare dashboard (Pages → project → Custom domains).

Rung 3 — Netlify (fallback, or when the user already lives there):

bash
netlify deploy --prod --dir dist

netlify deploy --dir dist (no --prod) gives a draft URL — useful as a second preview stage.

Show full SKILL.md (437 more words)Show less
4. Rollback

Rollback = redeploy a previous tag. Never hand-edit live output.

bash
git checkout deploy-<previous> -- .   # or: git checkout deploy-<previous>; rebuild
# then rerun the same deploy command from step 3

Cloudflare Pages and Netlify also keep per-deploy history in their dashboards ("Rollback to this deploy"), which is faster when the CLI isn't handy.

5. Secrets and environment variables
  • NEVER commit secrets, API keys, or .env files — they'd be public on Pages hosting. Check with git status before the first commit and keep .env* in .gitignore.
  • Runtime env vars belong in the provider's dashboard: Cloudflare Pages → Settings → Environment variables; Netlify → Site settings → Environment variables. GitHub Pages is static-only — no server env; anything embedded in the bundle is public by definition. Warn the user if their build inlines a key.

Pitfalls

  • SPA routes 404 on GitHub Pages. Pages has no rewrite rules. Copy index.html to 404.html in the output dir (cp dist/index.html dist/404.html) so client-side routing recovers. Cloudflare Pages and Netlify handle SPAs via _redirects (/* /index.html 200).
  • GitHub Pages build lag. The site can take 1–10 minutes to appear after the first enable, and ~1 minute per subsequent push. Don't declare failure on the first 404 — poll curl a few times before investigating.
  • Case-sensitive paths. Pages hosts are case-sensitive Linux; a site that worked on macOS/Windows can 404 on assets referenced as Logo.PNG but committed as logo.png. Grep the HTML for mismatched casing when an asset 404s.
  • Project-page base path. https://<owner>.github.io/<name>/ serves under /<name>/ — absolute asset URLs like /app.js break. Use relative paths or set the build tool's base (vite build --base=/<name>/).
  • wrangler auth flow needs a browser. wrangler login opens OAuth; in a headless session prefer CLOUDFLARE_API_TOKEN (user creates it at dash.cloudflare.com → API Tokens) and never echo the token into logs.
  • DNS propagation on custom domains. New CNAMEs can take minutes to hours. Verify against the provider's default URL (*.pages.dev, *.netlify.app, *.github.io) first, then check the custom domain separately — don't conflate the two failures.
  • Deploying source instead of build output. Publishing the repo root when the real site lives in dist/ yields a directory listing or raw JSX. Always confirm the output dir contains an index.html.

Verification

Do NOT report success from the deploy log alone. Before telling the user anything:

  1. curl -sS -o /dev/null -w '%{http_code}' <live-url> returns 200 (retry over ~2 minutes for a first GitHub Pages deploy).
  2. curl -sS <live-url> | head -30 shows the expected index.html content — optionally confirm markup with web_extract on the live URL.
  3. For SPAs, also curl one deep route (e.g. /about) and confirm it returns 200, not 404.
  4. git tag --list 'deploy-*' shows the tag for this deploy.

Then report the live URL to the user, along with the deploy tag they can roll back to.

© Luciole-Studio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in misaka/core/skills/assets/optional/web-development/publish-site of Luciole-Studio/Misaka-Agent.

Open the folder on GitHubat commit 3bcf7a3

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in Luciole-Studio/Misaka-Agent, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Publish Site next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Publish Site compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Publish Site this skillLuciole-Studio/Misaka-Agent1711 repos~2.1kAutomated safety check: NotesMIT
Prepare Cloudflare Production DeploymentLubomirGeorgiev/cloudflare-workers-nextjs-saas-template786—~5.9kAutomated safety check: NotesMIT
Codflow Updatebighadj22/codflow354—~6.2kAutomated safety check: NotesApache-2.0
Cloudflare Pagessickn33/agentic-awesome-skills47k2 repos~2.4kAutomated safety check: PassMIT
Cloudflare Workers CD Rollbackmizchi/skills360—~1.2kAutomated safety check: NotesNone
Vercel Migration Deep Divejeremylongshore/tons-of-skills-marketplace2.8k—~2kAutomated safety check: NotesMIT

Similar skills

  • Prepare Cloudflare Production Deployment

    LubomirGeorgiev/cloudflare-workers-nextjs-saas-template

    Source-of-truth runbook for preparing this Vinext Cloudflare Workers SaaS template for production deployment.

    786 GitHub stars~5.9k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Codflow Update

    bighadj22/codflow

    Update runbook for a self-hosted CodFlow install — an AI agent following it fetches the latest code from the CodFlow GitHub repo, merges it into an EXISTING checkout, syncs the gitignored…

    354 GitHub stars~6.2k tokensUpdated 5 days ago
    DevOps & CloudAuto-check: notes
  • Cloudflare Pages

    sickn33/agentic-awesome-skills

    Deploy static sites and full-stack apps on Cloudflare Pages with previews, functions, and custom domains.

    47k GitHub starsUsed in 2 repos~2.4k tokens
    DevOps & CloudAuto-check passed
  • GitHub Actions CD for Cloudflare Workers through cf with automatic traffic rollback on smoke failure, including JSON deployment snapshots, D1 migrations and prebuilt artifacts.

    360 GitHub stars~1.2k tokensUpdated 9 days ago
    DevOps & CloudAuto-check: notes
  • Vercel Migration Deep Dive

    jeremylongshore/tons-of-skills-marketplace

    Migrate to Vercel from other platforms or re-architecture existing Vercel deployments.

    2.8k GitHub stars~2k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Deploy Agent

    sundial-org/awesome-openclaw-skills

    Multi-step deployment agent for full-stack apps. An agent skill from sundial-org/awesome-openclaw-skills.

    663 GitHub stars~1.6k tokensUpdated 7 mo ago
    DevOps & CloudAuto-check passed

More from Luciole-Studio/Misaka-Agent

All 77 skills in this repo
  • Kanban Video Orchestrator

    Luciole-Studio/Misaka-Agent

    Plan and run multi-agent video production pipelines. An agent skill from Luciole-Studio/Misaka-Agent.

    171 GitHub starsUsed in 2 repos~2.4k tokens
    Auto-check: notes
  • Ast Grep

    Luciole-Studio/Misaka-Agent

    AST-aware structural code search and rewrite via ast-grep. An agent skill from Luciole-Studio/Misaka-Agent.

    171 GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • Drug Discovery

    Luciole-Studio/Misaka-Agent

    Drug discovery: ChEMBL search, drug-likeness, interactions. An agent skill from Luciole-Studio/Misaka-Agent.

    171 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • Fitness Nutrition

    Luciole-Studio/Misaka-Agent

    Workout planning, macros, and body metrics via wger/USDA. An agent skill from Luciole-Studio/Misaka-Agent.

    171 GitHub starsUsed in 1 repo~2.4k tokens
    Auto-check passed
  • Hyperframes

    Luciole-Studio/Misaka-Agent

    Render MP4/WebM videos from HTML compositions. An agent skill from Luciole-Studio/Misaka-Agent.

    171 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed
  • Osint Investigation

    Luciole-Studio/Misaka-Agent

    Follow the money via public records and sanctions data. An agent skill from Luciole-Studio/Misaka-Agent.

    171 GitHub starsUsed in 1 repo~2.9k tokens
    Auto-check passed

Categories

Questions about Publish Site

What does Publish Site do?

Versioned site deploys to GitHub/Cloudflare/Netlify Pages. An agent skill from Luciole-Studio/Misaka-Agent. Publish Site is an agent skill from Luciole-Studio/Misaka-Agent. Versioned site deploys to GitHub/Cloudflare/Netlify Pages.

When should I use Publish Site?

Publish Site fits situations like: devOps & Cloud work in your project.

How do I install Publish Site in Claude Code?

Run `npx skills add Luciole-Studio/Misaka-Agent --skill publish-site -a claude-code`. Or copy the skill folder (misaka/core/skills/assets/optional/web-development/publish-site in Luciole-Studio/Misaka-Agent) into .claude/skills/publish-site in your project. Claude Code loads it when a task matches its description.

How do I install Publish Site in Codex?

Run `npx skills add Luciole-Studio/Misaka-Agent --skill publish-site -a codex`. Or copy the skill folder (misaka/core/skills/assets/optional/web-development/publish-site in Luciole-Studio/Misaka-Agent) into .agents/skills/publish-site in your project. Codex loads it when a task matches its description.

Can I use Publish Site in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Luciole-Studio/Misaka-Agent --skill publish-site -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/publish-site, .gemini/skills/publish-site, .github/skills/publish-site and .opencode/skills/publish-site in your project.

What does Publish Site need to run?

Going by SKILL.md and its folder, Publish Site needs the command-line tools its instructions call (git, gh, netlify, python3, npx and npm) and credentials named CLOUDFLARE_API_TOKEN. Our summary lists: Python 3; Node.js; A credential in CLOUDFLARE_API_TOKEN.

Does Publish Site access the network?

SKILL.md contains no URLs. Its commands use git, gh, npx, npm and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Publish Site safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Publish Site use?

Publish Site is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Publish Site use?

About 2.1k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Publish Site?

Skills that share tags, products or a category with Publish Site: Prepare Cloudflare Production Deployment (LubomirGeorgiev/cloudflare-workers-nextjs-saas-template, 786 stars), Codflow Update (bighadj22/codflow, 354 stars), Cloudflare Pages (sickn33/agentic-awesome-skills, 47k stars) and Cloudflare Workers CD Rollback (mizchi/skills, 360 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Publish Site?

Luciole-Studio (a GitHub organization) maintains it in Luciole-Studio/Misaka-Agent, which has 171 GitHub stars. The repository holds 77 skills in this directory. The repository was last updated on October 8, 2026.

Source: Luciole-Studio/Misaka-Agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.