--- name: qiaomu-website-develop description: | 固定乔木网站开发、发布和域名绑定流程。用户要求开发网站、部署到 Vercel、关联 GitHub、绑定自定义域名、用某个域名发布、配置 Cloudflare DNS、用 Wrangler 发布 Cloudflare Pages 或 Workers 时触发。适合把本地 Web 项目发布成可访问站点,并通过 Vercel CLI、GitHub CLI、Wrangler 和 Cloudflare API 完成可重复部署。不要用于单纯解释 DNS 概念、只写静态文案、或不涉及网站交付的普通代码修改。 metadata: author: Qiaomu mode: production tools: vercel, gh, wrangler, cloudflare-api --- # Qiaomu Website Develop Use this skill when a request includes website delivery, deployment, GitHub linkage, Vercel production deploys, Cloudflare Pages/Workers deploys, or custom domain binding. ## Boundary This skill owns the operational path from a local web project to a public URL: - inspect and prepare the web project - ensure GitHub remote and pushed source when requested - deploy with Vercel CLI or Wrangler - connect Vercel projects to GitHub - bind custom domains through Vercel and Cloudflare DNS - verify HTTPS reachability Do not use it for one-off DNS explanations, backend-only infrastructure unrelated to website delivery, or content-only edits that do not require publishing. ## Execution Skeleton 1. Confirm the target project directory, desired public domain, hosting target, and whether GitHub/Vercel/Cloudflare should all be updated. 2. Run local readiness checks: - `git status --short` - `gh auth status` - `vercel whoami` - `wrangler whoami` - check `CLOUDFLARE_API_TOKEN` or `CF_API_TOKEN` only if Cloudflare DNS writes are required 3. Build and verify the project using the repository's existing package scripts before deployment. 4. If publishing source, create or confirm the GitHub repository, commit relevant changes, pull/rebase if needed, and push. 5. For Vercel: - run `vercel link --yes` or `vercel link --yes --project ` - run `vercel git connect --yes` after the GitHub remote exists - run `vercel deploy --prod --yes` - use `scripts/qiaomu_site_deploy.py vercel-cloudflare` for custom domain binding 6. For Cloudflare Pages or Workers, follow `references/website-deploy-workflow.md` and prefer `wrangler pages deploy` or `wrangler deploy` with explicit project names/domains. 7. Verify the final URL with `curl -I -L https://` and report the deployment URL, domain, DNS records changed, and any follow-up risks. ## Domain Binding Script Use the included script for the repeated Vercel + Cloudflare custom-domain workflow: ```bash export CLOUDFLARE_API_TOKEN="..." python3 /Users/joe/.agents/skills/qiaomu-website-develop/scripts/qiaomu_site_deploy.py \ vercel-cloudflare \ --project-dir /path/to/site \ --domain style.qiaomu.ai \ --connect-git \ --deploy \ --wait ``` Start with `--dry-run` when changing a new zone or production domain: ```bash python3 /Users/joe/.agents/skills/qiaomu-website-develop/scripts/qiaomu_site_deploy.py \ vercel-cloudflare \ --project-dir . \ --domain sub.example.com \ --dry-run ``` Never write API tokens into repository files, READMEs, shell scripts, or skill files. If a token was pasted into chat, avoid echoing it and recommend rotating it after use. ## References - Deployment workflow: `references/website-deploy-workflow.md` - Automation script: `scripts/qiaomu_site_deploy.py`