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 KaelinGraf/redraft --skill redraft-fetch-docsgit clone --depth 1 https://github.com/KaelinGraf/redraftWrote 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/kaelingraf/redraft/redraft-fetch-docs)<a href="https://agentmods.dev/skills/kaelingraf/redraft/redraft-fetch-docs"><img src="https://agentmods.dev/badge/skills/kaelingraf/redraft/redraft-fetch-docs/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/kaelingraf/redraft/redraft-fetch-docs"><img src="https://agentmods.dev/badge/skills/kaelingraf/redraft/redraft-fetch-docs.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.00061 | $0.00939 |
| Opus 5.5 | $0.00024 | $0.00376 |
| Sonnet 5.5 | $0.00012 | $0.00188 |
| Haiku 4.5 | $0.00006 | $0.00094 |
Grade A, and why
redraft-fetch-docs 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 1mo 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.
- Bash(curl *) What it actually says
docs/ is a local, gitignored cache (organizing protocol §2) — it never travels with a
clone or redraft sync. This skill restores it from the source_url recorded on each
artifact node, entirely with grep/curl/mkdir/ls — no MCP server required.
Follow these steps in order. Do not skip ahead or combine steps.
-
Find the graph root. Check whether
graph/nodes/exists at the project root / current working directory — the same detectionredraft-initstep 1 uses. If it doesn't, this isn't a graph repo; stop and say so. -
Scan for fetchable artifacts. Run:
grep -nE "doc_path:|source_url:" graph/nodes/*.mdIf that reports "No such file or directory,"
graph/nodes/has no node files yet — there's nothing to fetch; report 0 fetched / 0 already-present / 0 failed and stop.Otherwise each output line is
<file>:<line>:<content>. Group lines by<file>: a node only qualifies when bothdoc_path:andsource_url:appear for it (that pairing is the artifact-node convention from organizing protocol §2 — a file with only one of the two is a bare citation or a node mid-edit, not this skill's job). Read the value after the colon on each qualifying line — strip a wrapping"or'if the YAML dumper added one — to get that node'sdoc_pathandsource_url. -
Resolve each qualifying pair, one at a time. Quote paths and URLs in every command below (
doc_pathcan contain spaces).-
ls "<graph-root>/<doc_path>"— if it lists the file, skip: never re-download, never overwrite an existing local copy, even one you suspect is stale. -
If
lsreports the file missing:mkdir -pthe parent directory of<doc_path>(compute it yourself from the path string, e.g. the parent ofdocs/papers/qin-2022.pdfis<graph-root>/docs/papers— don't shell out todirname, it isn't one of this skill's allowed commands), then fetch:curl -L --fail --remove-on-error -o "<graph-root>/<doc_path>" "<source_url>"--remove-on-errormatters: without it, a failed fetch (404, paywall, network error) can leave a zero-byte or truncated file sitting atdoc_path, and a later run'slscheck would then wrongly treat that corrupt stub as "already present" and skip it forever.
-
-
Report a compact summary, not a blow-by-blow:
fetched N, already-present M, failed K. For each failure, name the node title, thesource_url, and the error (curl's exit status or stderr text) — a paywalled, moved, or unreachable source is expected for some entries; report it and move on to the rest of the list, never stop on the first failure.
What NOT to do
- Never overwrite a file that already exists at its
doc_path(step 3). - Never fetch a URL that isn't recorded as a
source_urlon some artifact node — this skill restores what's recorded, it doesn't go discover new material. - Never touch
graph/nodes/, and never commit or runsnapshot— this skill only populates the gitignoreddocs/cache; it has no graph-write or git side effects. - A failed fetch is reportable, not fatal — keep going through the rest of the list rather than aborting on the first bad URL.
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.
- 1mo ago First seen · 70 lines · 61 tokens per session scan A 90510e3d44f2
redraft-fetch-docs is a skill published in the GitHub repository KaelinGraf/redraft (3 stars, last pushed 3mo ago), licensed Apache-2.0. It adds 61 tokens to every session and 939 once invoked, about $0.0002 per session on Opus 5.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-31.
Other skills, from other repositories
pdf-processing
Extract text from PDFs, fill forms, and merge documents.
potpie-source-ingestion
Use when the user explicitly asks to ingest, refresh, or deeply understand a repository, PR, issue, ticket, runbook, incident report, document, or web link into Potpie. The harness performs todo-driven discovery, uses local/GitHub/integration tools and read-only subagents when available, builds evidence-backed…
potpie-resource-markdown
Use when the user asks to ingest a markdown or HTML document — an exported doc, wiki or Confluence page, web page, runbook, spec, or RFC — into Potpie so agents can search and cite it. Teaches the extraction-script flow: split on the heading tree into sections and 4k-char chunks, import with potpie resource import…
potpie-resource-pdf
Use when the user asks to ingest a PDF (report, contract, paper, manual, slide export) into Potpie so agents can search and cite it. Teaches the extraction-script flow: resolve the document's identity, split on the PDF's own structure into sections and 4k-char chunks, import with potpie resource import, write…
potpie-resource-spreadsheet
Use when the user asks to ingest a spreadsheet or CSV (cost report, inventory, tracker, export) into Potpie so agents can search and cite it. Teaches the extraction-script flow: one section per sheet, header-repeated row chunks, potpie resource import, summaries that carry the key figures, and — critically — deriving…
decision-records
Use when a hard-to-reverse choice (database, framework, vendor, auth model) must be frozen as an immutable numbered ADR — the context that forced it, the options weighed, the decision, consequences both ways — or superseded without erasing history. NOT a meeting recap (that is meeting-notes), NOT standing project…