parsing

parsing is a skill for Claude Code from kitchen-engineer42/joharnessburg. It costs 112 tokens per session (2,180 once invoked), scanned A, original, MIT.

A document-ingestion guide that turns PDFs, Word files, and other raw documents into structured Markdown. It helps an agent choose suitable parsing and OCR steps based on the files and available tools.

In plain words
What is it for?
Use it to inventory and parse project source files, including scanned PDFs that need OCR. It is also for preparing documents for later extraction or analysis.
Why use it?
It removes the need to manually inspect mixed document collections or guess which parsing method will work. The structured output can then be used by later project stages.

Skill for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable. Also seen: mentions subagents.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the john plugin — 28 skills, 5 commands, 5 agents, 3 hooks shipped together

Good fit Use it to inventory and parse project source files, including scanned PDFs that need OCR. It is also for preparing documents for later extraction or analysis.

Compare 6 skills from other repositories ↓
Install

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.

Claude Code
/plugin marketplace add kitchen-engineer42/joharnessburg
Claude Code
/plugin install john

Made for: Claude Code.

Or install john, the plugin that ships this one along with the rest of its 28 skills, 5 commands, 5 agents, 3 hooks.

Wrote 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.

agentmods badge for parsing

README.md
[![agentmods](https://agentmods.dev/badge/skills/kitchen-engineer42/joharnessburg/parsing/github.svg)](https://agentmods.dev/skills/kitchen-engineer42/joharnessburg/parsing)
Your own site
<a href="https://agentmods.dev/skills/kitchen-engineer42/joharnessburg/parsing"><img src="https://agentmods.dev/badge/skills/kitchen-engineer42/joharnessburg/parsing/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.

agentmods 80×15 button for parsing

Your own site · 80×15
<a href="https://agentmods.dev/skills/kitchen-engineer42/joharnessburg/parsing"><img src="https://agentmods.dev/badge/skills/kitchen-engineer42/joharnessburg/parsing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 112 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,180 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00112 $0.02180
Opus 5 $0.00056 $0.01090
Sonnet 5 $0.00022 $0.00436
Haiku 4.5 $0.00011 $0.00218

Measured 10d ago against content hash f7d4f6eea51b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

parsing 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 10d 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.

plugins/joharnessburg/skills/parsing/SKILL.md · 105 lines

How it starts

The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.

parsing

The first useful thing John does on any project: read the user's raw input materials and produce structured markdown the rest of the pipeline can consume. This skill teaches a capability ladder — probe what you have, start at the cheapest rung that works, and escalate when the output isn't good enough for the job.

Probe first

Before parsing anything, take stock of two things and write the result into PLAN.md's parse-phase notes:

  1. The corpus: file types, counts, sizes, and structure. Is it native-PDF or scanned? Office formats? A folder tree of small files? One 2,000-page monster? A quick inventory (ls -R + reading the first KB of representative files) tells you which rungs you'll need.
  2. The environment: which rungs are available. markitdown is in-process (pip install markitdown); ppx is usable only if $JOHN_PPX_CLIENT_URL is set and /readyz returns HTTP 200 with status: "ready", service identity, and capabilities. /healthz is liveness only. Probe, don't assume — a missing rung changes routing, and discovering that mid-fan-out wastes a phase.

Echo what you found ("32 PDFs (~8 scanned), 5 DOCX, ppx reachable at :8501") before routing. Cheap self-check: if the inventory is wrong, every downstream decision is wrong.

The capability ladder

Three rungs, cheapest first. The default path for a fresh git clone of John (no servers running) is rungs 0–1 — never block on rung 2 being absent.

  • Tier 0 — agent-native. Read text, markdown, code, and simple/small PDFs directly. For small or already-clean inputs, use no parser at all: copy into parsed/ with a metadata.json for consistency (or reference the file directly at the chunking step).
  • Tier 1 — markitdown, the universal in-process default. ${CLAUDE_PLUGIN_ROOT}/scripts/markitdown_parse.py. DOCX, PPTX, XLSX, HTML, plain formats. Pure Python, no server. See references/markitdown-recipe.md.
  • Tier 2 — ppx, the high-fidelity PDF path when present. ${CLAUDE_PLUGIN_ROOT}/scripts/ppx_parse.py, a thin HTTP client to the server at $JOHN_PPX_CLIENT_URL (default http://localhost:8501). Layout-aware parsing, table/figure structure, OCR routing for scans, structured doc.json alongside doc.md. Use it for all PDFs when the readiness probe passed; otherwise PDFs fall to Tier 1/0 with the quality caveat below. Pass a destination that does not yet exist—the client and service publish the complete artifact set atomically, and an existing destination is a conflict. The URL is the contract — any backend speaking the same HTTP shape can serve this rung (see references/parser-backend-swapping.md).

Read the full file on GitHub · 105 lines

Files

What ships with it

4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

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.

  1. 10d ago First seen · 105 lines · 112 tokens per session scan A f7d4f6eea51b

Subscribe to this mod's changes

parsing is a skill published in the GitHub repository kitchen-engineer42/joharnessburg (9 stars, last pushed 2mo ago), licensed MIT. It adds 112 tokens to every session and 2,180 once invoked, about $0.0006 per session on Opus 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.

Related

Other skills, from other repositories

book-capture

Capture book pages from Mac Kindle, Apple Books, Kindle Cloud Reader, PDF files, or photos of a physical book, then OCR and generate structured Obsidian Markdown. Activates when user mentions capturing a book, Kindle screenshots, Apple Books capture, book OCR, book-to-markdown conversion, photographing a paper book…

masterleopold/book-capture · 80 tokens

wise-markitdown

File-to-markdown text extraction via Microsoft's markitdown CLI — the ONE tool to reach for whenever text/content must be extracted from a binary or structured file: PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx/.xls), images (EXIF metadata), audio (metadata + transcription), HTML, CSV/JSON/XML, ZIP archives…

e1024kb/wise-claude · 195 tokens

md-to-pdf

Convert Markdown to PDF via reportlab or weasyprint engines. Triggers - pdf, md to pdf, markdown to pdf, generate pdf.

kochetkov-ma/claude-brewcode · 34 tokens

especialista-em-instrucao-de-trabalho

Especialista em Instrução de Trabalho (IT). Use para detalhar como executar uma tarefa específica: passos granulares, imagens, parâmetros e segurança. Palavras-chave: instrução de trabalho, IT, tarefa, passo a passo, detalhamento, execução, segurança.

euwebertdefreitas/ai-skills-for-claude-code · 65 tokens

deck-publish

Publish presentation decks by converting HTML to PDF or PowerPoint (PPTX). Three modes: PDF (for distribution and archiving), screenshot PPTX (pixel-perfect, default — slides are images), and editable PPTX (real editable text boxes and shapes). Use this skill whenever the user wants to publish a deck, export slides…

harakiro/harakiro-marketplace · 144 tokens

pdf

PDF files: create, read, merge, fill, OCR, edit text.

NousResearch/hermes-agent · 18 tokens