spider_skills
Reusable automation tactics for the spider-rs ecosystem.
Pre-built skill definitions for solving common web challenges: CAPTCHAs, anti-bot systems, interactive puzzles, access barriers, and data extraction patterns. Skills are prompt fragments with trigger conditions that get dynamically injected into the LLM context when the page state matches.
Install
[]
= "0.1"
Feature Flags
| Feature | Default | Description |
|---|---|---|
web_challenges |
Yes | 69 built-in web challenge skills |
fetch |
No | Load skills from remote URLs at runtime |
s3 |
No | Load skills from AWS S3 buckets |
# All features
= { = "0.1", = ["web_challenges", "fetch", "s3"] }
# Minimal (just core types, no built-in skills)
= { = "0.1", = false }
Usage
use web_challenges;
// Get a registry with all 69 built-in skills
let registry = registry;
// Or pick specific skill categories
let mut registry = new_registry;
add_image_grid;
add_text_captcha;
add_tic_tac_toe;
Matching Skills Against Page State
let registry = registry;
// Returns combined prompt context for matching skills
let context = registry.match_context;
// context now contains the login-wall and recaptcha-v2 skill prompts
Custom Skills from Markdown
let mut registry = new_registry;
registry.load_markdown;
Loading Skills from URLs
# async
Loading Skills from S3
# async
Skill Categories
CAPTCHAs (20 skills)
reCAPTCHA v2/v3, hCaptcha, Cloudflare Turnstile, GeeTest, Arkose/FunCaptcha, text CAPTCHAs, image rotation CAPTCHAs, audio CAPTCHAs, math CAPTCHAs, puzzle piece CAPTCHAs, and more.
Anti-Bot / Security (6 skills)
Bot detection, rate limiting, JS challenge pages, proof-of-work, fingerprint challenges, device verification.
Interactive Puzzles (19 skills)
Image grids, tic-tac-toe, word search, sliding tile puzzles, mazes, sudoku, crosswords, memory games, jigsaw puzzles, rotation puzzles, and more.
Access Barriers (10 skills)
Cookie consent, login walls, age verification, paywalls, popups/modals, redirect chains, iframe interactions.
Data Extraction (6 skills)
Tables, product listings, contact info, pricing, search results, charts.
Form Automation (8 skills)
Multi-step forms, file uploads, OTP inputs, payment forms, address forms, form validation.
Architecture
┌───────────────────────────┐
│ spider_skills │ ← This crate: types + skill content
│ ┌──────────────────────┐ │
│ │ Skill, SkillTrigger, │ │ ← Core types (defined here)
│ │ SkillRegistry │ │
│ ├──────────────────────┤ │
│ │ web_challenges │ │ ← 69 built-in .md skill files
│ │ fetch │ │ ← Optional: fetch from URLs
│ │ s3 │ │ ← Optional: load from S3
│ └──────────────────────┘ │
└────────────┬──────────────┘
│ used by
┌─────────┼─────────┐
▼ ▼ ▼
spider spider your
_agent _worker project
Authoring Skills
Each skill is a markdown file with YAML frontmatter:
name: my-challenge-solver
description: Solves a specific type of web challenge
triggers:
- - -
Step-by-step instructions for the LLM to follow when this
challenge type is detected...
Trigger types:
title_contains— case-insensitive match on page titleurl_contains— case-insensitive match on page URLhtml_contains— case-insensitive match on page HTML
Priority: Higher values are injected first. Use 1-3 for low priority, 4-5 for medium, 6+ for high.
License
MIT