Skip to content
AI & Agents
Skill

/static-deploy

Deploy static pages to nexu.space. Use when user says deploy, publish, ship, or go live with a static site/page. Uploads files from workspace to <project-slug>.nexu.space via Wrangler + Cloudflare Pages. Supports first deploy and redeploy.

BOOST
From plugin
nexu
3.3k14 skills
Install
$ npx -y skills add nexu-io/nexu --skill static-deploy --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/static-deploy

Context preview

The summary Claude sees to decide when to auto-load this skill.

Deploy static pages to nexu.space. Use when user says deploy, publish, ship, or go live with a static site/page. Uploads files from workspace to <project-slug>.nexu.space via Wrangler + Cloudflare Pages. Supports first deploy and redeploy.

SKILL.md

static-deploy.SKILL.md
name: static-deploy
description: "Deploy static pages to nexu.space. Use when user says deploy, publish, ship, or go live with a static site/page. Uploads files from workspace to <project-slug>.nexu.space via Wrangler + Cloudflare Pages. Supports first deploy and redeploy."

Static Deploy

Deploy static files to `<project-slug>.nexu.space` via Wrangler + Cloudflare Pages.

The deploy script stages a temporary copy of the site and injects a `_headers` file (if needed) with cache revalidation rules for HTML/CSS/JS to reduce stale asset issues after redeploys. Source files are not modified.

What it deploys

Any static files: HTML, CSS, JS, images, fonts, etc. Common use cases:

  • Single-page apps (React, Vue, etc. — deploy the `dist/` or `build/` folder)
  • Landing pages, portfolios, documentation sites
  • Quick prototypes or demos
  • Any folder with an `index.html`

Usage

1. Identify the directory containing files to deploy (must have an `index.html`) 2. Derive a project-slug from context (e.g., "family budget" → `family-budget`)

  • Lowercase alphanumeric + hyphens only, max 63 characters
  • Reuse the same slug for redeployments
  • Ask user to confirm if ambiguous

3. Run deploy with the inbound structured context:

"$SKILL_DIR/scripts/deploy.sh" <project-slug> <directory> <agent-id> <chat-id> [thread-id] [message-ref] [account-id] [channel] [chat-type] [sender-ref]

`agent-id` is required. The script uses it to resolve the corresponding `botId` from `nexu-context.json` when recording deployment artifacts.

`chat-id` is the raw inbound chat identifier from the message context.

  • DM example: `U0AHLMC6C8G`
  • Channel example: `C0AJKG60H6D`

`chat-type` tells the script whether to send that id to Nexu as `user:<chat-id>` or `channel:<chat-id>`. The script does that translation; do not concatenate those prefixes yourself.

`thread-id` is optional — pass it when deploying from within a thread context. 4. Parse the JSON output and report to user:

  • Brief summary of what was deployed
  • Live URL from the `url` field
  • **Important:** Tell the user that Cloudflare Pages propagation takes ~3 minutes. The URL may not work immediately after the first deploy. For redeployments, it's usually faster.

Example reply

> Deployed! Your site is live at https://family-budget.nexu.space > > Note: First-time deploys take ~3 minutes to propagate on Cloudflare. If you see a "not found" page, wait a few minutes and refresh.

Rules

  • Never read, echo, or log `SKILL_API_TOKEN`, `CLOUDFLARE_API_TOKEN`, or `CLOUDFLARE_ACCOUNT_ID`
  • Never pass credentials as command arguments
  • Always use the bundled `deploy.sh` — do not call Cloudflare API directly
  • Do not set `DEPLOY_BACKEND` or any other env overrides — the script handles everything
  • Always pass the caller `<agent-id>` as arg #3 to `deploy.sh`
  • Always pass raw inbound `<chat-id>` as arg #4
  • Never pass `<agent-id>` as `<chat-id>`; they are different values
  • If deploying from a thread, pass `<thread-id>` as arg #5
  • Always pass `<channel>` and `<chat-type>` when available so Nexu can resolve the correct session deterministically
  • Do not try to look up or persist a canonical session key in this skill; Nexu resolves it server-side
  • Do not hand-edit source files just to add cache-busting query params; the deploy script handles cache revalidation via a staged `_headers` file
  • If the script fails, show the `message` field from the JSON error to the user
  • Cloudflare credentials are fetched at runtime via the scoped secrets API using `SKILL_API_TOKEN` from env — do not attempt to read or inject them manually

Output Format

Success:

{
  "status": "success",
  "url": "https://<slug>.nexu.space",
  "deployment_url": "https://<id>.<slug>.pages.dev",
  "files_total": 10,
  "files_uploaded": 2,
  "files_cached": 8
}

Error:

{
  "status": "error",
  "message": "Description of what went wrong"
}
Read more
Ships withnexu

The simplest desktop client for OpenClaw 🦞 — bridge your Agent to WeChat, Feishu, Slack & Discord in one click. Works with Claude Code, Codex & any LLM. BYOK, Oauth, local-first, chat from your phone 24/7.

Get the whole plugin
Stats
3,281
Stars
262
Forks
Maintained
Maintenance
TypeScript
Language
MIT
License
5mo ago
Last commit
7mo ago
Created
9h ago
Added

Repo: nexu-io/nexu

Other skills on nexu.

feishu-im-read
Skill

feishu-im-read

飞书 IM 消息读取工具使用指南,覆盖会话消息获取、话题回复读取、跨会话消息搜索、图片/文件资源下载。 **当以下情况时使用此 Skill**: (1) 需要获取群聊或单聊的历史消息…

@nexu-io@nexu-ioView Skill
feishu-task
Skill

feishu-task

飞书任务管理工具,用于创建、查询、更新任务和清单。 **当以下情况时使用此 Skill**: (1) 需要创建、查询、更新、删除任务 (2) 需要创建、管理任务清单 (3)…

@nexu-io@nexu-ioView Skill