Expand description
Reusable automation tactics for the spider-rs ecosystem.
This crate provides self-contained 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 injected into the LLM context when the page state matches.
§Architecture
spider_skills is the canonical source for skill types and content.
Any spider-rs project can depend on this crate directly.
┌───────────────────────────┐
│ spider_skills │ ← This crate: types + skill content
│ ┌──────────────────────┐ │
│ │ Skill, SkillTrigger, │ │ ← Core types (defined here)
│ │ SkillRegistry │ │
│ ├──────────────────────┤ │
│ │ web_challenges │ │ ← 69 built-in challenge skills
│ │ fetch │ │ ← Optional: fetch skills from URLs
│ │ s3 │ │ ← Optional: load skills from S3
│ └──────────────────────┘ │
└────────────┬──────────────┘
│ used by
┌─────────┼─────────┐
▼ ▼ ▼
spider spider your
_agent _worker project§Usage
use spider_skills::web_challenges;
// Get a registry with all built-in web challenge skills
let registry = web_challenges::registry();
// Or pick specific skill categories
let mut registry = spider_skills::new_registry();
web_challenges::add_image_grid(&mut registry);
web_challenges::add_tic_tac_toe(&mut registry);§Adding Custom Skills
Skills can be loaded from markdown with YAML frontmatter:
let mut registry = spider_skills::new_registry();
registry.load_markdown(r#"---
name: my-skill
description: Custom challenge solver
triggers:
- title_contains: "my challenge"
---
Strategy for solving my custom challenge...
"#);Modules§
- web_
challenges - Built-in web challenge solving skills.
Structs§
- Skill
- A skill provides specialized context for solving specific challenge types.
- Skill
Registry - Registry for managing and matching skills.
Enums§
- Skill
Trigger - Trigger conditions for skill activation.
Functions§
- new_
registry - Create a new empty skill registry.