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 agentmods add skills/kitchen-engineer42/joharnessburg/knowledge-extractionnpx skills add kitchen-engineer42/joharnessburg --skill knowledge-extractiongit clone --depth 1 https://github.com/kitchen-engineer42/joharnessburgWrote 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/kitchen-engineer42/joharnessburg/knowledge-extraction)<a href="https://agentmods.dev/skills/kitchen-engineer42/joharnessburg/knowledge-extraction"><img src="https://agentmods.dev/badge/skills/kitchen-engineer42/joharnessburg/knowledge-extraction.svg" alt="Measured on agentmods" 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.00084 | $0.01849 |
| Opus 5 | $0.00042 | $0.00924 |
| Sonnet 5 | $0.00017 | $0.00370 |
| Haiku 4.5 | $0.00008 | $0.00185 |
Grade A, and why
knowledge-extraction 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 5d 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 — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
knowledge-extraction
The phase where chunks become entries. This is where the vertical axis of John's matrix earns its keep — hundreds of subagents in parallel, each processing one chunk, each emitting events the reducer folds into canonical state. Without subagent fan-out, this phase doesn't scale.
Where the work happens
- Inputs:
<project>/.john/chunks/<chunk-id>.md+<project>/.john/chunks/chunks_index.json(from [[chunking]]) - Schema reference: PLAN.md app-type definition section (per [[schema-design]])
- Outputs: subagents emit to
<project>/.john/events/extract/<chunk-id>/<subagent-id>-*.json(one file per event; exact event shapes and filename suffixes are in theknowledge-extractoragent definition); reducer (${CLAUDE_PLUGIN_ROOT}/scripts/reduce_events.py extract) folds to<project>/.john/checkpoints/extract/state.json; canonical state then drives [[knowledge-rewrite]].
The MECE sweep
Extract "everything there is" OR "everything needed for what" — which one depends on the project's intent. Decide that early and let it shape the sweep.
- Comprehensive sweep: "extract everything there is in this corpus that matches the schema." Right for encyclopedic projects, regulations, broad knowledge bases.
- Goal-directed sweep: "extract everything needed to answer X." Right for narrow apps where coverage outside the goal is wasteful.
Either way, MECE applies to coverage within the chosen scope: don't extract the same entry twice; don't leave the scope partially covered. Dedup across chunks happens later, in the rewrite phase (see [[knowledge-rewrite]]'s two-tier dedup) — the shipped reducer folds events without deduplicating; your job is to give that pipeline good raw events.
Fan-out per chunk
For each chunk, dispatch a subagent. Brief them comprehensively (per [[subagent-dispatch]]'s checklist):
- Project intent (from PLAN.md top).
- The chunk they're processing — the chunk file path or contents.
- The schema reference — what an entry looks like, what fields, what cross-link semantics.
- The event log target — where to write events (
<project>/.john/events/extract/<chunk-id>/). - What to return — a one-line digest. No raw extracted content in the digest; that's in the event log.
- What NOT to do — don't write canonical state directly; don't ask the user; don't try to dedupe across chunks (the reducer does that).
What ships with it
3 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.
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.
- 5d ago First seen · 112 lines · 84 tokens per session scan A 826cb56a9f85
knowledge-extraction is a skill published in the GitHub repository kitchen-engineer42/joharnessburg (9 stars, last pushed 1mo ago), licensed MIT. It adds 84 tokens to every session and 1,849 once invoked, about $0.0004 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.
Other skills, from other repositories
add-ai-webapi
Integrates Power Pages generative-AI summarization APIs (PREVIEW) into a Single Page Application (SPA) site — the Search Summary API and the Data Summarization API — on any record-detail or list page. Generates per-target service code (CSRF-handled) and AI site settings; delegates Web API settings, table permissions…
ai-ml-governance
Governs models and AI systems in production — intended use, evaluation, monitoring, human oversight, documentation, and the decision to deploy or retire. Use this before deploying a model or AI feature, when defining evaluation criteria, when a model's behavior has drifted, when assessing AI risk or regulatory…
cloudflare-workers-ai
Cloudflare Workers AI for serverless GPU inference. Use for LLMs, text/image generation, embeddings, or encountering AIERROR, rate limits, token exceeded errors.
nano-banana
This skill should be used for Python scripting and Gemini image generation. Use when users ask to generate images, create AI art, edit images with AI, or run Python scripts with uv. Trigger phrases include "generate an image", "create a picture", "draw", "make an image of", "nano banana", or any image generation…
edit-for-readability
Applies Han's shared Human-Readable Output Standard to a target you already have — a file on disk, text pasted into the prompt, or a draft already produced in the conversation — by dispatching the readability-editor to rewrite its prose so the main point comes first, headings are descriptive, each paragraph carries…
futuresearch-python
Use when the user wants forecasts (probabilities, dates, numbers, odds) or dataset research at scale via FutureSearch.