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/nmdra/notebrain-cli/notebrainnpx skills add nmdra/notebrain-cli --skill notebraingit clone --depth 1 https://github.com/nmdra/notebrain-cliWhat 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 | $0.00130 | $0.02272 |
| Opus 5 | $0.00065 | $0.01136 |
| Sonnet 5 | $0.00026 | $0.00454 |
| Haiku 4.5 | $0.00013 | $0.00227 |
Grade A, and why
notebrain-assistant 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 2d 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 — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
NoteBrain Assistant Skill
NoteBrain indexes an Obsidian vault into local ChromaDB and answers read-only questions about it: semantic search, tag queries, graph structure, and note retrieval. It never mutates the vault — for writes, use standard file tools or obsidian-cli and keep NoteBrain for the discovery step.
References, read on demand:
- references/example.md — 18 worked scenarios, exact commands, verified pitfalls.
- references/flags.md — every flag, default, and config override.
- references/schema.md — JSON/TSV output shape,
--jsonpathuse.
Preflight (once per conversation)
notebrain stats --format=json
| Result | Do |
|---|---|
chunks: 0 |
The vault is unindexed — tell the user to run notebrain ingest first. Do not try to read the vault another way. |
| Binary missing / errors | Say NoteBrain isn't available and offer to check setup. Do not grep/find the vault instead. |
chunks > 0 |
Proceed. |
The config trap: ~/.notebrain/config/config.toml (or --config) overrides built-in flag defaults — include-text, context-window, min-score, limit, top-k all have config keys. If config enables text/context, every result carries text+context even without the flags. For lean output pass --include-text=false --context-window=0. If a query looks over-filtered, a configured min-score floor (e.g. 0.4) means low-score rows never appear — that's expected, not a bug. Details: flags.md.
Output format discipline
The CLI's default output format is text, but text is for humans — the agent always works from machine formats:
- Every invocation passes
--format jsonor--format tsvexplicitly. Never rely on the defaulttext. jsonis the default choice — the structured envelope carries nested fields (text,context,heading_path,tags,matched_queries). Shape: schema.md.tsvfor wide, shallow scans where columns suffice:tags --list,backlinks,connections,refsaudits, and--group-by-notenote lists.--jsonpathfor single-field extraction (slugs, scores, tags) — the leanest output; combine with--limit/--show-file-path=false.--format textonly when the output is for the human: showing a note body (get "<slug>") or when the user asks to see the raw CLI output. Never parse text output, and never paste decorated text (headers,#-chips, "Did you mean" hints) into an answer — everything the agent reads or summarizes comes fromjson/tsv.
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.
- 2d ago First seen · 114 lines · 130 tokens per session scan A 3b6a654a5a29
notebrain-assistant is a skill published in the GitHub repository nmdra/notebrain-cli (27 stars, last pushed 11d ago), licensed MIT. It adds 130 tokens to every session and 2,272 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-30.
Other skills, from other repositories
vector-databases
Vector database operations — embed, store, search, and build RAG pipelines.
commit
MUST invoke before creating any git commit. Provides commit message format and safety rules.
enzyme-sqlite-source
Connect an unfamiliar SQLite database to Enzyme without changing the source data. Inspect the database, decide which query columns represent identity, people, time, content, and folders, show real examples for approval, save the mapping in TOML, and verify init and refresh. Use for email, message, CRM, archive, or…
enzyme-workspace-setup
Enzyme workspace setup, re-setup, and repair. Use when the user asks to set up Enzyme, diagnose an existing setup, repair retrieval, or clean up an old setup before reinitializing. Existing .enzyme files or installed runtime instructions are not proof that setup is complete. Diagnoses read-only against what Enzyme…
mine
Mine a project or conversation into your MemPalace — extract and store memories for later retrieval.
mempalace-recall
Recall protocol for MemPalace — search the palace before answering about past work, people, projects, or prior decisions. Apply when the user asks what was decided, what happened before, who someone is, what was discussed last time, or anything that may already be filed in their memory palace; or when mempalace-recall…