Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add JerryLookupU/klein-harness --skill markdown-fetchgit clone --depth 1 https://github.com/JerryLookupU/klein-harnessWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jerrylookupu/klein-harness/markdown-fetch)<a href="https://agentmods.dev/skills/jerrylookupu/klein-harness/markdown-fetch"><img src="https://agentmods.dev/badge/skills/jerrylookupu/klein-harness/markdown-fetch/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jerrylookupu/klein-harness/markdown-fetch"><img src="https://agentmods.dev/badge/skills/jerrylookupu/klein-harness/markdown-fetch.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.01236 |
| Opus 5 | $0.00031 | $0.00618 |
| Sonnet 5 | $0.00012 | $0.00247 |
| Haiku 4.5 | $0.00006 | $0.00124 |
Grade A, and why
markdown-fetch scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
description: "抓取文档、网页和任意 URL 内容并转成干净的 markdown。适用于官方文档、API reference、博客、技术文章和需要 repo-local research memo 的场景。优先使用 Bash + curl + markdown.new,而不是依赖 Claude 插件。" How it starts
The opening of the file, as written. The whole thing — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.
This Skill Is For
这个 skill 用于把公开 URL 抓成适合阅读、引用、沉淀的 markdown。
适合这些场景:
- 拉官方文档或 API reference
- 读取博客、设计说明、迁移指南
- 原始 HTML 太脏,不适合直接读
- 需要把网页内容先沉淀成 repo-local research memo
一句话:
先把网页抓干净,再决定是临时阅读,还是沉淀进
.harness/research/.
这个 Skill 不依赖什么
- 不依赖 Claude 插件
- 不依赖
.claude/目录 - 默认只使用 Bash、
curl、jq和markdown.new
Preferred Workflow
按这个顺序做:
- 先确认目标 URL 是真的,不要猜地址
- 先用
auto - 如果页面是 JS-heavy,再切
browser - 只有图片、图表、流程图确实重要时,才加
retain_images=true - 如果结果要进入 Klein 的共享研究面,优先写
.harness/research/<slug>.md
Preferred Command Surface
1. GET: auto
普通文档先试这个:
curl -fsSL "https://markdown.new/https://docs.python.org/3/library/pathlib.html" | sed -n '1,220p'
适合:
- 官方文档
- 普通静态页面
- 想快速预览前几百行
2. GET: browser
JS-heavy 页面或 auto 不够干净时:
curl -fsSL "https://markdown.new/https://example.com/docs?method=browser" | sed -n '1,220p'
适合:
- React / SPA 文档站
- 需要浏览器渲染后才有正文的页面
3. GET: retain_images
只有图片本身是研究对象时才打开:
curl -fsSL "https://markdown.new/https://example.com/docs?method=browser&retain_images=true" | sed -n '1,220p'
适合:
- 图表、架构图、流程图本身有价值
- 想保留图片 markdown 以便后续人工查看
4. POST: auto
URL 含查询参数、片段、shell 特殊字符,或你想拿结构化响应时,优先 POST:
curl -fsSL "https://markdown.new/" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/docs"}' \
| jq -r '.content'
5. POST: browser / retain_images
curl -fsSL "https://markdown.new/" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/docs","method":"browser","retain_images":true}' \
| jq -r '.content'
Method Choice
auto- 默认首选
- 适合大部分文档站
browser- 页面正文依赖浏览器渲染时再用
retain_images=true- 只有图片是有效信息时再开
- 不要默认开启,避免噪音
What To Do With The Result
临时阅读
如果只是回答当前问题:
- 直接引用必要片段
- 记录 URL
- 不要为了“一次性阅读”无端写文件
研究沉淀
如果结果属于研究资料、设计依据、上游行为证据,优先沉淀到:
.harness/research/<slug>.md
如果当前仓库没有 .harness/,且用户要可共享文档,再考虑:
docs/<slug>.md
不要默认把网页内容塞进 .claude/ 或其他 Claude 专属目录。
推荐 memo 结构:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 178 lines · 62 tokens per session scan A bea60472b1da
markdown-fetch is a skill published in the GitHub repository JerryLookupU/klein-harness (11 stars, last pushed 5mo ago), licensed MIT. It adds 62 tokens to every session and 1,236 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…