← Back to Skills Marketplace
smile-xuc

Jina Reader

by smile-xuc · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
1069
Downloads
0
Stars
4
Active Installs
1
Versions
Install in OpenClaw
/install haibo-jina-reader
Description
Extract clean, readable markdown content from any URL using Jina Reader API. Use when you need to fetch and parse web pages without dealing with HTML, JavaScript rendering, or paywalls. Ideal for research, article summarization, content analysis, and working with search results from tavily-search, web_search, or searxng skills.
README (SKILL.md)

Jina Reader

Overview

Jina Reader provides clean markdown extraction from any URL, bypassing HTML complexity, JavaScript rendering, and many paywalls. It returns structured text content with metadata (title, URL, published time) that's perfect for AI analysis.

Quick Start

Extract markdown content

scripts/jina-reader.py \x3Curl>

Extract with JSON metadata

scripts/jina-reader.py \x3Curl> --format json

Save to file

scripts/jina-reader.py \x3Curl> -o output.md

Core Operations

1. Basic Extraction

Extract clean markdown from any URL:

scripts/jina-reader.py https://example.com/article

Returns: Full markdown content including title, metadata headers, and structured text.

Use when: You need readable text from a webpage for summarization, analysis, or content processing.

2. JSON Format

Get structured data with metadata:

scripts/jina-reader.py https://example.com/article --format json

Returns:

{
  "status": "success",
  "metadata": {
    "title": "Article Title",
    "url": "https://example.com/article",
    "published": "Mon, 10 Feb 2026 12:00:00 GMT"
  },
  "content": "Markdown content..."
}

Use when: You need programmatic access to metadata or want to integrate with other tools.

3. Shell Script Quick Access

For simple one-liners:

scripts/jina-reader.sh https://example.com/article

Returns: Raw markdown content directly to stdout.

Use when: Quick extraction without arguments or when piping to other commands.

Usage Patterns

Combining with Search

When using tavily-search, web_search, or searxng skills:

  1. Get search results with relevant URLs
  2. Extract content from top results using jina-reader
  3. Process and summarize the extracted content
# Example workflow
URL="https://example.com/article"
scripts/jina-reader.py "$URL" --format json | jq -r '.content'

Batch Processing

Extract from multiple URLs:

for url in $(cat urls.txt); do
  scripts/jina-reader.py "$url" -o "output/$(basename $url).md"
done

Content Analysis

Pipe extracted content to analysis tools:

scripts/jina-reader.py https://example.com/article | wc -w
scripts/jina-reader.py https://example.com/article | grep -i "keyword"

Options

Python Script (jina-reader.py)

  • url (required): The URL to extract content from
  • -f, --format: Output format - markdown or json (default: markdown)
  • -t, --timeout: Request timeout in seconds (default: 30)
  • -o, --output: Save output to file instead of stdout

Shell Script (jina-reader.sh)

  • url (required): The URL to extract content from

Limitations

  • Timeout: Default 30 seconds. Increase with -t for slow-loading pages
  • Rate limits: Jina Reader API has rate limits. Use batching strategically
  • Dynamic content: Can't extract content generated by client-side JavaScript after page load
  • Authentication: Can't access pages requiring login or special headers

Troubleshooting

Timeout errors

scripts/jina-reader.py \x3Curl> -t 60  # Increase timeout

Invalid URLs

The tool auto-prepends https:// if missing. Use fully qualified URLs for reliability.

Empty content

Some pages may block scraping. Try the shell script as fallback, or verify the URL is accessible.

Resources

scripts/jina-reader.py

Full-featured Python tool with JSON output, metadata extraction, and file saving.

scripts/jina-reader.sh

Lightweight shell script for quick markdown extraction.

Usage Guidance
This skill is coherent with its purpose, but it forwards the target URL (and the remote service will fetch that URL) to a third-party endpoint (https://r.jina.ai). Do not use it with private, internal, or sensitive URLs you don't want a remote service to fetch or see. Note the shell script does not normalize https URLs correctly and may produce malformed requests for inputs starting with 'https://'; prefer the Python script (which normalizes schemes) or validate inputs. Ensure the environment has the Python 'requests' package installed if you use the Python script. If you need to avoid sending content outside your network, consider a local extraction tool instead or audit/host an extraction service you control.
Capability Analysis
Type: OpenClaw Skill Name: haibo-jina-reader Version: 1.0.0 The skill bundle is classified as suspicious due to two significant vulnerabilities. The `scripts/jina-reader.sh` script is vulnerable to shell injection, as the user-provided URL is directly embedded into the `JINA_API` string without proper sanitization before being passed to `curl`, potentially allowing arbitrary command execution. Additionally, the `scripts/jina-reader.py` script has a path traversal vulnerability in its file output functionality (`-o` argument), allowing an attacker to write extracted content to arbitrary file paths on the system by using `../` sequences in the output filename. While these are severe flaws, there is no clear evidence of intentional malicious behavior (e.g., data exfiltration, backdoor installation) by the skill's author, classifying them as vulnerabilities rather than direct malice.
Capability Assessment
Purpose & Capability
Name/description match the included scripts and instructions: both Python and shell tools call the Jina Reader endpoint (r.jina.ai) and return markdown/JSON. No unrelated credentials, binaries, or installs are requested.
Instruction Scope
Instructions are focused on extraction and piping results to other tools. They do cause the agent to send target URLs (and indirectly the pages' content, depending on the remote service) to r.jina.ai — this is expected for the stated purpose but is a privacy/network exposure concern (see user_guidance). The shell script has a minor scheme-handling bug for https URLs which can produce a malformed request; Python script normalizes schemes.
Install Mechanism
No install spec; scripts are included directly. No archives or external installers are fetched. The Python script depends on the widely used 'requests' package but does not attempt to install it itself.
Credentials
The skill declares no required environment variables, credentials, or config paths. The code likewise does not read secrets or system configuration. No disproportionate credential access is requested.
Persistence & Privilege
always is false and the skill does not attempt to modify other skills or system configuration. It does network requests to an external API — expected for its functionality — but it does not request persistent elevated privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install haibo-jina-reader
  3. After installation, invoke the skill by name or use /haibo-jina-reader
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: Extract clean markdown from any URL using Jina Reader API
Metadata
Slug haibo-jina-reader
Version 1.0.0
License
All-time Installs 4
Active Installs 4
Total Versions 1
Frequently Asked Questions

What is Jina Reader?

Extract clean, readable markdown content from any URL using Jina Reader API. Use when you need to fetch and parse web pages without dealing with HTML, JavaScript rendering, or paywalls. Ideal for research, article summarization, content analysis, and working with search results from tavily-search, web_search, or searxng skills. It is an AI Agent Skill for Claude Code / OpenClaw, with 1069 downloads so far.

How do I install Jina Reader?

Run "/install haibo-jina-reader" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Jina Reader free?

Yes, Jina Reader is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Jina Reader support?

Jina Reader is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Jina Reader?

It is built and maintained by smile-xuc (@smile-xuc); the current version is v1.0.0.

💬 Comments