Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add doneyli/claude-code-plugins/plugin install llm-wikiWrote 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/commands/doneyli/claude-code-plugins/ingest)<a href="https://agentmods.dev/commands/doneyli/claude-code-plugins/ingest"><img src="https://agentmods.dev/badge/commands/doneyli/claude-code-plugins/ingest/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/commands/doneyli/claude-code-plugins/ingest"><img src="https://agentmods.dev/badge/commands/doneyli/claude-code-plugins/ingest.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.00065 | $0.01937 |
| Opus 5.5 | $0.00026 | $0.00775 |
| Sonnet 5.5 | $0.00013 | $0.00387 |
| Haiku 4.5 | $0.00006 | $0.00194 |
Grade A, and why
ingest scanned grade A with 0 findings 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Compile raw sources into the wiki following the workflow in ${CLAUDE_PLUGIN_ROOT}/skills/wiki-compiler/SKILL.md.
Step 0 — Auto-convert non-markdown files
Before ingesting, check if any target files are non-markdown. Claude Code can natively read these formats — use the Read tool to read them, extract the content, and write a .md conversion into raw/.
Natively convertible formats (no external tools needed):
| Extension | How to convert |
|---|---|
.pdf |
Read the PDF (up to 20 pages). Write a markdown version preserving headings, lists, tables, and key content. |
.png, .jpg, .jpeg |
Read the image (multimodal). Write a markdown file with a description/caption and any visible text (OCR). |
.csv, .tsv |
Read the file. Write a markdown file with the data as a markdown table (first 100 rows) and column summary stats. |
.json |
Read the file. Write a markdown file: arrays-of-objects as tables, nested objects as nested headings. |
.html, .htm |
Read the file. Extract the article body, strip nav/footer/ads, write clean markdown. |
.ics |
Read the file. Write a chronological event listing (date, title, location, description). |
.eml |
Read the file. Write markdown with Subject/From/To/Date in frontmatter and body as content. |
.txt |
Read the file. Wrap in frontmatter, keep body verbatim. |
Not natively convertible (warn the user):
.docx→ suggest:pandoc -f docx -t gfm file.docx > raw/file.md.pptx→ suggest: installpython-pptxor use the CLI'sllm-wiki import.m4a,.mp3,.wav→ suggest: installwhisper.cppor use the CLI.mbox→ suggest: use the CLI'sllm-wiki import
Conversion procedure for each non-md file:
- Read the file using the Read tool (Claude natively handles PDF, images, CSV, etc.)
- Write a converted markdown file to
raw/<slug>.mdwhere slug = kebab-cased original filename. Include this frontmatter:--- source_type: pdf | image | csv | json | html | ics | eml | txt source_path: <original file path> imported_at: YYYY-MM-DD original_title: <extracted title or filename> conversion_tool: claude-native conversion_confidence: high | medium | low ---highfor text-based (CSV, JSON, HTML, EML, ICS, TXT)mediumfor PDF (layout may lose structure)lowfor images (OCR/description is approximate)
- Move the original file to
raw/_originals/<original-name>(create_originals/if needed) - Proceed to ingest the new
.mdfile
Important: the PreToolUse hook blocks writes to raw/. For this conversion step ONLY, write the .md files using the Write tool — the hook allows writes to raw/*.md and raw/_originals/. It blocks edits to existing raw files, not creation of new converted markdown.
Wait — the hook blocks ALL writes to raw/. For the conversion step to work, you need to write the converted .md into raw/. Two options:
- Write the converted content to a temp location, then tell the user to move it into
raw/. Clunky. - Better: write the converted
.mddirectly intowiki/_converted/as an intermediate staging area, then ingest from there.
Actually simplest: just ingest the non-md file directly — read it via the Read tool, and proceed with the normal ingest workflow (steps 1-7 below) using the file's content as if it were markdown. No intermediate .md file needed. The source file stays in raw/ untouched, and wiki pages cite it as raw/<original-filename> in their sources: frontmatter.
Use this approach: When you encounter a non-md file, read it natively, hold its content in memory, and proceed with the ingest workflow below. The wiki page's sources: field cites the original file (e.g., raw/report.pdf). No conversion step writes to disk.
For unsupported formats, print a warning and skip: "Skipping raw/<file> — format not supported natively. Use the CLI's llm-wiki import to convert."
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 · 119 lines · 65 tokens per session scan A 079c86345661
ingest is a command published in the GitHub repository doneyli/claude-code-plugins (4 stars, last pushed 6mo ago), licensed MIT. It adds 65 tokens to every session and 1,937 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
brand-generate
Generate an on-brand document from a saved Brand Profile.
cti-report
Render case deliverables — relationship graph (PNG/SVG/Mermaid) and a polished PDF/DOCX assessment. Usage: /cti-report [--graph|--pdf].
render-figures
Compile all .tex and .typ figure files in a directory.
ppt-image2-editable-rebuild
Rebuild image2 or imagegen reference slides as editable PowerPoint decks.
harness-onboarding
Generate a human-readable onboarding document from HARNESS.md, AGENTS.md, and REFLECTIONLOG.md — a friendly guide for new team members.
publish-api-docs
Generate interactive API documentation from blueprint specs (Swagger UI, Redoc, AsyncAPI).