Agent skill

Deploy

by cyanfish-x in cyanfish-x/tellux

Deploy tellux examples/docs sites via project scripts — one local command (pnpm run deploy) rclone-syncs to the self-hosted site then Wrangler Direct Uploads to Cloudflare Pages.

MITAuto-check: notesGame Development

Install Deploy

skills CLI
$ npx skills add cyanfish-x/tellux --skill deploy -a claude-code

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

GitHub CLI
$ gh skill install cyanfish-x/tellux deploy --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/cyanfish-x/tellux.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/deploy .claude/skills/deploy && 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
deploy
GitHub stars
207
Token cost
~1.1k tokens
SKILL.md length
354 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Deploy tellux examples/docs sites via project scripts — one local command (pnpm run deploy) rclone-syncs to the self-hosted site then Wrangler Direct Uploads to Cloudflare Pages.

  • Works in 3 steps: rclone mkdir → rclone sync → 可选腾讯云 CDN purge → 本地 wrangler pages…
  • The user wants to 部署
  • SKILL.md covers 何时使用, 一条本机链路, 前置条件 and 主流程, plus 4 more sections
  • Calls pnpm, node and wrangler; reaches tellux.cyanfish.site; needs CLOUDFLARE_API_TOKEN and CDN_SECRET_KEY

What it does

Deploy is an agent skill from cyanfish-x/tellux. Deploy tellux examples/docs sites via project scripts — one local command (pnpm run deploy) rclone-syncs to the self-hosted site then Wrangler Direct Uploads to Cloudflare Pages. Use when the user wants to 部署, deploy, 同步到服务器, 刷新 CDN, 上 Cloudflare Pages / 文档站 / 示例站, or run actions/deploy.js. Does NOT publish the npm package (that is the release skill).

Its SKILL.md is about 1.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 Game Development, covering Static sites and blogs and 3D graphics and WebGL. It works with Cloudflare Pages, pnpm, Cloudflare Workers and npm. The repository describes itself as: Open-source 3D Earth Engine built on Three.js for digital globes, digital twins, 3D maps — terrain, 3D Tiles, atmosphere & clouds. The licence is MIT.

When your agent uses it

  • The user wants to 部署
  • 上 Cloudflare Pages / 文档站 / 示例站
  • Run actions/deploy.js

Example prompts

  • “/deploy”

Requirements

  • A credential in CLOUDFLARE_API_TOKEN
  • A credential in CDN_SECRET_KEY

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. rclone mkdir → rclone sync
  2. 可选腾讯云 CDN purge
  3. 本地 wrangler pages deploy(--commit-dirty=true,--branch 默认 main)

What it can do on your machine

Read from SKILL.md and the folder at commit 479f881. 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:

    • pnpm
    • node
    • wrangler

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • tellux.cyanfish.site

    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
    • CDN_SECRET_KEY

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

Context cost

Deploy loads about 1.1k tokens when it runs. Until then it costs about 91 tokens; SKILL.md has 354 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~1.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:36
    - **`actions/.env` 已存在**(可从 `actions/config-template.env` 复制)。脚本只读 `actions/.env`,不读根目录 `.env`。
  • NoteMentions a .env fileSKILL.md:43
    - **不要把 `actions/.env` 的密钥读进对话或写进 commit**。只检查文件是否存在、变量名是否齐全。
  • NoteMentions a .env fileSKILL.md:51
    # 确认 actions/.env 存在(不要 cat 出密钥)
  • NoteMentions a .env fileSKILL.md:52
    Test-Path actions/.env   # PowerShell
  • NoteMentions a .env fileSKILL.md:53
    # 或: test -f actions/.env
  • NoteMentions a .env fileSKILL.md:64
    DN 刷新」,rclone 与 CF 仍算成功。若用户明确要刷 CDN,再补齐 `.env` 后单独:
  • NoteMentions a .env fileSKILL.md:85
    - **不要**提交或打印 `actions/.env`、CDN 密钥、rclone 凭证、Cloudflare token。
  • NoteMentions a .env fileSKILL.md:94
    actions/config-template.env` 补全 `actions/.env` |
  • NoteMentions a .env fileSKILL.md:107
    ns/refreshCDN.js`:仅刷新 CDN(依赖同一份 `actions/.env`)。

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 cyanfish-x/tellux at commit 479f881, republished under its MIT licence (© cyanfish-x). 354 words, ~1,075 tokens.

