Add bot protection with Turnstile (CAPTCHA alternative). Use when: protecting forms, securing login/signup, preventing spam, migrating from reCAPTCHA, integrating with React/Next.js/Hono, implementing E2E tests, or debugging CSP errors, token validation failures, Chrome/Edge first-load issues, multiple widget rendering bugs, timeout-or-duplicate errors, or error codes 100*/106010/300*/600*.
Install with Tessl CLI
npx tessl i github:jezweb/claude-skills --skill cloudflare-turnstile87
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is an excellent skill description that clearly identifies its purpose (Turnstile bot protection), provides comprehensive trigger terms covering both implementation and debugging scenarios, and includes highly specific error codes that make it uniquely identifiable. The description uses proper third-person voice and follows the 'Use when:' pattern effectively.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'protecting forms, securing login/signup, preventing spam, migrating from reCAPTCHA, integrating with React/Next.js/Hono, implementing E2E tests, debugging CSP errors' and specific error codes. | 3 / 3 |
Completeness | Clearly answers both what ('Add bot protection with Turnstile') and when with explicit 'Use when:' clause covering multiple trigger scenarios including implementation tasks and debugging specific issues. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'CAPTCHA', 'bot protection', 'Turnstile', 'reCAPTCHA', 'spam', 'login/signup', specific frameworks (React/Next.js/Hono), and specific error codes users would search for. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with clear niche around Cloudflare Turnstile specifically, including unique identifiers like specific error codes (100*/106010/300*/600*) and Turnstile-specific issues that wouldn't overlap with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a highly actionable skill with excellent executable code examples and clear workflows for Turnstile integration. The comprehensive issue documentation is valuable but creates verbosity - the skill would benefit from moving detailed issue descriptions to a separate reference file while keeping summaries inline. The Critical Rules section effectively communicates safety constraints.
Suggestions
Move the detailed 15 documented issues to a separate 'known-issues.md' file, keeping only a summary table with issue names and error codes in the main skill
Consolidate the 'Always Do/Never Do' lists with the Critical section in Quick Start to reduce redundancy
Consider moving the Advanced Features section to a separate file since it's not essential for basic integration
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is comprehensive but includes some redundancy (e.g., the 'Always Do/Never Do' lists overlap with information in other sections, and some issues are explained multiple times). The 15 documented issues section is valuable but verbose with repeated context. | 2 / 3 |
Actionability | Excellent executable code examples throughout - Quick Start, Hono pattern, React pattern, and troubleshooting solutions all provide copy-paste ready code with proper imports and complete implementations. | 3 / 3 |
Workflow Clarity | Clear 3-step Quick Start workflow with numbered steps, explicit validation requirements, and the Critical Rules section provides clear checkpoints. Error handling patterns include retry logic and fallback strategies. | 3 / 3 |
Progressive Disclosure | References bundled resources (widget-configs.md, error-codes.md, testing-guide.md, react-integration.md) but the main file is quite long (~400 lines). The 15 documented issues could be moved to a separate troubleshooting reference file to improve organization. | 2 / 3 |
Total | 10 / 12 Passed |
Validation
75%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 12 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (539 lines); consider splitting into references/ and linking | Warning |
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 12 / 16 Passed | |
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.