Agent 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.

Stars 2,488
Forks 203

Install this agent skill to your Project

npx add-skill https://github.com/nexu-io/nexu/tree/main/skills/nexubot/static-deploy

SKILL.md

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:
bash
"$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:

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

Error:

json
{
  "status": "error",
  "message": "Description of what went wrong"
}

Expand your agent's capabilities with these related and highly-rated skills.

nexu-io/nexu

libtv-video

2,488 203
Explore
nexu-io/nexu

coding-agent

Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:"acp"), or any work in ~/clawd workspace (never spawn agents here). Claude Code: use --print --permission-mode bypassPermissions (no PTY). Codex/Pi/OpenCode: pty:true required.

2,488 203
Explore
nexu-io/nexu

gh-issues

Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]

2,488 203
Explore
nexu-io/nexu

deep-research

深度调研方法论(8步法):将模糊主题转化为高质量调研报告。 触发词:/deep-research、深度调研、帮我调研、调研一下、对比分析 注意:如果用户需要的是可视化图谱而非报告,请使用 research-to-diagram skill。

2,488 203
Explore
nexu-io/nexu

research-to-diagram

深度调研主题并自动生成知识关系图谱PDF。接收研究主题后自动进行网络调研、信息收集、知识整理,最终生成专业的可视化关系图谱。适用于"研究...并做图"、"深度分析...并可视化"、"生成知识图谱"等场景。

2,488 203
Explore
nexu-io/nexu

Nano Banana One Shop

All-in-one image generation with Gemini models. Supports Nano Banana (3.1 Flash), Nano Banana Pro (3 Pro), and Nano Banana 2 (2.5 Flash). Triggers on "generate image", "image generation", "nano banana", "edit image".

2,488 203
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results