kb-setup — bring up the project knowledge base
SkillSearchSet up, initialize, or configure the local markdown knowledge base for a project. Use when the user says "set up the knowledge base", "init the KB", "configure the markdown KB", "index my docs", "add a doc source to the KB", or wants the project''s markdown searchable by `kb search`. Wraps `kb init` end-to-end through `kb index` and a smoke `kb search`.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the kb-setup — bring up the project knowledge base skill
What this skill tells your AI
The instructions your AI receives, as published by blackbelttechnology/pi-agent-dashboard in packages/kb/skill/kb-setup/SKILL.md and read by ahel’s review.
@blackbelt-technology/pi-dashboard-kb builds a zero-token, local SQLite/FTS5
index over this project's markdown so kb-search can retrieve before answering.
This SKILL does the one-time bring-up. Retrieval is pull (the agent calls
kb); nothing is auto-injected.
When to Use
- User asks to set up / init / configure the knowledge base.
- No
.pi/dashboard/knowledge_base.jsonexists yet and the project has docs. - User wants to add a doc source (local dir, npm package docs, git handbook).
Procedure
- Detect existing config. Check
.pi/dashboard/knowledge_base.json(project) and~/.pi/dashboard/knowledge_base.json(global). Runkb configto see the resolved layering. If a project config already exists and is healthy, skip to step 5 (smoke search) unless the user wants changes. - Choose scope + sources. Ask (if unclear) whether to write project or
global config. Pick
sources[]:- local doc dir:
{ "kind": "filesystem", "ref": "docs", "priority": 10 }(higher priority = preferred when the same content appears in two roots) - AGENTS.md / CLAUDE.md: covered by
indexAgentsFiles: true(default on) - source-tree
*.md: covered byincludeSourceMarkdown: true(default on) - remote sources (npm/git/https) require trust-on-first-use — defer unless the user explicitly asks; remote resolvers land in a later phase.
- local doc dir:
- Scaffold.
kb init [--global] [--source <ref>]... [--dry-run]. Review the--dry-runoutput with the user, then run for real.kb initrefuses to clobber an existing config without--force, and gitignores thedbPath. - Index.
kb index→ reports files scanned / changed / chunks. First run is the cold index; later runs are incremental (mtime → sha256). - Smoke search.
kb search "<a real term from the docs>" --limit 5and confirm ranked{path, headingPath, score, snippet}come back. If empty, checkkb configshows the rightsourcesand that the dir has.mdfiles. - Point the user at the
kb-searchSKILL for everyday retrieval.
Pitfalls
- Do NOT overwrite an existing config without confirming — use
--forceonly after the user agrees. dbPathmust be gitignored;kb initdoes this for project configs. For a customdbPathoutside the project, add the gitignore entry yourself.- No
sources[]→kb indexexits 2. Always seed at least one filesystem source.
Verification
kb configprintsorigin,dbAbsPath, and the resolvedsourceslist.kb indexreportsN files … M chunksandstore.counts()JSON.kb search "<term>"returns ranked hits with snippets.
Signals
- GitHub stars
- 283
- Forks
- 41
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
kb-setup- Source
- github.com/blackbelttechnology/pi-agent-dashboard