Setup knowledge base
Skill techwolf-ai/ai-first-toolkit/plugins/knowledge-base/skills/setup-knowledge-base
Open-source Claude Code skills and Codex skills for AI-first work. Audit, re-engineer, and bootstrap projects with AI-first design principles.
npx -y skills add techwolf-ai/ai-first-toolkit --skill setup-knowledge-baseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Interactive onboarding to create a structured knowledge base. Defines categories, scaffolds the directory structure, creates the index, and optionally imports initial content. Run this first before using /kb-answer or /kb-import.
SKILL.md
4.7 KB, as published. Nobody here has run it
Knowledge Base Setup
Interactive setup that creates a structured, evidence-backed knowledge base in your project.
When to Use
- Starting a new knowledge base from scratch
- Adding a KB to an existing project
Step 1: Discover Purpose
Ask the user (one question at a time, use AskUserQuestion):
- What is this KB for? (e.g., product documentation, security/compliance, company knowledge, sales enablement, internal policies)
- Who will query it? (e.g., you personally, your team, AI agents answering questions)
- What categories make sense? Suggest 3-5 based on the domain, let the user adjust.
Example category suggestions by domain:
- Product docs: technical, integrations, deployment, security, faq
- Company knowledge: general, policies, processes, teams, faq
- Sales enablement: product, competitive, customer-success, pricing, faq
- Security/compliance: security, compliance, technical, general, faq
Step 2: Confirm Plan
Before creating anything, present the plan to the user:
I'll create this structure in your project:
kb/
.kb-config.yaml
index.md
scopes/
_default.yaml
README.md
{category1}/
{category2}/
{category3}/
scripts/
kb-index.py
kb-verify.py
kb-validate.py
kb-search.py
CLAUDE.md (or append to existing)
Ready to proceed?
Wait for user confirmation.
Step 3: Scaffold the KB
Read the template files from this plugin and adapt them for the user's project:
-
Read
templates/kb/.kb-config.yamlfrom this plugin. Createkb/.kb-config.yamlin the user's project, replacing the placeholder categories with the ones chosen in Step 1. Replace{{today}}with today's date. -
Read
templates/kb/index.mdfrom this plugin. Createkb/index.md, adding seed keywords for each chosen category. For example, if the user chose "security" and "technical", add initial keyword entries:| encryption, certificates, access | security/ | | API, architecture, deployment | technical/ | -
Read
templates/kb/scopes/_default.yamlfrom this plugin. Copy tokb/scopes/_default.yaml. -
Read
templates/kb/scopes/README.mdfrom this plugin. Copy tokb/scopes/README.md. -
Create empty directories for each chosen category:
kb/{category1}/,kb/{category2}/, etc. -
Read
scripts/kb-index.pyfrom this plugin. Copy toscripts/kb-index.pyin the user's project. -
Read
scripts/kb-verify.pyfrom this plugin. Copy toscripts/kb-verify.pyin the user's project. -
Read
scripts/kb-validate.pyfrom this plugin. Copy toscripts/kb-validate.pyin the user's project. -
Read
scripts/kb-search.pyfrom this plugin. Copy toscripts/kb-search.pyin the user's project.
Step 4: Create Project CLAUDE.md
Read templates/CLAUDE.md from this plugin. Create (or append to existing) CLAUDE.md in the user's project root. Replace {{category}} placeholders with the actual categories chosen in Step 1.
Step 5: Populate from Sources
The KB structure is ready, but empty. Ask the user:
"Do you have existing knowledge sources you'd like to import? (Notion pages, Slack channels, Confluence, local files)"
- If yes: run
/kb-refreshto populate the KB from those sources. It handles source discovery, scraping, and entry creation. - If no or skip: create one example entry in the first category to demonstrate the format. Read
templates/kb/example/sample-entry.mdfrom this plugin for the format, but write an entry relevant to the user's domain rather than copying the sample.
Step 6: Verify
Run the index script to confirm everything is wired up:
python3 scripts/kb-index.py
Regenerate the "All Files by Category" section of kb/index.md from the current entries:
python3 scripts/kb-index.py --write
Validate KB health (frontmatter, categories, related links):
python3 scripts/kb-validate.py
If kb-index.py lists the entries and kb-validate.py reports "All entries valid", setup is complete.
Step 7: Summary
Tell the user:
- What was created and where
- How to add new entries (create .md files with YAML frontmatter in the right
kb/{category}/folder; nested sub-folders likekb/security/access/are supported) - How to query the KB (
/kb-answer) - How to import documents or bulk-import a directory (
/kb-import) - How to add more sources or refresh existing ones (
/kb-refresh) - How to list all entries (
python3 scripts/kb-index.py) - How to search (
python3 scripts/kb-search.py "keyword")