Turnstile 全链路接入助手
为现有表单完成 Cloudflare Turnstile 的前端嵌入、后端校验与验证。
证据显示技能要求先确认、使用Account.Turnstile:Edit、避免将secret写入普通磁盘、禁止浏览器调用siteverify,并要求展示diff和验证结果,数据流边界较清楚。扣8分:会创建或修改Cloudflare资源并编辑用户代码,缺少明确回滚方案;依赖外部文档和脚本,且未证明所有凭据传递路径都经过隔离。
证据显示有分步状态机、认证探测、Wrangler与curl回退、异常分支和验证步骤。扣13分:关键脚本未在给定材料中提供,无法复现widget创建、secret获取或validate流程;未见覆盖关键路径的测试,且脚本依赖npx、jq或Python及网络服务,失败反馈和环境兼容性仍不充分。
触发词、适用场景、非适用范围、已有验证码迁移和多种框架示例较明确。扣4分:对中文交互和中国大陆网络可达性的适配没有说明,核心流程依赖Cloudflare API、Wrangler和海外文档;后端框架覆盖仍有限,触发边界主要靠关键词。
证据显示SKILL.md采用分步流程,README说明目录、安装方式、参考文件、许可证和文档同步来源,并披露若干限制。扣6分:未提供明确版本号、变更日志、维护责任人或稳定更新路径;README引用的测试及多个脚本在材料中缺失,安装和持久化方式存在较强环境假设。
目标是完成Turnstile端到端接入,包含widget、前端嵌入、后端siteverify、secret配置和验证,示例可直接改编。扣9分:静态材料没有真实执行结果或代表性输出证明;部分项目仍需人工判断后端位置、域名、插入点和平台secret管理,且示例并未覆盖所有声称的环境。
证据包括明确的规范siteverify示例、认证脚本逻辑、文档同步声明和仓库CI中的Semgrep工作流。扣6分:没有给出关键脚本、实际CI测试套件、执行日志或独立第三方复核,无法验证端到端行为;外部canonical docs被声明为权威但本次材料未提供其内容。
- 本次仅作静态审查,未执行任何脚本、API调用或验证流程;不要将该材料中的“真实验证”表述视为已证明。
- 使用前应审查并补充缺失的scripts、测试覆盖、回滚方案和secret存储边界。
- 核心操作依赖Cloudflare API、Wrangler、npx及外部文档;在中国大陆网络受限环境中应先确认可达性并准备离线或代理方案。
- 技能要求创建widget和修改代码,仍应在每个不可逆或外部生效步骤前取得用户确认。
这个 Skill 能做什么,适合哪些场景?
这是 cloudflare/skills 仓库中的独立 Agent Skill,专门处理 Cloudflare Turnstile 接入。它会扫描代码库,识别前端框架、后端处理器和已有 CAPTCHA,创建或复用 Turnstile widget,并将校验接入现有表单处理流程。它要求项目已有可放置服务端 siteverify 调用的后端,不负责新增后端、邮件发送、数据库或部署基础设施。
运行认证探测并处理 Cloudflare 账户选择;扫描 package.json、wrangler.toml、README.md、AGENTS.md 和 Git remote 以寻找域名;识别前端框架、后端处理位置及 reCAPTCHA/hCaptcha;通过 Wrangler 或 Cloudflare API 创建 widget,读取 sitekey 和 secret;在选定表单嵌入 Turnstile,并在现有后端调用 canonical siteverify、仅在 success === true 时继续;运行验证脚本,并可将技能持久化到指定路径。
- 使用 Next.js、Astro、SvelteKit、Hugo 或原生 HTML 的开发者,需要保护注册、登录或联系表单。
- 已有 Cloudflare Turnstile sitekey,但后端 siteverify 未正确接通的项目维护者。
- 希望从 reCAPTCHA 或 hCaptcha 迁移到 Turnstile,并同步替换前端脚本、令牌字段和服务端校验的团队。
- 需要在 Cloudflare Pages Function 或 Workers 现有请求处理器中加入 Turnstile 服务端验证的开发者。
这个 Skill 有哪些优点和局限?
- 覆盖 widget 创建、前端嵌入、后端 siteverify 和验证的完整链路。
- 明确保留现有表单处理逻辑,只在其前面增加验证门槛。
- 支持复用已有 widget,避免为获取新 secret 而轮换 sitekey。
- 针对 reCAPTCHA 和 hCaptcha 提供迁移处理及若干边界情况说明。
- 必须已有后端处理器;纯静态或仅 mailto 的表单无法完成该流程。
- 需要 Cloudflare API 网络访问及 Turnstile 编辑权限,多个账户时还需用户选择账户。
- 源材料未说明自动化测试套件或各类项目模板的实际测试覆盖。
- 不处理邮件、数据库、支付、OAuth、后端新增或部署基础设施。
如何安装这个 Skill?
该技能位于 cloudflare/skills 的 skills/turnstile-spin/。可使用 npx skills add https://github.com/cloudflare/skills 安装整个技能集合;也可克隆仓库后,将该技能文件夹复制到所用 Agent 的技能目录,例如 Claude Code 的 ~/.claude/skills/、OpenAI Codex 的 ~/.codex/skills/ 或 Cursor 的 ~/.cursor/skills/。
如何使用这个 Skill?
在支持 Agent Skills 标准的 Agent 中提出类似“为我的联系表单设置 Cloudflare Turnstile”或“修复这个 Turnstile 集成”的请求。流程会先要求确认,再检查 Cloudflare 认证、扫描代码库、确认域名和表单插入点;创建或复用 widget、写入现有前后端、验证结果及持久化技能前也会要求相应确认。需要具备包含 Account.Turnstile:Edit 的 Cloudflare API token;源材料未规定完整的独立手动执行步骤。
这个 Skill 与同类方案有什么区别?
支持从 reCAPTCHA 或 hCaptcha 迁移:会替换前端脚本、widget 标记、令牌字段和服务端 siteverify 地址。但 reCAPTCHA Enterprise 不会自动迁移;reCAPTCHA v3 的分数阈值也不会被等价转换,迁移后按 success === true/false 判定。