Not in the top 1,000 by GitHub stars

shirenchuang/web-content-fetcher

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

670f8b36197f → 670f8b36197f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 670f8b36197f

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 670f8b36197f007ee4e00e051d4a379c4943f003

613GitHub stars
2stars in 7 days
1skill in this repository
0commits in 30 days

Heat

2.4
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 4, 2026613

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

web-content-fetcher

When your agent uses it

Extract article content from any URL as clean Markdown. Uses Scrapling script as primary method (with auto fast→stealth fallback), Jina Reader as alternative for simple pages. Preserves headings, links, images, lists, and code blocks. Use this skill whenever the user wants to fetch, read, extract, scrape, or summarize content from a URL — including blog posts, news articles, WeChat articles (微信公众号), documentation pages, or any web page. Also trigger when the user says things like "帮我读一下这篇文章", "抓取这个网页", "提取正文", or "read this page for me".

What it loads into context

Frontmatter

149 tokens

Always available to the agent

SKILL.md

960 tokens

When the skill is activated

Reference documents

1,710 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Extraction Strategy
  2. Domain Routing
  3. Script Options
  4. Install Dependencies
  5. Failure Rules

Scripts executed separately

  • scripts/fetch.py

Files

  • .gitignoreasset14 bytes
  • README.mddoc6,157 bytes
  • SKILL.mdcore3,678 bytes
  • SKILL.mdcore3,678 bytes
  • SKILL.mdcore3,678 bytes
  • SKILL.mdcore3,678 bytes
  • qrcode_for_shizhen.jpgasset39,712 bytes
  • requirements.txtdoc20 bytes
  • scripts/fetch.pyruns7,132 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills included

  • web-content-fetcher

Repository facts

License
No license detected
Created
Mar 7, 2026
Last pushed
Mar 28, 2026
Forks
72
Open issues
2
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 3 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 39 signals by file

