We have the most powerful AI coding agents in history running right in our terminals, yet when it comes to researching our own documents, they still lack basic boundaries.
Point a standard agent at a local folder of PDFs, books, or notes and ask it to synthesize a concept. Half the time, it acts like an overly eager intern—confidently hallucinating a paper that doesn't exist, or blending three different authors into one contradictory mess.
Google completely solved this friction point with NotebookLM (recently rebranded to Gemini Notebook). It grounded the AI to a strict set of provided sources, killing the hallucination engine and forcing verifiable citations. It is brilliant. But it’s also a closed, cloud-only ecosystem.
I love the concept, but I wanted that exact magic running completely open-sourced, and accessible to any AI agent I happened to be using in my terminal.
So, I built it.
Meet agentic-notebook
agentic-notebook turns any local folder of documents into a strictly grounded research workspace for your AI agent.
Point your agent at a directory, and the skill indexes everything inside it into a local .notebook/ directory. From that moment on, the agent answers questions only from those sources. No invented sources. No guessing.
Key Features:
- Zero hallucinations. If the answer isn't in your folder, the agent will honestly give you a "the sources don't cover this" response.
- Exact, verifiable citations. Every claim comes with a receipt (
[1] book.pdf · p.41 · "exact quote from the page"). - Massive file support. It handles PDFs (with built-in OCR for scanned books), EPUB, DOCX, PPTX, Markdown, HTML, CSV, plain text, code, and subtitles. If your agent can transcribe or read them, it even supports audio, video, and image sources.
- Fully multilingual. Indexing and search work across non-English scripts—Cyrillic, Greek, accented Latin (accent-insensitive), right-to-left (Arabic/Hebrew), Indic, and CJK (with character-level matching). For scanned books in other languages, point OCR at the right language with
--ocr-lang(e.g.--ocr-lang deu+eng). .noteignoresupport. Drop a.noteignorefile at the folder root to keep files out of the index using simple gitignore-style globs (drafts/,*.log). Add a pattern later and the already-indexed matches are pruned on the next run.- Local indexing (with one caveat). The sources are read in place, and all indexed outputs live strictly inside that folder's
.notebookdirectory. However, keep in mind that if you use a cloud-based agent like Claude Code or Copilot, the agent will still read this data to generate its answers. Keep highly sensitive personal data out unless you are pairing this tool with a strictly local LLM.
Two variants: frontier and mini
agentic-notebook now ships in two flavors, so you can match it to whatever model you're running:
agentic-notebook— the full-power variant, tuned for frontier/large models.agentic-notebook-mini— a lean variant built for small local models (7–14B) running via Ollama, llama.cpp, LM Studio, or vLLM. It adds a disk-backed task ledger, fused compact search,--tocskimming for quick document overviews, and command quotas to keep smaller models on-track.
Pick the full variant when you have headroom; reach for mini when you're running fully local on modest hardware.
Getting Started
Because it’s built on the skills CLI standard, it works out of the box with Claude Code, Gemini CLI, Cursor, Codex, Copilot, OpenCode, and virtually any other modern agent.
To install it globally, run:
npx skills add Harduex/agentic-notebook
# pick the variant (agentic-notebook or agentic-notebook-mini) when prompted
(Claude Code users can alternatively grab it as a plugin. Add the marketplace, then install whichever variant you want:)
/plugin marketplace add Harduex/skills
/plugin install agentic-notebook@harduex # frontier / large models
/plugin install agentic-notebook-mini@harduex # small local models
Once installed, just point it at your target folder with a natural language prompt:
Act as a notebook over ./my-books — what do these authors disagree about on mastering loudness?
On the first run, the tool quietly spins up the .notebook workspace and indexes the files. After that, you have a completely grounded research assistant.
Skill Stacking: The Ultimate Study Environment
Retrieving facts is just the baseline. Where this tool really shines is when you start combining it with other agentic skills.
For example, you can stack it with Matt Pocock's excellent teach skill. Point agentic-notebook at a folder full of complex programming books or lesson materials to index the raw knowledge, and then invoke the teach skill to have the agent actively tutor you based only on the verifiable facts from those specific books. You can ask for flashcards, study guides, quizzes, briefing docs, timelines, or mind maps, and every single answer will be strictly backed by your actual files.
The Requirements
You need Python 3.9+ installed on your system, and optionally tesseract (or easyocr) if you want to parse scanned books. But the bundled scripts prioritize the standard library, keeping the footprint light and auto-detecting PDF libraries when present.
The scripts themselves are plain, readable Python. As you always should with any skill that ships scripts, read them before installing.
We are moving past the era of just throwing raw text at an LLM and hoping for the best. Context is everything.
Your agent finally has a structured memory. Time to ask better questions.