Agent skill

Knowledge Base From Vault

by skrun-dev in skrun-dev/skrun

Turn a folder of Markdown notes (Obsidian vault, Notion export, plain repo docs) into a navigable static HTML knowledge base bundled as a single .zip file.

MITAuto-check passedKnowledge Management

Install Knowledge Base From Vault

skills CLI
$ npx skills add skrun-dev/skrun --skill knowledge-base-from-vault -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install skrun-dev/skrun knowledge-base-from-vault --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/skrun-dev/skrun.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/knowledge-base-from-vault .claude/skills/knowledge-base-from-vault && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
knowledge-base-from-vault
GitHub stars
210
Token cost
~1.4k tokens
SKILL.md length
639 words
Files
11 (incl. scripts)
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Turn a folder of Markdown notes (Obsidian vault, Notion export, plain repo docs) into a navigable static HTML knowledge base bundled as a single .zip file.

  • Works in 7 steps: Read the vault — call read_vault with… → Extract concepts — for each note,… → Update the concept graph (deep merge… → …
  • Given a Markdown vault and asked to publish
  • SKILL.md covers State you receive, Workflow, Style and Failure modes
  • Runs TypeScript scripts from its folder

What it does

Knowledge Base From Vault is an agent skill from skrun-dev/skrun. Turn a folder of Markdown notes (Obsidian vault, Notion export, plain repo docs) into a navigable static HTML knowledge base bundled as a single .zip file. Maintains a persistent concept graph across runs — concepts that appear in multiple runs gain prominence, and the index becomes denser over time. Use when given a Markdown vault and asked to publish, share, or render it as a browsable site.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files, including scripts (for example `README.md`, `agent.yaml` and `fixtures/sample-vault/concepts/cluster-design.md`).

It sits in Knowledge Management, covering Knowledge bases and Note-taking. It works with Obsidian and Notion. The repository describes itself as: Deploy any Agent Skill as an API via POST /run. The open-source multi-model alternative to Claude Managed Agents, Microsoft Foundry & Mistral/Koyeb — works with any LLM. The licence is MIT.

When your agent uses it

  • Given a Markdown vault and asked to publish
  • Render it as a browsable site

Example prompts

  • “/knowledge-base-from-vault”

Requirements

  • Node.js

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Read the vault — call read_vault with the user's vault_dir. The tool returns an array of
  2. Extract concepts — for each note, identify 3–7 key concepts
  3. Update the concept graph (deep merge with prior state)
  4. Build the index page — index.html body
  5. Build per-note pages — for each note in the vault
  6. Call build_site_zip — pass the full pages array (index + all per-note pages), the chosen theme (default "light"), and site_title.
  7. Return structured output

What it can do on your machine

Read from SKILL.md and the folder at commit b1d963b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (TypeScript), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Knowledge Base From Vault loads about 1.4k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 639 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~106
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from skrun-dev/skrun at commit b1d963b, republished under its MIT licence (© skrun-dev). 639 words, ~1,388 tokens.

Download SKILL.mdSave it as .claude/skills/knowledge-base-from-vault/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
knowledge-base-from-vault
description
Turn a folder of Markdown notes (Obsidian vault, Notion export, plain repo docs) into a navigable static HTML knowledge base bundled as a single .zip file. Maintains a persistent concept graph across runs — concepts that appear in multiple runs gain prominence, and the index becomes denser over time. Use when given a Markdown vault and asked to publish, share, or render it as a browsable site.

Knowledge Base from Vault

You are a knowledge curator. You take a folder of unstructured Markdown notes and turn it into a polished, navigable static site (single kb.zip artifact). Across multiple runs, you maintain a concept graph — terms that appear in multiple vaults gain count and importance, building a richer index over time.

State you receive

If this is not the first run, the runtime injects Previous state containing the concept graph:

json
{
  "concept_graph": {
    "event-sourcing": {
      "count": 3,
      "first_seen_run": "2026-04-15",
      "last_seen_run": "2026-04-22",
      "related_pages": ["concepts/event-sourcing.html", "how-to/event-replay.html"]
    }
  },
  "runs_processed": 4
}

If no state, treat as the first run with concept_graph: {} and runs_processed: 0.

Workflow

  1. Read the vault — call read_vault with the user's vault_dir. The tool returns an array of:

    { path, slug, title, frontmatter, headings, internal_links, content_preview }

    where internal_links are both [[wiki-style]] and [markdown](url) references.

  2. Extract concepts — for each note, identify 3–7 key concepts:

    • Extract candidates from H2/H3 headings, bolded terms, and [[wiki-links]].
    • Normalize to kebab-case, lowercase.
    • Skip generic terms ("the", "and", "introduction"), short tokens (< 3 chars), and stopwords.
  3. Update the concept graph (deep merge with prior state):

    • For each concept seen in this run:
      • If new: add { count: 1, first_seen_run: today, last_seen_run: today, related_pages: [pages_containing_it] }.
      • If existing: increment count, update last_seen_run to today, union related_pages with new findings.
    • Today is derived from the run date — use 2026-04-26 if no other source available.
  4. Build the index page — index.html body:

    • Site title H1
    • Short paragraph (1-2 sentences) describing the vault's contents (synthesize from note titles)
    • "All notes" section: a <ul> with one <li> per note (linked to its slug.html)
    • "Concept index" section: a <ul> of the top concepts by count (descending). Each item: concept name + count badge (e.g., "event-sourcing (3 runs)") linked to a fragment on the page or to a per-concept page if you generated one.
    • "Stats" footer: <p> with pages_count, concept_count, runs_processed.
  5. Build per-note pages — for each note in the vault:

    • filename: derive from slug (e.g., concepts/event-sourcing.html). Must be a flat filename relative to the zip root — convert subdirs into prefixes if needed (e.g., a note at concepts/event-sourcing.md becomes filename concepts-event-sourcing.html). Prefer flat layout for the zip.
    • title: the note's H1 or filename if no H1.
    • body_html: render the Markdown to HTML. You may use simple translation:
      • # H1 → <h1> (only the first one is hoisted to title; subsequent stay inline)
      • ## H2, ### H3 → <h2>, <h3>
      • **bold** → <strong>
      • Paragraphs separated by blank lines → <p>...</p>
      • [text](url) → <a href="url">text</a>
      • [[wiki]] → <a href="wiki.html">wiki</a> (resolve against vault slugs; if no match, leave as plain text in <code>)
      • Code fences ``` → <pre><code>...</code></pre> (escape HTML in code)
      • Lists: contiguous - item lines → <ul><li>...</li></ul>
    • Include a "Backlinks" section at the bottom: notes that link TO this note. Render as a <ul> of <a>. Omit the section if no backlinks.
  6. Call build_site_zip — pass the full pages array (index + all per-note pages), the chosen theme (default "light"), and site_title.

  7. Return structured output:

    • site_zip_path: from the tool response
    • concept_count: total distinct concepts in the updated graph
    • link_count: total internal links resolved across all notes (count occurrences, not unique edges)
    • pages_count: 1 (index) + (number of notes)
    • runs_processed: previous value + 1
    • _state: the updated concept_graph + new runs_processed
Show full SKILL.md (146 more words)Show less

Style

  • HTML body should be valid HTML5 fragments, not full documents (the build_site_zip tool wraps each page in the site envelope with <html>, <head>, <body>, nav, and theme CSS).
  • Don't include <style> blocks per page — themes are handled by the bundler.
  • Be lenient on Markdown — vaults are real, messy, and may have non-standard formatting. Render what you can; don't crash on edge cases.
  • Concept names in the index should display in the original casing the author used (e.g., "Event Sourcing", not "event-sourcing"). The slug stays kebab-case for the link.

Failure modes

  • Empty vault (no .md files): produce an index.html with a friendly "No notes yet — drop a .md file in the vault directory" message. Return pages_count: 1, concept_count: 0.
  • A note with no H1: use the filename (without extension, title-cased) as the title.
  • Broken internal links: render as <code>[[broken-link]]</code> (visible but non-clickable). Don't fail the run.

© skrun-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (scripts) in agents/knowledge-base-from-vault of skrun-dev/skrun.

  • SKILL.md
  • README.md
  • agent.yaml
  • fixtures/sample-vault/concepts/cluster-design.md
  • fixtures/sample-vault/concepts/event-sourcing.md
  • fixtures/sample-vault/glossary.md
  • fixtures/sample-vault/how-to/run-locally.md
  • fixtures/sample-vault/intro.md
  • package.json
  • scripts/build_site_zip.ts
  • scripts/read_vault.ts

Open the folder on GitHubat commit b1d963b

Compare with similar skills

Knowledge Base From Vault next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Knowledge Base From Vault compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Knowledge Base From Vault this skillskrun-dev/skrun210—~1.4kAutomated safety check: PassMIT
LLM Wikilewislulu/llm-wiki-skill655—~3.7kAutomated safety check: PassNone
Wiki Vault Queryjason-effi-lab/karpathy-llm-wiki-vault715—~383Automated safety check: PassNone
Vault Methodology RouterAgriciDaniel/claude-obsidian15k—~1kAutomated safety check: PassMIT
Obsidian Project Knowledge BaseGalaxy-Dawn/claude-scholar5.7k—~551Automated safety check: PassMIT
Save to Obsidian VaultAgriciDaniel/claude-obsidian15k—~1.3kAutomated safety check: PassMIT

Similar skills

  • LLM Wiki

    lewislulu/llm-wiki-skill

    Build and maintain a Karpathy-style LLM knowledge base — a self-compiling Obsidian markdown wiki where an Agent ingests raw sources, compiles cross-linked concept/entity/summary pages, answers…

    655 GitHub stars~3.7k tokensUpdated 5 mo ago
    Knowledge ManagementAuto-check passed
  • Wiki Vault Query

    jason-effi-lab/karpathy-llm-wiki-vault

    Answers questions from a local Obsidian-style wiki by reading its index first, then the relevant pages, and replying with wiki-link citations instead of model memory.

    715 GitHub stars~383 tokensUpdated 5 mo ago
    Knowledge ManagementAuto-check passed
  • Vault Methodology Router

    AgriciDaniel/claude-obsidian

    Reads or changes an Obsidian vault's filing methodology, Generic, LYT, PARA or Zettelkasten, and suggests where planned notes should go without saving or moving anything.

    15k GitHub stars~1k tokensUpdated 27 days ago
    Knowledge ManagementAuto-check passed
  • Obsidian Project Knowledge Base

    Galaxy-Dawn/claude-scholar

    Maintains a project-scoped Obsidian research knowledge base: bootstrapping its folders, routing notes, updating hub, plan and index notes, and linting.

    5.7k GitHub stars~551 tokensUpdated 14 days ago
    Knowledge ManagementAuto-check passed
  • Save to Obsidian Vault

    AgriciDaniel/claude-obsidian

    Files a specific answer, decision or insight you point to in a conversation as one reviewed note in your Obsidian vault, and only when you ask for it.

    15k GitHub stars~1.3k tokensUpdated 27 days ago
    Knowledge ManagementAuto-check passed
  • Obsidian CLI

    pablo-mano/Obsidian-CLI-skill

    Lets the agent read, write, search and tidy an Obsidian vault directly through the official Obsidian command-line interface.

    451 GitHub stars~3.2k tokensUpdated 7 mo ago
    Knowledge ManagementAuto-check passed

More from skrun-dev/skrun

All 14 skills in this repo
  • Adr Writer

    skrun-dev/skrun

    Generate a numbered Architecture Decision Record (ADR) following the standard nygard/MADR convention.

    210 GitHub stars~861 tokensUpdated 14 days ago
    Auto-check passed
  • Changelog Generator

    skrun-dev/skrun

    Generate a polished CHANGELOG.md and release-notes.md from a local git repository (or a captured .git-log.txt dump).

    210 GitHub stars~770 tokensUpdated 14 days ago
    Auto-check passed
  • Turn a CSV of operational data (sales, usage, signups, support tickets) into a multi-page styled PDF executive report with narrative + matplotlib charts.

    210 GitHub stars~1.1k tokensUpdated 14 days ago
    Auto-check passed
  • Listen to a meeting recording and extract structured action items, decisions, and open questions.

    210 GitHub stars~1.3k tokensUpdated 14 days ago
    Auto-check passed
  • Semgrep Rule Creator

    skrun-dev/skrun

    Generate a complete Semgrep rule bundle (rule.yml + tests.md + README.md) from a CVE description and a bad-code example.

    210 GitHub stars~1.3k tokensUpdated 14 days ago
    Auto-check passed
  • Receipts To Expenses

    skrun-dev/skrun

    Read a batch of receipt images directly via vision, classify each into expense categories, optionally reconcile against a bank statement CSV, and produce a multi-sheet Excel workbook + a PDF summary.

    210 GitHub stars~1.1k tokensUpdated 14 days ago
    Auto-check passed

Works with

Questions about Knowledge Base From Vault

What does Knowledge Base From Vault do?

Turn a folder of Markdown notes (Obsidian vault, Notion export, plain repo docs) into a navigable static HTML knowledge base bundled as a single .zip file. Knowledge Base From Vault is an agent skill from skrun-dev/skrun.zip file.

When should I use Knowledge Base From Vault?

Knowledge Base From Vault fits situations like: given a Markdown vault and asked to publish; render it as a browsable site.

How do I install Knowledge Base From Vault in Claude Code?

Run `npx skills add skrun-dev/skrun --skill knowledge-base-from-vault -a claude-code`. Or copy the skill folder (agents/knowledge-base-from-vault in skrun-dev/skrun) into .claude/skills/knowledge-base-from-vault in your project. Claude Code loads it when a task matches its description.

How do I install Knowledge Base From Vault in Codex?

Run `npx skills add skrun-dev/skrun --skill knowledge-base-from-vault -a codex`. Or copy the skill folder (agents/knowledge-base-from-vault in skrun-dev/skrun) into .agents/skills/knowledge-base-from-vault in your project. Codex loads it when a task matches its description.

Can I use Knowledge Base From Vault in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add skrun-dev/skrun --skill knowledge-base-from-vault -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/knowledge-base-from-vault, .gemini/skills/knowledge-base-from-vault, .github/skills/knowledge-base-from-vault and .opencode/skills/knowledge-base-from-vault in your project.

What does Knowledge Base From Vault need to run?

Going by SKILL.md and its folder, Knowledge Base From Vault needs TypeScript for the scripts in its folder. Our summary lists: Node.js.

Does Knowledge Base From Vault access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Knowledge Base From Vault safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Knowledge Base From Vault use?

Knowledge Base From Vault is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Knowledge Base From Vault use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Knowledge Base From Vault?

Skills that share tags, products or a category with Knowledge Base From Vault: LLM Wiki (lewislulu/llm-wiki-skill, 655 stars), Wiki Vault Query (jason-effi-lab/karpathy-llm-wiki-vault, 715 stars), Vault Methodology Router (AgriciDaniel/claude-obsidian, 15k stars) and Obsidian Project Knowledge Base (Galaxy-Dawn/claude-scholar, 5.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Knowledge Base From Vault?

skrun-dev (a GitHub organization) maintains it in skrun-dev/skrun, which has 210 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on September 22, 2026.

Source: skrun-dev/skrun on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.