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 skills add rvk7895/llm-knowledge-bases --skill kb-preferencesgit clone --depth 1 https://github.com/rvk7895/llm-knowledge-basesWrote 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/rvk7895/llm-knowledge-bases/kb-preferences)<a href="https://agentmods.dev/skills/rvk7895/llm-knowledge-bases/kb-preferences"><img src="https://agentmods.dev/badge/skills/rvk7895/llm-knowledge-bases/kb-preferences/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.
<a href="https://agentmods.dev/skills/rvk7895/llm-knowledge-bases/kb-preferences"><img src="https://agentmods.dev/badge/skills/rvk7895/llm-knowledge-bases/kb-preferences.svg" alt="Reviewed on agentmods" width="80" 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.00062 | $0.02621 |
| Opus 5 | $0.00031 | $0.01311 |
| Sonnet 5 | $0.00012 | $0.00524 |
| Haiku 4.5 | $0.00006 | $0.00262 |
Grade A, and why
kb-preferences 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.
How it starts
The opening of the file, as written. The whole thing — 220 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Overview
Manage the report_preferences: block in the vault's kb.yaml. This is a free-text preference store — each field is a prose instruction string that research-report, kb compile, and kb query read when generating output. Factory defaults come from plugins/kb/references/report-style-guide.md, which is consulted only at init / reset time.
Update path in three places:
- User runs
/kb-preferences ...explicitly — this skill. - User hand-edits
kb.yaml— no skill involvement. - Another skill's reflection step proposes updates after finishing a report — that skill calls into this one.
Every write confirms with the user first and logs the change to .meta/_preference_history.md. The kb.yaml and the history file are the only two places state lives.
Prerequisites
kb.yamlexists at the vault root. If missing, tell the user to runkb-initand stop.plugins/kb/references/report-style-guide.mdexists (plugin-shipped; should always be present)..meta/_preference_history.mdexists. If missing, create it with the template below before any write.
Fields managed
All fields under kb.yaml → report_preferences::
| Field | What it controls |
|---|---|
audience |
Who the report is written for; framing, polish, hedging |
register |
Tone, sentence style, vocabulary |
depth |
Items-covered × per-item-depth tradeoff |
code_handling |
Inline vs linked vs walkthrough, scaled by codebase count |
diagrams |
ASCII / mermaid / prose / tables |
self_containment |
Glossing, mini-profiles, no appendix deferrals |
citations |
arXiv-style rigor vs loose references |
argument_iteration |
Draft → advisor → verifier loop + "where this might be wrong" |
notes |
Free-form addendum; grows via reflection |
Modes
The skill detects mode from user invocation. Parse the arguments after /kb-preferences:
| Invocation | Mode | Action |
|---|---|---|
/kb-preferences (bare) |
interactive | Show current prefs, ask what to update |
/kb-preferences init |
init | Re-run the 5 init questions, regenerate all fields from style-guide + user answers |
/kb-preferences update <field> |
update-one | Focus on one field; re-ask matching question or accept free-text |
/kb-preferences add-note "..." |
add-note | Append the quoted string as a new line/paragraph under notes: |
/kb-preferences reflect |
reflect-now | Run the reflection step against the current conversation explicitly |
/kb-preferences review |
review | Print current report_preferences: block read-only |
/kb-preferences reset <field> |
reset-one | Copy factory default for one field; confirm first |
/kb-preferences reset-all |
reset-all | Full reset to defaults; confirm first |
/kb-preferences history |
history | Print .meta/_preference_history.md |
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.
- 10d ago First seen · 220 lines · 62 tokens per session scan A 7084381d01fe
kb-preferences is a skill published in the GitHub repository rvk7895/llm-knowledge-bases (37 stars, last pushed 2mo ago), licensed MIT. It adds 62 tokens to every session and 2,621 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.
Other skills, from other repositories
superbrain-distill
Internal SuperBrain skill — run by the detached capture child to distill a session-event delta into routed Obsidian notes. Not for direct user invocation.
wiki-dashboard
Create dynamic, queryable dashboard views of the Obsidian vault using Obsidian Bases or Dataview. Use this skill when the user says "create a dashboard", "vault dashboard", "show all X as a table", "dynamic view", "query my vault", "build a content index", "show me all concepts/entities/projects", or wants a…
daily-update
Run the daily wiki maintenance cycle: check all source freshness, update the index, and regenerate hot.md. Use this skill when the user says "/daily-update", "run the daily update", "update everything", "morning sync", "refresh the wiki index", or when triggered by the launchd cron at 9 AM. Also use to set up or…
wiki-switch
Switch between multiple Obsidian wiki vault profiles. Use this skill when the user says "/wiki-switch NAME", "switch to my work wiki", "switch vault", "change wiki", "which wiki am I on", "list my wikis", "show my vaults", "create a new vault config", or "add a new wiki profile". The skill manages named config files…
knowledge-base-management
A lifecycle system for managing an Obsidian knowledge base, which is a folder of linked notes. It organizes raw material, AI-maintained wiki pages, and generated views into separate layers.
link-memory
Use after important user-approved decisions, when durable context should be proposed or reviewed, and for explicit Link memory lifecycle work: remember, recall, review, update, archive, restore, forget, or explain local memories through the CLI without requiring MCP.