agentleFS
Anakin-IncAnakin-Inc/anakin-claude-plugin/skills/scrape-website/SKILL.md

scrape-website

Skill0 starsChanged 9 months agoMITView on GitHub

Scrape a single URL using anakin-cli and return clean markdown, structured JSON, or the full raw API response. Use when extracting content from a web page — an article, product page, documentation, or any URL.

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 3 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Verify anakin-cli is authenticated by running anakin status.

    line 16
  2. Distinctive:

    Create the output directory if it doesn't exist:

    line 17
  3. Very specific:

    Check if $ARGUMENTS contains --browser.

    line 24
  4. Distinctive:

    Check the output file size and read incrementally:

    line 29
  5. Very specific:

    Always quote URLs to prevent shell interpretation of ?, &, # characters.

    line 71
  6. Distinctive:

    Default to markdown format unless the user asks for structured data or raw output.

    line 72
  7. Very specific:

    Use --browser only when a standard scrape returns empty or incomplete content.

    line 73
  8. Very specific:

    Always use -o to save output to a file rather than flooding the terminal.

    line 75
  9. Very specific:

    If scrape fails or returns empty, retry with --browser.

    line 81

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Scrape a website

Trigger

Extracting content from a single web page — an article, product page, documentation, or any URL.

Workflow

  1. Verify anakin-cli is authenticated by running anakin status.
  2. Create the output directory if it doesn't exist:
    mkdir -p .anakin
  3. Determine the output filename from the URL (use domain and path):
    • https://docs.react.dev/learn -> .anakin/docs.react.dev-learn.md
    • https://example.com/pricing -> .anakin/example.com-pricing.md
  4. Check if $ARGUMENTS contains --browser. If the URL is a known SPA/JS-heavy site (React apps, Next.js, Angular, etc.), add --browser automatically.
  5. Run the scrape:
    anakin scrape "$ARGUMENTS" -o .anakin/<filename>.md
  6. Check the output file size and read incrementally:
    wc -l .anakin/<filename>.md && head -80 .anakin/<filename>.md
  7. Summarize the content for the user. If the page is long, highlight the key sections and offer to read specific parts.

Commands

# Clean readable text (default)
anakin scrape "<url>" -o .anakin/output.md

# Structured data
anakin scrape "<url>" --format json -o .anakin/output.json

# Full API response with HTML and metadata
anakin scrape "<url>" --format raw -o .anakin/output.json

# JavaScript-heavy or single-page app sites
anakin scrape "<url>" --browser -o .anakin/output.md

# Geo-targeted scraping
anakin scrape "<url>" --country gb -o .anakin/output.md

# Custom timeout for slow pages
anakin scrape "<url>" --timeout 300 -o .anakin/output.md

Options

  • --browser — Use headless browser (for JS-rendered/SPA pages)
  • --country <code> — Country code for geo-targeting (default: us)
  • --format <fmt> — Output format: markdown (default), json, or raw
  • --timeout <seconds> — Max wait time (default: 120)
  • -o, --output <path> — Save to file

Async behavior

Starts job, polls every 3s until complete.

Guardrails

  • Always quote URLs to prevent shell interpretation of ?, &, # characters.
  • Default to markdown format unless the user asks for structured data or raw output.
  • Use --browser only when a standard scrape returns empty or incomplete content.
  • On 429 errors, wait before retrying rather than looping immediately.
  • Always use -o to save output to a file rather than flooding the terminal.

Output

  • Scraped content in the requested format
  • File path where results were saved
  • If scrape fails or returns empty, retry with --browser. If still fails, check anakin status.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.