Chalk Labs
Need help deploying web-fetcher?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jiahao-shao1-web-fetcher
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/web-fetcher
What's inside
- Skill name
web-fetcher- Description
- Fetch any URL as clean markdown. Use instead of WebFetch for JS-rendered pages, login-required platforms (Twitter/X, zhihu, reddit, weibo, xiaohongshu, bilibili, etc.), and complex pages. Routes known platforms through OpenCLI (browser login state), others through Jina Reader / defuddle.md / markdown.new. Invoke when the user provides a URL to read, extract, summarize, or convert to markdown.
- License
- MIT
- Instructions
- 74 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (6)
- .gitignore
- LICENSE
- README.md
- README.zh-CN.md
- SKILL.md
- trigger_eval.json · evals/
SKILL.md (first lines)
# Web Fetcher Fetch any URL as clean markdown. Two paths: known platforms go through OpenCLI (uses browser login state), everything else falls back through a chain of free markdown services. ## Strategy Overview 1. **Known platforms** (Twitter/X, zhihu, reddit, weibo, xiaohongshu, bilibili, etc.) → OpenCLI first. It uses the user's browser login state, is deterministic, and costs zero LLM tokens. 2. **Generic URLs** (blogs, docs, articles) → Jina Reader > defuddle.md > markdown.new > WebFetch. These are soft priorities — skip obviously wrong strategies (e.g., don't try OpenCLI for a random blog post, don't try Jina for a login-walled zhihu page). ## Known Platform → OpenCLI Commands | URL Pattern | Command | Notes | |-------------|---------|-------| | `x.com/.../status/<id>` | `opencli twitter thread <id>` | Tweet threads. If the result is just a t.co link (very short text), the tweet likely links to an X Article — retry with `opencli twitter article <same-id>` | | `x.com/.../article/<id>` or `x.com/i/article/<id>` | `opencli twitter article <id>` | X Article long-form | | `zhihu.com/question/<id>` | `opencli zhihu question <id>` | | | `zhuanlan.zhihu.com/p/<id>` | `opencli zhihu download <full-url>` | | | `reddit.com/r/.../comments/...` | `opencli reddit read <full-url>` | | | `weibo.com/...` | `opencli weibo search <query>` | | | `xiaohongshu.com/...` | `opencli xiaohongshu download <id>` | | | `bilibili.com/video/BV...` | `opencli bilibili download <bvid>` | | ## Dynamic Discovery The table above covers high-frequency platforms. OpenCLI supports 80+ platforms. For anything not listed: ```bash # See all supported platforms opencli --help # See subcommands for a specific platform opencli <platform> --help ``` ## Generic Fallback Tools For URLs that don't match a known platform, try these in order: | Tool | How to Use | Strengths | Weaknesses | |------|-----------|-----------|------------| | Jina Reader | `curl -s -H "Accept: text/markdown" "https://r.jina.ai/<url>"` | Best markdown quality, JS support | 20 req/min free limit | | defuddle.md | `curl -s "https://defuddle.md/<url>"` | Good quality, by Obsidian creator | Undocumented limits | | markdown.new | `curl -s "https://markdown.new/<url>"` | Browser rendering fallback | 500 req/day | | WebFetch | Built-in tool, no curl needed | No setup needed | No JS rendering, poor on complex pages | ## Decision Guide - **Known platform with login** → OpenCLI first - **Static article/blog** → Jina Reader first - **If a tool returns too-short content** (<500 chars) → likely an error page, try next tool in chain - **If Jina fails or is rate-limited** → defuddle → markdown.new → WebFetch - **If OpenCLI fails** → fall back to the generic chain above ## OpenCLI Setup If `opencli` is not installed: 1. `npm i -g @jackwener/opencli` 2. Download browser extension from https://github.com/jackwener/opencli/releases 3. Chrome → `chrome://extensions` → Developer mode → Load unpacked → select unzipped folder 4. `opencli doctor` to verify One-time setup. After installation, known platform URLs automatically use browser login state. ## Limitations - WeChat articles partially supported via `opencli weixin`; proxy may be needed for some URLs behind GFW - OpenCLI requires browser extension setup (one-time) - Jina Reader free tier: 20 req/min - markdown.new: 500 req/day/IP
From jiahao-shao1/sjh-skills, MIT.
More from jiahao-shao1/sjh-skills
- 0.660score
session-team
jiahao-shao1
Coordinate Claude Code or Codex sessions on one machine, including messaging an existing CC session from Codex.
SkillAFreshness: A★ 39Claude Code +9 - 0.620score
notion-lifeos
jiahao-shao1
User's personal Notion LifeOS (PARA: tasks, notes, projects, Make Time journals) with pre-configured DB IDs + API access — required for any LifeOS interaction.
SkillBFreshness: B★ 39Claude Code +9 - 0.616score
paper-analyzer
jiahao-shao1
Deep critical analysis of one specific paper — dissect experimental setup, extract numbers, evaluate claims against a hypothesis.
SkillBFreshness: B★ 39Claude Code +9 - 0.610score
sync-docs
jiahao-shao1
Update the project's documentation to match recent code changes, then commit.
SkillBFreshness: B★ 39Claude Code +9 - 0.570score
paper-self-review
jiahao-shao1
Self-review for paper paragraphs — diagnose v1 issues and give a revision direction (intro, abstract, method, related work).
SkillCFreshness: C★ 39Claude Code +9 - 0.565score
experiment-registry
jiahao-shao1
Manage ML experiment lifecycle via structured YAML registry — register, record results, compare runs, track status.
SkillCFreshness: C★ 39Claude Code +9 - 0.565score
context-audit
jiahao-shao1
Audit project context management (CLAUDE.md, rules, knowledge) for progressive disclosure compliance.
SkillCFreshness: C★ 39Claude Code +9 - 0.564score
init-project
jiahao-shao1
初始化新项目的 Claude Code 配置。用户说"初始化项目"、"init project"、"配置 Claude Code"时触发。
SkillCFreshness: C★ 39Claude Code +9 - 0.505score
daily-summary
jiahao-shao1
Produce daily/yesterday work summary (日报) by aggregating Claude Code sessions, Git commits, and Notion task data — git log alone cannot do this.
SkillDFreshness: D★ 39Claude Code +9 - 0.502score
bibtex-fetch
jiahao-shao1
Fetch BibTeX entries from arXiv / Semantic Scholar.
SkillDFreshness: D★ 39Claude Code +9 - 0.500score
project-review
jiahao-shao1
Strategic project review — auto-discovers strategy docs (vision, roadmap, decisions, notes), produces five-dimension snapshot.
SkillDFreshness: D★ 39Claude Code +9 - 0.499score
handoff
jiahao-shao1
Generate a structured handoff summary for the next session.
SkillDFreshness: D★ 39Claude Code +9
Signals
- Stars
- 39
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Apr 13, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jiahao-shao1/sjh-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jiahao-shao1
- 0.660score
session-team
jiahao-shao1
Coordinate Claude Code or Codex sessions on one machine, including messaging an existing CC session from Codex.
SkillAFreshness: A★ 39Claude Code +9 - 0.620score
notion-lifeos
jiahao-shao1
User's personal Notion LifeOS (PARA: tasks, notes, projects, Make Time journals) with pre-configured DB IDs + API access — required for any LifeOS interaction.
SkillBFreshness: B★ 39Claude Code +9 - 0.616score
paper-analyzer
jiahao-shao1
Deep critical analysis of one specific paper — dissect experimental setup, extract numbers, evaluate claims against a hypothesis.
SkillBFreshness: B★ 39Claude Code +9 - 0.610score
sync-docs
jiahao-shao1
Update the project's documentation to match recent code changes, then commit.
SkillBFreshness: B★ 39Claude Code +9 - 0.570score
paper-self-review
jiahao-shao1
Self-review for paper paragraphs — diagnose v1 issues and give a revision direction (intro, abstract, method, related work).
SkillCFreshness: C★ 39Claude Code +9 - 0.565score
experiment-registry
jiahao-shao1
Manage ML experiment lifecycle via structured YAML registry — register, record results, compare runs, track status.
SkillCFreshness: C★ 39Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get web-fetcher running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
web-fetcher skill. Agent Mart. https://agentmart.dev/skills/jiahao-shao1-web-fetcher (last updated 2026-10-24)