creating-kb

Solid

Builds a portable, embedding-free knowledgebase from a set of files and delivers it as a self-contained `.skill` bundle (BM25 index + bundled searcher + query protocol). Use when a user wants to turn uploaded files, a folder, or a corpus into a searchable knowledgebase they can hand to any agent — phrased as "make a knowledgebase", "build a KB skill", "package these docs for retrieval", "create a searchable bundle", or references to a `.skill` KB. The output runs anywhere with Node or Python — no model, no install, no network. Distinct from `bm25` (ephemeral in-session search) and `building-github-index` (markdown project-knowledge index).

AI & Automation 148 stars 5 forks Updated today MIT

Install

View on GitHub

Quality Score: 84/100

Stars 20%
72
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# creating-kb Turn a pile of files into a **portable, deployable knowledgebase**. The output is a `.skill` bundle — an ordinary zip — containing a BM25 inverted index, the chunk text, a pure-Node searcher, and a query protocol. It has no embedding model and no semantic search: retrieval is lexical, and the consuming agent supplies the semantic layer by expanding the query at search time. That is what makes the bundle portable — any agent that can run `node` can query it with no `npm install`, no model download, and no network. The whole toolchain is JavaScript so one implementation serves both this builder and the in-browser packer. Build with the bundled script; do not hand-roll the index. ``` SCRIPTS=/mnt/skills/user/creating-kb/scripts node $SCRIPTS/build_lexkb.js CORPUS_DIR --out /tmp/kb --name my-kb --zip ``` ## Workflow ### 1. Gather the sources Collect the files into one directory. In a Claude.ai chat, uploads land in `/mnt/user-data/uploads/` — point the builder there. Otherwise use any path the user names. Supported extensions default to `txt,md,html,htm`; pass `--ext` to change them. This MVP interface is bounded by how many files a chat can accept. For a large corpus, stage the files in a directory first, or use the browser packer (built from the same scripts) that runs entirely client-side. ### 2. Build the bundle ```bash SCRIPTS=/mnt/skills/user/creating-kb/scripts node $SCRIPTS/build_lexkb.js /mnt/user-data/uploads \ --out /tmp/kb --name my-kb --zip \...

Details

Author
oaustegard
Repository
oaustegard/claude-skills
Created
10 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

lexical-kb

Query a portable, embedding-free lexical knowledgebase bundled as a `.skill`. Use when the user references this KB or asks a question whose answer is in its corpus ({{SOURCE}}). Retrieval is BM25 over a precomputed inverted index — there is no embedding model, so YOU expand the query into search terms before searching. Bundle holds index.json + chunks.jsonl + search.js + search.py; pure stdlib, no install, no network.

148 Updated today
oaustegard
Data & Documents Solid

scribe-kb

Read, write, and search a scribe-managed knowledge base (markdown vault with frontmatter conventions, wikilinks, and qmd hybrid search). Use when the user's project has a scribe.yaml (KB root) or a .claude/<kb_name>/ drop-file directory (consumer side), or when they mention scribe, scriptorium, qmd, drop files, or "my KB". Covers frontmatter schema, wikilink syntax, drop-file pattern, search via qmd, and directory taxonomy.

61 Updated 2 days ago
oliver-kriska
AI & Automation Listed

project-knowledge

Build and maintain a durable, project-local knowledge base with provenance-tracked sources, injection-linted pages, and a generated index, using the bundled deterministic knowledge_tool.py CLI. Use when the user says "build a project knowledge base", "set up a knowledge layer", "register this source", "draft a knowledge page", "lint the knowledge pages", "regenerate the knowledge index", "export a knowledge bundle", or "/agent-collab:project-knowledge." Also offer this proactively when agent memory limits truncate project context across sessions, or when the same sources keep being re-read and re-synthesized because no durable, citable project-local record exists.

0 Updated 2 days ago
sumitake