Install any skill in seconds. Free to start, no credit card required.
Get Started Free →fcakyon/turnstile-spin
Set up, repair, or migrate to Cloudflare Turnstile bot verification in an existing frontend and backend, including server-side Siteverify.
Passed 23 of 23 test cases with the skill, and 11 of 23 without it.
and 15 more in the full report
12 fixed11 passed either way0 still failing0 broke2 errored
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
Please set up Cloudflare Turnstile bot protection on our Next.js registration page. I need you to check my account permissions, scan the codebase, create a new Turnstile widget, embed the frontend script and widget in our form, wire server-side token validation in our API route, run validation tests to confirm real submissions work and replayed tokens get blocked, and provide a final summary report.
| Checked | Without skill | With skill |
|---|---|---|
| Responds with a brief initial acknowledgment sentence asking for confirmation before proceeding. | Missed | Passed |
| Waits for user confirmation before running codebase scans or widget creation. | Passed | Passed |
The instructions your model reads when the skill loads.
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.
This file is the canonical machine-readable behavior. Product requirements come from the Turnstile documentation, and the hosted prompt must mirror this behavior.
Read the reference for the existing frontend when wiring the integration:
| Frontend | Reference |
|---|---|
| Vanilla HTML | vanilla-html |
| Next.js App Router | nextjs-app |
| Next.js Pages Router | nextjs-pages |
| Astro | astro |
| SvelteKit | sveltekit |
| Hugo | hugo |
Load when the user's prompt mentions any of:
Do not load for unrelated Cloudflare tasks (Workers, Pages, R2, etc.) unless Turnstile is also mentioned.
Inspect the user's prompt before starting the numbered wizard. If it says the widget is already created and provides one or more sitekeys, go directly to the existing-widget flow below. Do not run, summarize, or propose the widget-creation flow. Otherwise, use the numbered creation wizard.
The user pasted the prompt. You are in a multi-step dialog. Detect what you can, ask only when you have to, confirm before every irreversible step. Each numbered moment is one agent message. Items marked [wait for user] require a user response.
test cases passed, vs 11 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.