Skip to main content

crewai-skim

Give your CrewAI agents the ability to read any URL — clean Markdown, ~4x smaller than raw HTML. No ads, no nav, no boilerplate.

PyPI version License: MIT

crewai-skim is the official CrewAI tool for Skim — the clean reader API for AI agents. It exposes one tool, SkimReader, that any agent in your crew can call to fetch a web page as agent-ready Markdown plus structured metadata. Output is ~4x smaller than raw HTML — your agents spend fewer tokens and process pages faster.

Two ways to pay: card plan with API key (free tier: 1,000 reads/month — skim402.com/pricing) or x402 wallet pay-per-call ($0.002 USDC on Base, no account needed).

See it before you wire it: try Skim free in your browser — 10 free skims a day, no wallet, no signup. Paste a URL, see exactly what your agent gets back.


Install

pip install crewai-skim

Quickstart (60 seconds)

1. Get a free API key

Go to skim402.com/pricing, sign up for the free plan (1,000 reads/month), and copy your sk402_... key.

2. Set the env var

export SKIM_API_KEY=sk402_your_key_here

3. Use it

from crewai_skim import SkimReader

reader = SkimReader()  # reads SKIM_API_KEY from the environment

markdown = reader.run(url="https://en.wikipedia.org/wiki/HTTP_402")
print(markdown)

Alternative: pay per call with a crypto wallet

If you prefer x402 wallet pay-per-call instead of a card plan:

export SKIM_WALLET_PRIVATE_KEY=0xYOUR_BASE_WALLET_PRIVATE_KEY

Fund a dedicated Base wallet with a small USDC balance. Each read costs $0.002 on Base. Full setup guide: https://skim402.com/wallet.

Use a fresh wallet, not your personal one. This wallet's private key signs payment authorizations on your machine — treat it like a hot wallet for paying $0.002 tolls, not a savings account.


Use it in a crew

SkimReader is a standard CrewAI BaseTool, so it drops straight into any agent's tool list:

from crewai import Agent, Task, Crew
from crewai_skim import SkimReader

researcher = Agent(
    role="Research Analyst",
    goal="Read and summarize web articles accurately",
    backstory="You turn messy web pages into clean, citable notes.",
    tools=[SkimReader()],
)

task = Task(
    description="Read https://en.wikipedia.org/wiki/HTTP_402 and summarize it in 5 bullet points.",
    expected_output="A 5-bullet summary.",
    agent=researcher,
)

crew = Crew(agents=[researcher], tasks=[task])
print(crew.kickoff())

The agent decides when to call the Skim Web Reader, Skim returns clean Markdown (~4x smaller than raw HTML), and the model gets a faster, cheaper read.


Output shape

SkimReader returns Markdown with a YAML frontmatter block of the page metadata:

---
title: Example article
byline: Jane Doe
publishedAt: 2025-01-15
lang: en
excerpt: A short summary...
---

# Example article

The cleaned article body in Markdown...

Set include_metadata=False to get just the Markdown body.


Configuration

SkimReader takes the following parameters:

Parameter Default Notes
api_key $SKIM_API_KEY Card-plan API key (sk402_...). Get one free at skim402.com/pricing. Takes priority over private_key.
private_key $SKIM_WALLET_PRIVATE_KEY Wallet lane only. Hex private key for the Base wallet. Ignored when api_key is set.
base_url https://skim402.com Override the API base URL. For self-hosting or local development.
max_price_usd 0.01 Wallet lane only. Hard cap on per-call price in USD. Skim is $0.002/call.
include_metadata True Prepend a YAML frontmatter block of page metadata to the returned Markdown.
timeout 60 Per-request timeout in seconds.
# Card key (recommended)
reader = SkimReader(api_key="sk402_...")

# Or wallet
reader = SkimReader(
    private_key="0x...",
    max_price_usd=0.005,
    include_metadata=False,
)

Security

  • No outbound telemetry from this package. crewai-skim only talks to skim402.com (or whatever you set as base_url). No analytics, no error reporting, no phone-home.
  • Wallet lane: the private key only signs payment authorizations locally — it never leaves your machine.

Links


License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crewai_skim-0.1.4.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crewai_skim-0.1.4-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file crewai_skim-0.1.4.tar.gz.

File metadata

  • Download URL: crewai_skim-0.1.4.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for crewai_skim-0.1.4.tar.gz
Algorithm Hash digest
SHA256 3c48b03802da284f4b7dde808c8c0cc4b2ee6c2fd6fc3c6c4293c83da3a5b11a
MD5 e6635178a1d9aea677bd16aac909e641
BLAKE2b-256 01fcb707eec1331174b463fe4a73b874ce7541326aa794c01a08be005b66f211

See more details on using hashes here.

File details

Details for the file crewai_skim-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for crewai_skim-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1c12485108ddb372b2fa321428b83bbf213e077da8f735a6c0b91ba64bec5a00
MD5 71ac69b53d3b971b02314148efcd624e
BLAKE2b-256 b17e897ac22d1f2d8e58f24c58e743d6e7b230a7c33b58f18127e20bd86f05bc

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page