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.
Deploy static sites to Cloudflare Pages with custom domains and CI/CD.
$ npx skills add aAAaqwq/AGI-Super-Team --skill cloudflare-pages -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aAAaqwq/AGI-Super-Team cloudflare-pages --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aAAaqwq/AGI-Super-Team.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cloudflare-pages .claude/skills/cloudflare-pages && rm -rf skills-srcUse ~/.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/
Install the "cloudflare-pages" agent skill from https://github.com/aAAaqwq/AGI-Super-Team/tree/main/skills/cloudflare-pages into .claude/skills/cloudflare-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-pages", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aAAaqwq/AGI-Super-Team/tree/main/skills/cloudflare-pagesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aAAaqwq/AGI-Super-Team --skill cloudflare-pages -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aAAaqwq/AGI-Super-Team cloudflare-pages --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aAAaqwq/AGI-Super-Team.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cloudflare-pages .agents/skills/cloudflare-pages && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cloudflare-pages" agent skill from https://github.com/aAAaqwq/AGI-Super-Team/tree/main/skills/cloudflare-pages into .agents/skills/cloudflare-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-pages", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aAAaqwq/AGI-Super-Team --skill cloudflare-pages -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aAAaqwq/AGI-Super-Team cloudflare-pages --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aAAaqwq/AGI-Super-Team.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cloudflare-pages .cursor/skills/cloudflare-pages && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cloudflare-pages" agent skill from https://github.com/aAAaqwq/AGI-Super-Team/tree/main/skills/cloudflare-pages into .cursor/skills/cloudflare-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-pages", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aAAaqwq/AGI-Super-Team.git --path skills/cloudflare-pages--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aAAaqwq/AGI-Super-Team --skill cloudflare-pages -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aAAaqwq/AGI-Super-Team cloudflare-pages --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aAAaqwq/AGI-Super-Team.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cloudflare-pages .gemini/skills/cloudflare-pages && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cloudflare-pages" agent skill from https://github.com/aAAaqwq/AGI-Super-Team/tree/main/skills/cloudflare-pages into .gemini/skills/cloudflare-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-pages", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aAAaqwq/AGI-Super-Team cloudflare-pagesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aAAaqwq/AGI-Super-Team --skill cloudflare-pages -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aAAaqwq/AGI-Super-Team.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cloudflare-pages .github/skills/cloudflare-pages && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cloudflare-pages" agent skill from https://github.com/aAAaqwq/AGI-Super-Team/tree/main/skills/cloudflare-pages into .github/skills/cloudflare-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-pages", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aAAaqwq/AGI-Super-Team --skill cloudflare-pages -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aAAaqwq/AGI-Super-Team cloudflare-pages --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aAAaqwq/AGI-Super-Team.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cloudflare-pages .opencode/skills/cloudflare-pages && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cloudflare-pages" agent skill from https://github.com/aAAaqwq/AGI-Super-Team/tree/main/skills/cloudflare-pages into .opencode/skills/cloudflare-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-pages", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cloudflare-pagesDeploy static sites to Cloudflare Pages with custom domains and CI/CD.
Cloudflare Pages is an agent skill from aAAaqwq/AGI-Super-Team. Deploy static sites to Cloudflare Pages with custom domains and CI/CD. Use when the user wants to deploy a site to Cloudflare Pages, add a custom domain to a Pages project, set up GitHub Actions CI/CD for Cloudflare Pages, roll back a deployment, or verify deployment status. Triggers on "deploy to Cloudflare", "Cloudflare Pages", "add custom domain", "pages deploy", or any Cloudflare Pages hosting workflow.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `references/ci-cd-templates.md`, `scripts/add-custom-domain.sh` and `scripts/setup-pages-project.sh`).
It sits in DevOps & Cloud, covering Deployment, CI/CD and Static sites and blogs. It works with Cloudflare Pages, GitHub Actions, Cloudflare Workers and Cloudflare. The repository describes itself as: An installable, cross-framework AI organization: C-suite agents, expert subagents, curated skills, independent review, and one-command setup across 18 AI client/runtime adapters. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7cefd81. It shows what the files ask for, not the result of running them.
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.
Ships 3 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
wranglerbashgitnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
dash.cloudflare.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
CLOUDFLARE_API_TOKENCLOUDFLARE_DNS_TOKENAPI_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cloudflare Pages loads about 1.6k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 107 tokens; SKILL.md has 577 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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); the scripts in this folder are not scanned.
The full file from aAAaqwq/AGI-Super-Team at commit 7cefd81, republished under its MIT licence (© aAAaqwq). 577 words, ~1,648 tokens.
.claude/skills/cloudflare-pages/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Deploy any static site to Cloudflare Pages — create projects, attach custom domains, wire up CI/CD, and verify deployments. Framework-agnostic: works with Hugo, Astro, Next.js, Nuxt, SvelteKit, or any build tool that produces static output.
| Requirement | How to get it |
|---|---|
| wrangler CLI | npm i -g wrangler then wrangler login (opens browser OAuth) |
| Cloudflare account | dash.cloudflare.com — free tier works |
| Account ID | Dashboard → any zone → Overview sidebar, or wrangler whoami |
| API Token (CI/CD) | Dashboard → API Tokens → "Edit Cloudflare Workers" template (includes Pages) |
| DNS API Token | Dashboard → API Tokens → Custom → Zone:DNS:Edit (only if adding custom domains via API) |
| Zone ID | Dashboard → your domain → Overview sidebar (only for custom domains) |
For a one-off manual deploy when CI/CD isn't set up yet:
# 1. Build your site
<your-build-command> # e.g. hugo --minify, npm run build
# 2. Deploy output directory
wrangler pages deploy <output-dir> --project-name <project-name>Each deploy gets a unique preview URL. The latest deploy on production branch becomes the live site at <project>.pages.dev.
bash scripts/setup-pages-project.sh <project-name> "<build-command>" <output-dir> [branch]This runs wrangler pages project create and prints the resulting *.pages.dev URL. The branch argument defaults to main.
Manual alternative:
wrangler pages project create <project-name> --production-branch mainBuild and deploy:
<your-build-command>
wrangler pages deploy <output-dir> --project-name <project-name># Set required environment variables
export CLOUDFLARE_ACCOUNT_ID="<your-account-id>"
export CLOUDFLARE_API_TOKEN="<pages-edit-token>"
export CLOUDFLARE_ZONE_ID="<your-zone-id>"
export CLOUDFLARE_DNS_TOKEN="<dns-edit-token>" # optional, falls back to API_TOKEN
bash scripts/add-custom-domain.sh <custom-domain> <project-name>The script performs two operations:
<project>.pages.devBoth operations are idempotent — safe to re-run.
See references/ci-cd-templates.md for complete GitHub Actions workflows for Hugo, Astro, Next.js, and generic npm builds.
Required GitHub Secrets:
| Secret | Value |
|---|---|
CLOUDFLARE_API_TOKEN | API token with "Edit Cloudflare Workers" permissions |
CLOUDFLARE_ACCOUNT_ID | Your Cloudflare account ID |
Set these at: Repository → Settings → Secrets and variables → Actions → New repository secret
# List recent deployments
wrangler pages deployment list --project-name <project-name>
# Rollback: checkout previous commit, rebuild, redeploy
git checkout <commit-hash>
<your-build-command>
wrangler pages deploy <output-dir> --project-name <project-name>
# Return to latest
git checkout mainexport CLOUDFLARE_ACCOUNT_ID="<your-account-id>"
export CLOUDFLARE_API_TOKEN="<your-token>"
bash scripts/verify-deployment.sh <project-name> [custom-domain]Shows: latest deployment status (color-coded), last 5 deployments table, custom domain SSL status, and HTTP 200 check on *.pages.dev.
| Script | Purpose | Required env vars |
|---|---|---|
setup-pages-project.sh | Create Pages project via wrangler | CLOUDFLARE_ACCOUNT_ID |
add-custom-domain.sh | Register domain + create CNAME | CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_ID |
verify-deployment.sh | Check deploy status, SSL, HTTP | CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_API_TOKEN |
| Operation | Token needed | Scope | Where used |
|---|---|---|---|
wrangler pages deploy | Wrangler OAuth | Automatic via wrangler login | Local CLI, CI/CD |
| Register custom domain on Pages | API Token | Account:Cloudflare Pages:Edit | add-custom-domain.sh |
| Create CNAME DNS record | DNS API Token | Zone:DNS:Edit | add-custom-domain.sh |
| CI/CD deploy (GitHub Actions) | API Token | "Edit Cloudflare Workers" template | GitHub Secrets |
| Query deployments | API Token | Account:Cloudflare Pages:Read | verify-deployment.sh |
Tip: For simpler setups, a single API token with both Pages:Edit and DNS:Edit scopes can be used — set CLOUDFLARE_API_TOKEN and omit CLOUDFLARE_DNS_TOKEN.
| Problem | Cause | Fix |
|---|---|---|
wrangler: command not found | wrangler not installed | npm i -g wrangler |
Authentication error | OAuth expired or wrong token | wrangler login (re-authenticate) |
| Custom domain stuck "pending" | Missing or wrong CNAME record | Check DNS: CNAME must point to <project>.pages.dev |
| SSL not provisioning | Domain not proxied through Cloudflare | Set CNAME proxy to "Proxied" (orange cloud) |
| 522 error on custom domain | DNS record exists but wrong target | Delete old record, re-run add-custom-domain.sh |
| Deploy succeeds but site 404s | Wrong output directory | Verify build output dir matches deploy path |
| CI/CD deploy fails | Missing GitHub secrets | Add CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID |
wrangler pages deploy for direct uploads. Git integration adds complexity with no benefit for this workflow.© aAAaqwq, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in skills/cloudflare-pages of aAAaqwq/AGI-Super-Team.
Open the folder on GitHubat commit 7cefd81
Cloudflare Pages 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cloudflare Pages this skillaAAaqwq/AGI-Super-Team | 105 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Prepare Cloudflare Production DeploymentLubomirGeorgiev/cloudflare-workers-nextjs-saas-template | 786 | — | ~5.9k | Automated safety check: Notes | MIT | |
| Cloudflare Pagessickn33/agentic-awesome-skills | 47k | 2 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Cloudflare Workers CD Rollbackmizchi/skills | 360 | — | ~1.2k | Automated safety check: Notes | None | |
| Cloudflare Workers CI CDsecondsky/claude-skills | 227 | — | ~4k | Automated safety check: Pass | MIT | |
| Devops SpecialistCaoMeiYouRen/caomei-auth | 220 | — | ~446 | Automated safety check: Notes | MIT |
LubomirGeorgiev/cloudflare-workers-nextjs-saas-template
Source-of-truth runbook for preparing this Vinext Cloudflare Workers SaaS template for production deployment.
sickn33/agentic-awesome-skills
Deploy static sites and full-stack apps on Cloudflare Pages with previews, functions, and custom domains.
mizchi/skills
GitHub Actions CD for Cloudflare Workers through cf with automatic traffic rollback on smoke failure, including JSON deployment snapshots, D1 migrations and prebuilt artifacts.
secondsky/claude-skills
Complete CI/CD guide for Cloudflare Workers using GitHub Actions and GitLab CI.
CaoMeiYouRen/caomei-auth
修改 Docker、CI/CD、部署配置、环境变量、运行时参数、构建脚本和发布流程时使用。优先覆盖 Docker、Vercel、Cloudflare 与 GitHub Actions 场景。用户提到 deploy、Dockerfile、workflow、CI、CD、environment variables、build pipeline、release config 时都应触发。
BagelHole/DevOps-Security-Agent-Skills
Deploy frontend and full-stack apps on Vercel with previews, edge functions, environment promotion, and production guardrails.
aAAaqwq/AGI-Super-Team
Create SEO-optimized marketing content with consistent brand voice.
aAAaqwq/AGI-Super-Team
Advanced financial calculator with future value tables, present value, discount calculations, markup pricing, and compound interest.
aAAaqwq/AGI-Super-Team
Transaction-verified trading signals on Base blockchain. An agent skill from aAAaqwq/AGI-Super-Team.
aAAaqwq/AGI-Super-Team
Register AI agents on Ethereum mainnet using ERC-8004 (Trustless Agents).
aAAaqwq/AGI-Super-Team
Create distinctive, production-grade static sites with React, Tailwind CSS, and shadcn/ui — no mockups needed.
aAAaqwq/AGI-Super-Team
Publish and manage content on 知识星球 (zsxq.com). An agent skill from aAAaqwq/AGI-Super-Team.
Categories
Deploy static sites to Cloudflare Pages with custom domains and CI/CD. Cloudflare Pages is an agent skill from aAAaqwq/AGI-Super-Team. Deploy static sites to Cloudflare Pages with custom domains and CI/CD.
Cloudflare Pages fits situations like: the user wants to deploy a site to Cloudflare Pages; add a custom domain to a Pages project; set up GitHub Actions CI/CD for Cloudflare Pages; roll back a deployment.
Run `npx skills add aAAaqwq/AGI-Super-Team --skill cloudflare-pages -a claude-code`. Or copy the skill folder (skills/cloudflare-pages in aAAaqwq/AGI-Super-Team) into .claude/skills/cloudflare-pages in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aAAaqwq/AGI-Super-Team --skill cloudflare-pages -a codex`. Or copy the skill folder (skills/cloudflare-pages in aAAaqwq/AGI-Super-Team) into .agents/skills/cloudflare-pages in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aAAaqwq/AGI-Super-Team --skill cloudflare-pages -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cloudflare-pages, .gemini/skills/cloudflare-pages, .github/skills/cloudflare-pages and .opencode/skills/cloudflare-pages in your project.
Going by SKILL.md and its folder, Cloudflare Pages needs a shell for the scripts in its folder, the command-line tools its instructions call (wrangler, bash, git and npm) and credentials named CLOUDFLARE_API_TOKEN, CLOUDFLARE_DNS_TOKEN and API_TOKEN. Our summary lists: Node.js; A Bash shell; A credential in CLOUDFLARE_API_TOKEN; A credential in CLOUDFLARE_DNS_TOKEN.
SKILL.md names 1 domain. As links in the text: dash.cloudflare.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Cloudflare Pages is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Cloudflare Pages: Prepare Cloudflare Production Deployment (LubomirGeorgiev/cloudflare-workers-nextjs-saas-template, 786 stars), Cloudflare Pages (sickn33/agentic-awesome-skills, 47k stars), Cloudflare Workers CD Rollback (mizchi/skills, 360 stars) and Cloudflare Workers CI CD (secondsky/claude-skills, 227 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aAAaqwq (a GitHub user) maintains it in aAAaqwq/AGI-Super-Team, which has 105 GitHub stars. The repository holds 167 skills in this directory. The repository was last updated on October 8, 2026.
Source: aAAaqwq/AGI-Super-Team on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.