Skip to content

Guide · Agent skill

How to use the Web Page Reader agent skill (web-reader)

Updated · written with AI from the project's own documentation and checked against our catalogue data

The web-reader skill lets an AI agent open a web link and get back the readable text of the page as Markdown, with ads, menus and styling removed. It is useful for reading API docs, technical blogs, research announcements and GitHub READMEs. This guide explains what the skill does, how to install it, how to ask for it, and the privacy limits you need to know before using it.

Web Page ReaderHKUDS/Vibe-Trading · MIT

Quick start

  1. 1Download the ZIP. Get the web-reader ZIP from this skill's page in the directory.
  2. 2Unzip the folder. Extract the archive so you have a web-reader folder containing SKILL.md.
  3. 3Place it in a skills folder. Move the folder to ~/.claude/skills/ for personal use or to .claude/skills/ inside a project.
  4. 4Or upload in the Claude apps. In the Claude apps, open Settings, go to Capabilities, then Skills, and upload the ZIP.
  5. 5Ask for a page. Give the agent a public URL and a plain-language request about what to extract.
  6. 6Check the result. Look at the title, url and whether cached is true, and refresh with no_cache=true only if needed.

What is an agent skill and what does web-reader do?

An agent skill is a folder containing a SKILL.md file that tells an AI agent when and how to perform a task. This skill is named web-reader and its single file is SKILL.md.

Once installed, the agent can call a tool called read_url with a web address. The skill sends the full URL to the third-party Jina Reader service (r.jina.ai), which fetches the page and converts it to Markdown text. The agent then gets back JSON containing the page title, original URL, content and length.

  • Good for: API documentation, technical articles and blogs, research reports and announcements, GitHub README and Wiki pages.
  • Not for: pages behind logins, private or internal addresses, and sites that depend heavily on JavaScript.

How do you install the web-reader skill?

Download the ZIP file from the skill's page in this directory and unzip it. Then place the web-reader folder in one of these locations:

  • Personal skills: ~/.claude/skills/ (available across your projects).
  • Project skills: .claude/skills/ inside a specific project folder.
  • Claude apps: upload the ZIP under Settings → Capabilities → Skills.
~/.claude/skills/web-reader/SKILL.md

How do you trigger the skill with a natural request?

You do not need to name the skill. Ask the agent in plain language to read a link, and it should use the read_url tool. The skill's own instructions say to call the tool directly and not to use bash with requests.

You can also give the URL and say what you want from it, such as a summary or a list of parameters. Keep the URL free of tokens or private addresses.

  • Read this API doc and tell me how pagination works: [URL]
  • Summarise this blog post on backtesting pitfalls: [URL]
  • What does this GitHub README say about installation? [URL]

What does a read_url call look like?

The agent calls the tool with a single url argument. Here is the form used in the skill's own examples:

  • Result fields: status, title, url, content (Markdown), length.
  • Content longer than 8000 characters is truncated, and the total length is noted at the end.
  • Chinese content is supported normally.
read_url(url="https://tushare.pro/document/2?doc_id=27")

What are the privacy and freshness rules?

The full target URL, including any query string, is forwarded to r.jina.ai. Do not pass URLs that contain credentials, tokens or private or internal addresses, because they would leave your machine.

Results may be a cached snapshot rather than live data. When a result is stale, the JSON includes "cached": true. The skill documents a no_cache=true option to force a fresh fetch, which is slower. It should be used only when a prior result reported cached: true or the task truly needs newer data.

  • Do not use no_cache merely because earlier context was compacted or restored.
  • Bash fallback: if a site blocks the reader (for example HTTP 451), a manual bash plus requests fetch is possible, but it bypasses the URL safety guard and the Jina layer. Use it sparingly and never for internal or authenticated URLs.
read_url(url="https://blog.example.com/quantitative-trading-guide", no_cache=true)

What should you know about scripts and network access?

This skill runs no scripts. It does use the network, because the agent's read_url tool contacts the external Jina Reader service. It requires access to the read_url tool in your host agent and network access to r.jina.ai.

  • Runs scripts: no.
  • Uses network: yes.
  • Third party: Jina Reader (r.jina.ai) receives every URL you send.
  • Licence: MIT.

What tips help you get good results?

Pick specific pages rather than site home pages, so the truncated 8000-character content is more likely to contain what you need. If a single-page app returns little text, the page is probably rendered in JavaScript; try a documentation or article URL instead.

  • Ask targeted questions about the page so the agent focuses on the relevant part.
  • If a result looks old, check whether it says cached: true before forcing a refresh.
  • Avoid private, logged-in or internal links entirely.

What people use it for

  • Reading a provider's API documentation to find parameter names and pagination rules.
  • Summarising a technical blog post or research announcement for a briefing.
  • Reading a GitHub project's README to see installation steps and supported features.
  • Pulling the main text of a public article for a student's reading notes.

Frequently asked questions

How do I install the web-reader agent skill?

Download the ZIP from this skill's page, unzip it, and place the web-reader folder in ~/.claude/skills/ or a project's .claude/skills/ folder. In the Claude apps, you can instead upload the ZIP under Settings, Capabilities, Skills.

Is the web-reader skill free and what licence does it use?

The source repository is licensed under MIT. The skill itself runs no scripts, but it sends URLs to the third-party Jina Reader service, so check that service's own terms for its use.

Does web-reader need an API key or special requirements?

The source requires access to the read_url tool in your host agent and network access to the external Jina Reader service at r.jina.ai. It does not describe any API key setup.

Is it safe to use with private or logged-in pages?

No. The full URL, including any query string, is forwarded to r.jina.ai, so URLs with credentials, tokens or private or internal addresses should not be used.

Why does the agent return old content?

Results may come from a cached snapshot. When a result is cached, the JSON shows cached: true, and no_cache=true forces a fresh but slower fetch.

Why is a page returning very little text?

Dynamically rendered single-page apps may return only skeleton HTML. Try a documentation, article or README URL instead, and note that long content is truncated at 8000 characters.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use web-reader if you regularly need an agent to read public documentation, articles or READMEs as clean text and you accept that URLs go to Jina Reader. Pick something else if you need to read logged-in, internal or private pages, or guaranteed live data, or if the sites you care about are heavily dynamic.

Download the skill