Localized reading guide
turnstile-spinPurpose, usage and source
Set up, repair, or migrate to Cloudflare Turnstile bot verification in an existing frontend and backend, including server-side Siteverify.
Source retrieved:
- Source repository
- cloudflare/skills
- SKILL.md
skills/turnstile-spin/SKILL.md- Repository stars
- 3,222
- Repository updated
- 2026-10-31
- Categories
- Development
- Last collected
License: Apache-2.0
Workflow excerpts are reading aids, not executable instructions from Codez. No third-party Skill was run to produce this page.
The purpose and workflow passages below are upstream material, organized and translated for reading. They are distinct from the separately labeled Codez editorial analysis.
What this Skill does
Set up, repair, or migrate to Cloudflare Turnstile bot verification in an existing frontend and backend, including server-side Siteverify.
How the upstream workflow works
When to load this skill
Load when the user's prompt mentions any of: "Turnstile", "CAPTCHA", "bot protection" "protect this form", "protect this endpoint", "protect this button", "stop bot signups", "spam signups", "block bots on " A specific signup, login, contact form, download, comment, API endpoint, or other user-triggered request combined with "Cloudflare" or "bot"
Upstream passage · L27 ↗Turnstile Spin skill
Turns the prompt "set up Turnstile" into a working end-to-end integration: a widget, frontend snippets at every chosen insertion point, canonical server-side siteverify in the customer's existing backend, and a real validation pass before reporting success. You are the agent. Run the wizard below by invoking the scripts under scripts/ and branching on their JSON output. The scripts hold the deterministic logic (API calls, retry/error handling); your job is orchestration, codebase reading, confirmation, and the frontend + backend edits.
Framework references
Read the reference for the existing frontend when wiring the integration:
Upstream passage · L14 ↗ WRANGLER_WRITE_LOGS=false WRANGLER_LOG=log WRANGLER_LOG_SANITIZE=true \
"$WRANGLER_BIN" turnstile widget create "<name>" \
--domain <d1> --domain <d2> ... --mode managed --jsonRequirements and setup
No short requirements passage was selected from this file. This does not mean the Skill has no dependencies. Check the repository setup instructions and referenced files.
Limits and quality checks
No separate limits passage was selected from this file. This does not mean the Skill is safe for every input or environment. Review the complete source and validate your own result.
Start with a safe trial
- Check the supported host and the repository installation instructions. Keep the Skill directory and its referenced scripts, assets and documentation together; SKILL.md alone may omit dependencies.
- Give the agent your real input, desired output and acceptance criteria. Invocation syntax and available tools depend on the host; this site does not assume a universal install command.
- Try the source workflow in a disposable project or on a copy. Review operations that change files, remote services or billable resources before allowing them.
- Validate the output against the source quality checks and your own requirements. A successful trigger or a high repository Star count does not establish a correct result.
Read further in the source
- Turnstile Spin skill
- Framework references
- When to load this skill
- Choose the flow before responding
- Conversation flow
- Things you must NOT do
- Hard scope boundary: DO NOT ask the user about
- Existing-widget flow: retrieve and store the secret without chat
- The frontend-edit contract
- Migrating from another CAPTCHA
- Skill feedback
Related Skills
Translation and scope
This reading guide selects passages from the pinned upstream SKILL.md. Translation is assisted. It is not a complete manual or a claim of tested compatibility. Read the original and its referenced files before use.
This introduction refers to the pinned version below; current repository activity and collection time are shown separately.
- Pinned source
- Read the original ↗
- Source retrieved
- Source commit
49a31e0b3229ccdffe4944be9c61bc7481d1d432- Source SHA-256
077590991a3eb90c362aa380b91e6da334cc6da0001d7a9bc39fed86da13858b