crawl-sites
SkillWeb & browsingCrawl and extract content from configured sites using the provider engine
Use crawl-sites in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add crawl-sites and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the crawl-sites skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by the-agency-ai/the-agency in .claude/skills/crawl-sites/SKILL.md and read by Ahel’s review.
Crawl Sites
Crawl configured sites and extract structured content using the configured crawler engine.
Arguments
- $ARGUMENTS: Optional flags:
--site <name>— crawl a specific configured site (default: all)--output <path>— output directory for extracted content--dry-run— show what would be crawled without executing--diff— show changes since last crawl
How to Execute
Step 1: Resolve Provider
Read the crawl provider from agency/config/agency.yaml under crawl.provider.
# agency.yaml
crawl:
provider: "playwright" # or "wget", "scrapy", "webfetch"
sites:
- name: "docs"
url: "https://docs.example.com"
patterns: ["/**/*.html"]
- name: "blog"
url: "https://blog.example.com"
patterns: ["/posts/*"]
The provider maps to a tool: ./agency/tools/crawl-{provider}
Step 2: Check Provider Tool Exists
Verify ./agency/tools/crawl-{provider} exists and is executable. If not:
- For
webfetchprovider: use the built-in WebFetch tool directly (no external tool needed) - List available crawl tools:
ls ./agency/tools/crawl-* - Tell the user which providers are available
Step 3: Read Site Configuration
Read the crawl.sites array from agency.yaml. Each site entry has:
name— identifier for the siteurl— base URL to crawlpatterns— URL patterns to include
If --site specified, filter to that site only.
Step 4: Dispatch to Provider
For each site, execute: ./agency/tools/crawl-{provider} {url} {patterns} {output}
Or for webfetch provider, use the WebFetch tool directly with each URL.
Step 5: Report
Show the user:
- Pages crawled per site
- Content extracted (file count, total size)
- Any errors or skipped pages
- If
--diff, show what changed since last crawl
Provider Contract
Each crawl-{provider} tool must accept:
- Positional: base URL
--patterns— comma-separated URL patterns--output— output directory--dry-run— list URLs without fetching
Error Handling
- If no provider configured, default to
webfetch(uses built-in WebFetch) - If site config missing, suggest adding the
crawl.sitessection to agency.yaml - Rate limit appropriately — respect robots.txt
- Report unreachable URLs without failing the entire crawl
Signals
- GitHub stars
- 66
- Forks
- 12
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
crawl-sites- Source
- github.com/the-agency-ai/the-agency
github.com/the-agency-ai/the-agency
More in Web & browsing
Skill · browser-use
More in Web & browsingwebapp-testing
Skill · anthropics
More in Web & browsingplaywright-cli
Skill · microsoft
More in Web & browsingbenchmark
Skill · affaan-m
More in Web & browsingopen-source
Skill · browser-use
More in Web & browsingdeploy-to-vercel
Skill · vercel-labs
More in Web & browsing