Download SKILL.mdSave it as .claude/skills/deploy/SKILL.md (or your agent's skills folder).
name
deploy
description
Deploy tellux examples/docs sites via project scripts — one local command (`pnpm run deploy`) rclone-syncs to the self-hosted site then Wrangler Direct Uploads to Cloudflare Pages. Use when the user wants to 部署, deploy, 同步到服务器, 刷新 CDN, 上 Cloudflare Pages / 文档站 / 示例站, or run actions/deploy.js. Does NOT publish the npm package (that is the release skill).

Tellux 部署助手

把 examples + docs 站点 构建并发布到线上。真实动作由仓库脚本完成;本 skill 负责校验前置条件、编排命令、解读失败。

这不是发版:npm/pnpm publish 与 GitHub Release 走 release。

何时使用

用户要做以下任何一件事时启用:

  • 「部署」「deploy」「同步到服务器」「刷新 CDN」
  • 「上 Cloudflare Pages」「更新文档站 / 示例站」
  • 运行 actions/deploy.js

一条本机链路

命令产物去向URL
pnpm run deploy一次构建(base=/,docs=/docs/)→ rclone 自建站 → 可选腾讯云 CDN → Wrangler Direct Upload 到 Cloudflare Pages自建站 https://tellux.cyanfish.site;CF 为同一份产物的 Direct Upload 项目

Windows / 本仓库请用 pnpm run deploy,不要写 pnpm deploy:后者是 pnpm 内置的 workspace deploy 子命令,会报 ERR_PNPM_CANNOT_DEPLOY。

GitHub Pages 已拆除,不要再推 gh-pages 或跑已删除的 deploy:ghpages。

前置条件

  • 在仓库根目录执行。
  • 建议工作区干净(未提交改动不会挡住部署,但脏工作区容易把未完成改动部署出去)。
  • 使用 pnpm 调用 package.json scripts。
  • 本机已安装 rclone,且已 rclone config 建好 remote。
  • actions/.env 已存在(可从 actions/config-template.env 复制)。脚本只读 actions/.env,不读根目录 .env。
  • rclone 必填:LOCAL_DIR、REMOTE_DIR、RCLONE_REMOTE(与 rclone config 中一致,可带或不带末尾 :)。
  • Cloudflare Pages 必填:CLOUDFLARE_PAGES_PROJECT。
    • 控制台项目必须是 Direct Upload(不要 Connect Git)。选了 Git 集成就不能再切 Direct Upload。
    • 本机优先 pnpm exec wrangler login(OAuth)。CLOUDFLARE_API_TOKEN / CLOUDFLARE_ACCOUNT_ID 只在无 login、或多账号需要钉死 account 时才填;填了 token 会盖掉 OAuth。
    • 可选 CLOUDFLARE_PAGES_BRANCH(默认 main)。Direct Upload 用这个名字选择 production / preview,不是仓库 git 分支;默认 main 是为了本机从 dev 部署仍打到 production。
  • CDN 可选:同时配置 CDN_SECRET_ID、CDN_SECRET_KEY、CDN_FLUSH_PATHS(逗号分隔 URL)才会刷新;缺任一项则跳过 CDN,同步仍继续。CDN API 失败只打日志,不把整次部署标失败。
  • 不要把 actions/.env 的密钥读进对话或写进 commit。只检查文件是否存在、变量名是否齐全。

主流程

bash
# 可选:确认前置
rclone version
rclone listremotes
# 确认 actions/.env 存在(不要 cat 出密钥)
Test-Path actions/.env   # PowerShell
# 或: test -f actions/.env

pnpm run deploy

pnpm run deploy = build:examples(VitePress docs → examples/public/docs,再 Vite 构建 examples)→ node actions/deploy.js:

  1. rclone mkdir → rclone sync
  2. 可选腾讯云 CDN purge
  3. 本地 wrangler pages deploy(--commit-dirty=true,--branch 默认 main)

成功标志:日志出现 🎉 部署全流程结束!。若仅警告「跳过 CDN 刷新」,rclone 与 CF 仍算成功。若用户明确要刷 CDN,再补齐 .env 后单独:

bash
node actions/refreshCDN.js

失败语义: 缺 rclone / Cloudflare 必填项、rclone 失败、Wrangler 失败 → 整次部署非 0 退出。CDN 跳过或 API 失败不中止。

回报结果

简短告知:

  • 用了哪条命令
  • 自建站 / CDN / Cloudflare 各自是成功、跳过还是失败
  • 失败时贴关键错误(缺 env、rclone remote 不存在、Wrangler 鉴权、项目不是 Direct Upload 等)并给出下一步
Show full SKILL.md (144 more words)Show less

禁止事项

  • 不要把部署当成发版去跑 actions/release.js / pnpm publish。
  • 不要为改 base 而设置带 / 的环境变量。发布面只有 base=/(docs=/docs/)。
  • 不要手写一套新的构建/同步流程;优先复用 pnpm run deploy。
  • 不要提交或打印 actions/.env、CDN 密钥、rclone 凭证、Cloudflare token。
  • 不要Connect Git 到 Cloudflare Pages,也不要再创建产物分支。
  • 不要对 main / dev 等协作分支做 force push 或删除。

常见失败

现象处理
ERR_PNPM_CANNOT_DEPLOY / A deploy is only possible from inside a workspace改用 pnpm run deploy,不要用 pnpm deploy
缺少必要环境变量: LOCAL_DIR, ... 或 Cloudflare 三项按 actions/config-template.env 补全 actions/.env
未找到 rclone安装 rclone 并加入 PATH
rclone remote 不存在rclone config 创建与 RCLONE_REMOTE 同名的 remote
本地同步目录不存在先保证 build:examples 成功,且 LOCAL_DIR 指向实际输出目录
未找到 wrangler在仓库根目录 pnpm install
Wrangler 鉴权 / 找不到 Pages 项目本机先 pnpm exec wrangler login;核对 CLOUDFLARE_PAGES_PROJECT;确认项目是 Direct Upload。只有无 login 时才查 token / account id
部署进了 preview 而不是 production把 CLOUDFLARE_PAGES_BRANCH 设成该项目的 production 分支名(默认 main)
CDN 警告跳过rclone 与 CF 已完成;要刷缓存则补 CDN_* 后跑 node actions/refreshCDN.js
VitePress dead link(s) found文档链到示例站(../../xxx.html)需在 docs/.vitepress/config.ts 的 ignoreDeadLinks 中忽略跨站相对路径;或修正错误路径

与相关脚本对照

  • actions/deploy.js:rclone + 可选 CDN + Wrangler;不构建。完整部署用 pnpm run deploy。
  • actions/refreshCDN.js:仅刷新 CDN(依赖同一份 actions/.env)。
  • actions/config-template.env:环境变量模板。

© cyanfish-x, 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 .agents/skills/deploy of cyanfish-x/tellux.

Open the folder on GitHubat commit 479f881

Compare with similar skills

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

Deploy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Deploy this skillcyanfish-x/tellux207—~1.1kAutomated safety check: NotesMIT
Create Docsvictorgarciaesgi/nuxt-typed-router4132 repos~2.8kAutomated safety check: PassMIT
Cloudflare Pagessickn33/agentic-awesome-skills47k2 repos~2.4kAutomated safety check: PassMIT
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0
Threejs Gameplay Systemscorosolto/client257—~1.5kAutomated safety check: PassAGPL-3.0

Similar skills

  • Create Docs

    victorgarciaesgi/nuxt-typed-router

    Create complete documentation sites for projects. An agent skill from victorgarciaesgi/nuxt-typed-router.

    413 GitHub starsUsed in 2 repos~2.8k tokens
    Frontend & DesignAuto-check passed
  • 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
  • Image to Three.js Model

    img2threejs/img2threejs

    Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Threejs Gameplay Systems

    corosolto/client

    Build and iterate playable Three.js game systems. An agent skill from corosolto/client.

    257 GitHub stars~1.5k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Vitexec

    pmndrs/viverse

    A skill your agent uses when an AI agent needs to inspect, verify, debug, or profile a live Vite app by running temporary snippets inside the browser page and reading browser logs or captured…

    132 GitHub stars~2.5k tokensUpdated 6 days ago
    Game DevelopmentAuto-check passed

More from cyanfish-x/tellux

  • Tellux

    cyanfish-x/tellux

    How to write application code with Tellux (0.3 API shape). An agent skill from cyanfish-x/tellux.

    207 GitHub stars~884 tokensUpdated 17 days ago
    Auto-check passed
  • Release

    cyanfish-x/tellux

    Cut and publish a new tellux release — bump version, curate a changelog summary from recent commits, pause for the user to manually pnpm publish (browser 2FA), then push the tag and create the…

    207 GitHub stars~1.3k tokensUpdated 17 days ago
    Auto-check passed

Questions about Deploy

What does Deploy do?

Deploy tellux examples/docs sites via project scripts — one local command (pnpm run deploy) rclone-syncs to the self-hosted site then Wrangler Direct Uploads to Cloudflare Pages. Deploy is an agent skill from cyanfish-x/tellux. Deploy tellux examples/docs sites via project scripts — one local command (pnpm run deploy) rclone-syncs to the self-hosted site then Wrangler Direct Uploads to Cloudflare Pages.

When should I use Deploy?

Deploy fits situations like: the user wants to 部署; 上 Cloudflare Pages / 文档站 / 示例站; run actions/deploy.js.

How do I install Deploy in Claude Code?

Run `npx skills add cyanfish-x/tellux --skill deploy -a claude-code`. Or copy the skill folder (.agents/skills/deploy in cyanfish-x/tellux) into .claude/skills/deploy in your project. Claude Code loads it when a task matches its description.

How do I install Deploy in Codex?

Run `npx skills add cyanfish-x/tellux --skill deploy -a codex`. Or copy the skill folder (.agents/skills/deploy in cyanfish-x/tellux) into .agents/skills/deploy in your project. Codex loads it when a task matches its description.

Can I use Deploy 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 cyanfish-x/tellux --skill deploy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deploy, .gemini/skills/deploy, .github/skills/deploy and .opencode/skills/deploy in your project.

What does Deploy need to run?

Going by SKILL.md and its folder, Deploy needs the command-line tools its instructions call (pnpm, node and wrangler) and credentials named CLOUDFLARE_API_TOKEN and CDN_SECRET_KEY. Our summary lists: A credential in CLOUDFLARE_API_TOKEN; A credential in CDN_SECRET_KEY.

Does Deploy access the network?

SKILL.md names 1 domain. In commands or code: tellux.cyanfish.site; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Deploy 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 Deploy use?

Deploy is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Deploy use?

About 1.1k tokens (SKILL.md is roughly 4.3k 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 Deploy?

Skills that share tags, products or a category with Deploy: Create Docs (victorgarciaesgi/nuxt-typed-router, 413 stars), Cloudflare Pages (sickn33/agentic-awesome-skills, 47k stars), Image to Three.js Model (img2threejs/img2threejs, 18k stars) and Threejs Gameplay Systems (valkor-ai/loom, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Deploy?

cyanfish-x (a GitHub user) maintains it in cyanfish-x/tellux, which has 207 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 21, 2026.

Source: cyanfish-x/tellux on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.