kb-ingest

kb-ingest is a skill for Claude Code, Codex from ernestolee13/para-knowledge-base. It costs 51 tokens per session (3,150 once invoked), scanned A, original, MIT.

A document-intake workflow for a PARA knowledge base in Obsidian, a note-taking app. PARA organizes notes into Projects, Areas, Resources, and Archive, while this workflow classifies documents, links them, updates indexes, and validates the result.

In plain words
What is it for?
Use it to process notes from an Inbox, a file path, or a direct request to create or update wiki content.
Why use it?
It removes the repeated manual work of deciding where new notes belong and connecting them to related knowledge. It also keeps the knowledge base records and indexes consistent after changes.

Skill for Claude CodeCodex

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the para-knowledge-base plugin — 5 skills, 3 hooks shipped together

Install

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.

agentmods
npx agentmods add skills/ernestolee13/para-knowledge-base/kb-ingest
Any agent
npx skills add ernestolee13/para-knowledge-base --skill kb-ingest
Clone the repo
git clone --depth 1 https://github.com/ernestolee13/para-knowledge-base

Made for: Claude Code, Codex.

Or install para-knowledge-base, the plugin that ships this one along with the rest of its 5 skills, 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 kb-ingest

README.md
[![agentmods](https://agentmods.dev/badge/skills/ernestolee13/para-knowledge-base/kb-ingest.svg)](https://agentmods.dev/skills/ernestolee13/para-knowledge-base/kb-ingest)
Your own site
<a href="https://agentmods.dev/skills/ernestolee13/para-knowledge-base/kb-ingest"><img src="https://agentmods.dev/badge/skills/ernestolee13/para-knowledge-base/kb-ingest.svg" alt="Measured on agentmods" height="20"></a>
Per session 51 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,150 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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.00051 $0.03150
Opus 5 $0.00026 $0.01575
Sonnet 5 $0.00010 $0.00630
Haiku 4.5 $0.00005 $0.00315

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

Security

Grade A, and why

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

skills/kb-ingest/SKILL.md · 234 lines

How it starts

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

KB Ingest — Document Intake + Classification + Linking

Process new documents into the Knowledge Base. Reads content, classifies into the right PARA location, generates metadata, creates wikilinks, updates related documents, and maintains indexes.

Inbox/ is optional, not a prerequisite. Apply this workflow when the user directly asks to create, add, organize, or substantially integrate knowledge in the wiki. A direct write in its final PARA folder still performs ANALYZE, metadata, linking, index, validation, human log, and build telemetry steps; only MOVE is skipped.

Usage

/kb-ingest                      # Process all files in Inbox/
/kb-ingest path/to/file.md      # Process a specific file
/kb-ingest path/to/folder/      # Process all .md files in a folder
"위키에 이 내용을 만들어줘"       # Direct creation; route through the same workflow

Execution Flow

For each document to ingest:

0. START BUILD TELEMETRY

When telemetry is enabled, start one explicit ingest operation before reading or classifying source material. For a batch, start one operation for the whole batch, not one per file. Retain the exact operation_id and parent request_id printed by the bundled helper; reuse both in the summary.

PARA_KB_PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}"
python3 "$PARA_KB_PLUGIN_ROOT/scripts/para_kb_telemetry.py" build-start <<'JSON'
{"source":"kb-ingest-skill","source_kind":"inbox|direct|batch"}
JSON

Set source_kind from the actual entry route: inbox for an Inbox-origin document, direct for a direct wiki request or specified file, and batch for a multi-document run. The same bundled path works in Claude Code and Codex. Telemetry failure must not block a valid ingest, but do not invent or recover an operation id from a later unrelated request.

1. READ

  • Read full document content
  • Extract existing frontmatter (preserve if present)
  • Identify document type: paper, note, reference, meeting, idea, log, etc.
  • Note content length (affects summarization decision)

Read the full file on GitHub · 234 lines

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. 5d ago First seen · 234 lines · 51 tokens per session scan A 7602528a83a1

Subscribe to this mod's changes

kb-ingest is a skill published in the GitHub repository ernestolee13/para-knowledge-base (21 stars, last pushed today), licensed MIT. It adds 51 tokens to every session and 3,150 once invoked, about $0.0003 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-30.

Related

Other skills, from other repositories

ingest

Ingest a URL, file, raw text, or Inbox item into the LLM Wiki with the purpose gate, mothership link search, raw-source preservation, Wiki compilation, index/log update, and review; also responds to /ingest and 인제스트.

johnfkoo951/cmds-llm-wiki · 56 tokens

render-output

Convert vault content into downstream outputs like memos, reports, slide outlines, diagrams, and plot specifications.

arnaudgelas/K-Ops · 24 tokens

wiki-ingest

Ingest exactly one research paper or source document into an open-llm-wiki vault. Use when the user explicitly asks to add, ingest, process, or publish a paper into the wiki. The workflow parses the source, drafts a source page, runs independent QA, publishes only after the quality gate passes, extracts and normalizes…

AIwork4me/open-llm-wiki · 116 tokens

llm-wiki

Build and maintain a persistent, interlinked Obsidian-compatible markdown wiki using Karpathy's LLM Wiki pattern. Extension-backed with auto-generated metadata, guardrails, and 14 custom tools (+3 opt-in agent-trajectory tools).

zosmaai/pi-llm-wiki · 52 tokens

youtube-fetcher

Turn a YouTube video into a structured, Obsidian-ready archival Markdown note containing its transcript, creator metadata, description, chapters, language, and capture provenance. Use when a user shares a YouTube URL or video ID and wants transcripts, captions, subtitles, notes, a knowledge-base record, summarization…

JimmySadek/youtube-fetcher-to-markdown · 102 tokens

papers-download-from-list

Uses colocated paper download tools to download, verify, and repair local PDFs from obsidian-vault/paperlist.csv rows so that obsidian-vault/paperPDFs/ stays complete and deduplicated. Use when candidate rows are in state=Wait and should become Downloaded before the formal analysis chain.

RipeMangoBox/BITE · 75 tokens