Claude Skill

setup-knowledge-base

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.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download techwolf-ai-ai-first-toolkit-plugins_knowledge-base_skills_setup-knowledge-base-2ee7841.zip · 1 KB
Part of techwolf-ai/ai-first-toolkit — 20 skills

Install

skills CLI npx skills add https://github.com/techwolf-ai/ai-first-toolkit/tree/main/plugins/knowledge-base/skills/setup-knowledge-base
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install techwolf-ai-ai-first-toolkit@llmmart
Git git clone https://github.com/techwolf-ai/ai-first-toolkit.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole techwolf-ai/ai-first-toolkit collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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):

  1. What is this KB for? (e.g., product documentation, security/compliance, company knowledge, sales enablement, internal policies)
  2. Who will query it? (e.g., you personally, your team, AI agents answering questions)
  3. 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:

  1. Read templates/kb/.kb-config.yaml from this plugin. Create kb/.kb-config.yaml in the user's project, replacing the placeholder categories with the ones chosen in Step 1. Replace {{today}} with today's date.

  2. Read templates/kb/index.md from this plugin. Create kb/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/ |
    
  3. Read templates/kb/scopes/_default.yaml from this plugin. Copy to kb/scopes/_default.yaml.

  4. Read templates/kb/scopes/README.md from this plugin. Copy to kb/scopes/README.md.

  5. Create empty directories for each chosen category: kb/{category1}/, kb/{category2}/, etc.

  6. Read scripts/kb-index.py from this plugin. Copy to scripts/kb-index.py in the user's project.

  7. Read scripts/kb-verify.py from this plugin. Copy to scripts/kb-verify.py in the user's project.

  8. Read scripts/kb-validate.py from this plugin. Copy to scripts/kb-validate.py in the user's project.

  9. Read scripts/kb-search.py from this plugin. Copy to scripts/kb-search.py in 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-refresh to 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.md from 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 like kb/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")
Files (ai-first-toolkit)
  • SKILL.md 4.7 KB
    ---
    name: setup-knowledge-base
    description: |
      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.
    ---
    
    # 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):
    
    1. **What is this KB for?** (e.g., product documentation, security/compliance, company knowledge, sales enablement, internal policies)
    2. **Who will query it?** (e.g., you personally, your team, AI agents answering questions)
    3. **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:
    
    1. **Read** `templates/kb/.kb-config.yaml` from this plugin. Create `kb/.kb-config.yaml` in the user's project, replacing the placeholder categories with the ones chosen in Step 1. Replace `{{today}}` with today's date.
    
    2. **Read** `templates/kb/index.md` from this plugin. Create `kb/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/ |
       ```
    
    3. **Read** `templates/kb/scopes/_default.yaml` from this plugin. Copy to `kb/scopes/_default.yaml`.
    
    4. **Read** `templates/kb/scopes/README.md` from this plugin. Copy to `kb/scopes/README.md`.
    
    5. Create empty directories for each chosen category: `kb/{category1}/`, `kb/{category2}/`, etc.
    
    6. **Read** `scripts/kb-index.py` from this plugin. Copy to `scripts/kb-index.py` in the user's project.
    
    7. **Read** `scripts/kb-verify.py` from this plugin. Copy to `scripts/kb-verify.py` in the user's project.
    
    8. **Read** `scripts/kb-validate.py` from this plugin. Copy to `scripts/kb-validate.py` in the user's project.
    
    9. **Read** `scripts/kb-search.py` from this plugin. Copy to `scripts/kb-search.py` in 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-refresh` to 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.md` from 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:
    
    ```bash
    python3 scripts/kb-index.py
    ```
    
    Regenerate the "All Files by Category" section of `kb/index.md` from the current entries:
    
    ```bash
    python3 scripts/kb-index.py --write
    ```
    
    Validate KB health (frontmatter, categories, related links):
    
    ```bash
    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 like `kb/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"`)
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related