README.md

  • Network accessline 7
    [![Python](https://img.shields.io/badge/Python-3.10%2B-blue?logo=python&logoColor=white)](https://www.python.org/)
  • Network accessline 8
    [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
  • Network accessline 31
    访问 [skills.sh](https://skills.sh/shirenchuang/web-content-fetcher/web-content-fetcher) 页面,按提示一键安装。
  • Network accessline 36
    npx skills add https://github.com/shirenchuang/web-content-fetcher --skill web-content-fetcher
  • Network accessline 42
    # Clone git clone https://github.com/shirenchuang/web-content-fetcher.git
  • Network accessline 43
    git clone https://github.com/shirenchuang/web-content-fetcher.git
  • Network accessline 66
    帮我读取这篇文章:https://mp.weixin.qq.com/s/EwVItQH4JUsONqv_Fmi4wQ
  • Network accessline 67
    Extract the content from https://openai.com/blog/gpt-4o
  • Network accessline 73
    # 基础用法(自动选择 fast 或 stealth 模式) python3 scripts/fetch.py https://sspai.com/post/73145
  • Network accessline 74
    python3 scripts/fetch.py https://sspai.com/post/73145
  • Network accessline 76
    # 强制 stealth 模式(用于 JS 渲染页面) python3 scripts/fetch.py https://mp.weixin.qq.com/s/xxx --stealth
  • Network accessline 77
    python3 scripts/fetch.py https://mp.weixin.qq.com/s/xxx --stealth
  • Network accessline 79
    # 限制输出字符数(默认 30000) python3 scripts/fetch.py https://example.com/article 15000
  • Network accessline 80
    python3 scripts/fetch.py https://example.com/article 15000
  • Network accessline 82
    # JSON 输出(含 url, mode, selector, content_length) python3 scripts/fetch.py https://example.com --json
  • Network accessline 83
    python3 scripts/fetch.py https://example.com --json
  • Network accessline 85
    # 输出到文件 python3 scripts/fetch.py https://example.com/article > output.md
  • Network accessline 86
    python3 scripts/fetch.py https://example.com/article > output.md
  • Network accessline 178
    ### [Kuaifa(快发)](https://github.com/shirenchuang/kuaifa) — 公众号一键排版发布

SKILL.md

  • Network accessline 28
    │  └─ 2. Jina Reader (fallback — only if Scrapling fails or dependencies not installed)        web_fetch("https://r.jina.ai/<url>")
  • Network accessline 29
    └─ 2. Jina Reader (fallback — only if Scrapling fails or dependencies not installed)        web_fetch("https://r.jina.ai/<url>")        Free tier: 200 req/day. Fast (~1-2s), good Markdown output.
  • Network accessline 30
    web_fetch("https://r.jina.ai/<url>")
  • Network accessline 68
    # Basic — auto-selects fast or stealth python3 <SKILL_DIR>/scripts/fetch.py "https://sspai.com/post/73145"
  • Network accessline 69
    python3 <SKILL_DIR>/scripts/fetch.py "https://sspai.com/post/73145"
  • Network accessline 71
    # Force stealth for known JS-heavy sites python3 <SKILL_DIR>/scripts/fetch.py "https://mp.weixin.qq.com/s/xxx" --stealth
  • Network accessline 72
    python3 <SKILL_DIR>/scripts/fetch.py "https://mp.weixin.qq.com/s/xxx" --stealth
  • Network accessline 74
    # Limit output to 15000 characters (default: 30000) python3 <SKILL_DIR>/scripts/fetch.py "https://example.com/article" 15000
  • Network accessline 75
    python3 <SKILL_DIR>/scripts/fetch.py "https://example.com/article" 15000
  • Network accessline 77
    # JSON output with metadata (url, mode, selector, content_length) python3 <SKILL_DIR>/scripts/fetch.py "https://example.com" --json
  • Network accessline 78
    python3 <SKILL_DIR>/scripts/fetch.py "https://example.com" --json

scripts/fetch.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 14
    Examples:   python3 fetch.py https://sspai.com/post/73145
  • Network accessline 15
    python3 fetch.py https://sspai.com/post/73145
  • Network accessline 16
    python3 fetch.py https://mp.weixin.qq.com/s/xxx 30000 --stealth
  • Network accessline 17
    python3 fetch.py https://zhuanlan.zhihu.com/p/12345 --stealth
  • Network accessline 156
    page = StealthyFetcher().fetch(
  • Network accessline 165
    def fetch(url, max_chars=30000, stealth=False):
  • Network accessline 211
    try:         md, selector, mode = fetch(url, max_chars, stealth=stealth)
  • Network accessline 212
    md, selector, mode = fetch(url, max_chars, stealth=stealth)

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Signal confidence: 39 facts
  • Network access in prose of documentationREADME.md:7Low confidence
  • Network access in prose of documentationREADME.md:8Low confidence
  • Network access in prose of documentationREADME.md:31Low confidence
  • Network access in code of documentationREADME.md:36Low confidence
  • Network access in code of documentationREADME.md:42Low confidence
  • Network access in code of documentationREADME.md:43Low confidence
  • Network access in code of documentationREADME.md:66Low confidence
  • Network access in code of documentationREADME.md:67Low confidence
  • Network access in code of documentationREADME.md:73Low confidence
  • Network access in code of documentationREADME.md:74Low confidence
  • Network access in code of documentationREADME.md:76Low confidence
  • Network access in code of documentationREADME.md:77Low confidence
  • Network access in code of documentationREADME.md:79Low confidence
  • Network access in code of documentationREADME.md:80Low confidence
  • Network access in code of documentationREADME.md:82Low confidence
  • Network access in code of documentationREADME.md:83Low confidence
  • Network access in code of documentationREADME.md:85Low confidence
  • Network access in code of documentationREADME.md:86Low confidence
  • Network access in prose of documentationREADME.md:178Low confidence
  • Network access in code of the SKILL.mdSKILL.md:28High confidence
  • Network access in code of the SKILL.mdSKILL.md:29High confidence
  • Network access in code of the SKILL.mdSKILL.md:30High confidence
  • Network access in code of the SKILL.mdSKILL.md:68High confidence
  • Network access in code of the SKILL.mdSKILL.md:69High confidence
  • Network access in code of the SKILL.mdSKILL.md:71High confidence
  • Network access in code of the SKILL.mdSKILL.md:72High confidence
  • Network access in code of the SKILL.mdSKILL.md:74High confidence
  • Network access in code of the SKILL.mdSKILL.md:75High confidence
  • Network access in code of the SKILL.mdSKILL.md:77High confidence
  • Network access in code of the SKILL.mdSKILL.md:78High confidence
  • Executable script in code of a file that runsscripts/fetch.py:1High confidence
  • Network access in prose of a file that runsscripts/fetch.py:14Low confidence
  • Network access in prose of a file that runsscripts/fetch.py:15Low confidence
  • Network access in prose of a file that runsscripts/fetch.py:16Low confidence
  • Network access in prose of a file that runsscripts/fetch.py:17Low confidence
  • Network access in code of a file that runsscripts/fetch.py:156High confidence
  • Network access in code of a file that runsscripts/fetch.py:165High confidence
  • Network access in code of a file that runsscripts/fetch.py:211High confidence
  • Network access in code of a file that runsscripts/fetch.py:212High confidence

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.