关于 cloudflare-dns
用于管理 Cloudflare DNS 的操作技能,涵盖记录查询、创建和更新,并包含验证步骤与 API 凭据安全要求。适合管理域名记录及 Pages 域名绑定的用户。
主要功能
- 01变更前查询记录
- 02创建或更新 DNS 记录
- 03验证 DNS 与 HTTP 响应
- 04检查 Pages 域名状态
- 05采用最小权限令牌范围
适用场景
- 01更新域名的 DNS 记录
- 02将自定义域名绑定到 Pages
- 03排查 DNS 或授权错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ makerjackie/ jackie-skills-starter --skill cloudflare-dns安装后在 Claude Code 中输入/cloudflare-dns确认已加载。
详细介绍
Cloudflare DNS
快速开始
- 明确目标:
- 域名/主机名(
skills.01mvp.com) - 记录类型(
A/AAAA/CNAME/TXT) - 目标值
- 代理开/关
- 域名/主机名(
- 执行任何写入操作前,先进行身份验证预检。
- 执行幂等变更(先查询现有记录,再创建/更新)。
- 通过 DNS 查询 + HTTP 检查 +(如需要)Pages 域名状态进行验证。
首次使用身份验证门槛(必需)
首次写入 DNS 前,检查令牌:
zsh -lic 'echo ${CLOUDFLARE_API_TOKEN:+SET}'
如果为空,请停止并提示用户先配置令牌。
使用以下提示语:
- 我先帮你配置,但需要你先提供 Cloudflare API Token(不是 wrangler OAuth)。
- Token 最少权限:
Zone -> DNS -> EditZone -> Zone -> Read- 如果要查 Pages 域名状态,再加:
Account -> Cloudflare Pages -> Edit
- Zone Resources 只选目标域名(遵循最小权限原则)。
- 配置完成后执行:
export CLOUDFLARE_API_TOKEN='YOUR_TOKEN'
可选的持久化设置:
echo "export CLOUDFLARE_API_TOKEN='YOUR_TOKEN'" >> ~/.zshrc
source ~/.zshrc
标准执行模式
1) 读取当前 DNS 记录
python - <<'PY'
import json, os, urllib.request
token = os.environ['CLOUDFLARE_API_TOKEN']
zone_id = '<ZONE_ID>'
name = 'skills.01mvp.com'
url = f'https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records?name={name}'
req = urllib.request.Request(url, headers={'Authorization': f'Bearer {token}'})
print(json.dumps(json.load(urllib.request.urlopen(req)), ensure_ascii=False, indent=2))
PY
2) 创建/更新记录
- 如果未找到记录:创建。
- 如果记录存在,但值/代理设置不匹配:更新。
- 如果已经正确:报告“无操作”。
3) Pages 自定义域名绑定(如需要)
- 确保已将域名添加到 Pages 项目。
- 如果尚未添加,先创建绑定,然后确保 DNS 指向
<project>.pages.dev。
4) 验证
dig +short CNAME skills.01mvp.com
dig +short skills.01mvp.com
curl -I https://skills.01mvp.com
验证 Pages 时,还应通过 Pages API/wrangler 检查域名状态。
安全规则
- 写入前始终先查询(不得盲目覆盖)。
- 优先使用遵循最小权限原则的令牌范围。
- 绝不在输出中打印完整令牌。
- 报告确切变更的记录:名称、类型、内容、代理设置、时间戳。
- 如果 API 返回身份验证错误,应明确告知用户缺少相应权限范围,不要盲目重试。
评论
支持 Markdown