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.
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/orbuild/folder) - Landing pages, portfolios, documentation sites
- Quick prototypes or demos
- Any folder with an
index.html
Usage
- Identify the directory containing files to deploy (must have an
index.html) - 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
- 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
urlfield - 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, orCLOUDFLARE_ACCOUNT_ID - Never pass credentials as command arguments
- Always use the bundled
deploy.sh— do not call Cloudflare API directly - Do not set
DEPLOY_BACKENDor any other env overrides — the script handles everything - Always pass the caller
<agent-id>as arg #3 todeploy.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
_headersfile - If the script fails, show the
messagefield from the JSON error to the user - Cloudflare credentials are fetched at runtime via the scoped secrets API using
SKILL_API_TOKENfrom 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"
}
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
libtv-video
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.
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]
deep-research
深度调研方法论(8步法):将模糊主题转化为高质量调研报告。 触发词:/deep-research、深度调研、帮我调研、调研一下、对比分析 注意:如果用户需要的是可视化图谱而非报告,请使用 research-to-diagram skill。
research-to-diagram
深度调研主题并自动生成知识关系图谱PDF。接收研究主题后自动进行网络调研、信息收集、知识整理,最终生成专业的可视化关系图谱。适用于"研究...并做图"、"深度分析...并可视化"、"生成知识图谱"等场景。
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".
Didn't find tool you were looking for?