obsidian-project-kb-core

Maintains project-scoped Obsidian research knowledge bases with registry, index, and lint automation.

5.3k|417|Updated Jan 27, 2026
One-click install
npx skills add https://github.com/Galaxy-Dawn/claude-scholar --skill obsidian-project-kb-core
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: obsidian-project-kb-core
Source: https://github.com/Galaxy-Dawn/claude-scholar/tree/main/skills/obsidian-project-kb-core
Command: npx skills add https://github.com/Galaxy-Dawn/claude-scholar --skill obsidian-project-kb-core

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyyaml, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Research projects scatter notes across folders with no consistent structure, making it hard to track sources, experiments, results, and writing over time. This Skill establishes and maintains a vault-first, project-scoped Obsidian knowledge base rooted at Research/{project-slug}/ so every durable note has a defined place, a registry entry, and navigable links.

Core Features & Use Cases

  • Project Bootstrap and Binding: Detects the current repository, scaffolds the standard directory skeleton (Sources, Knowledge, Experiments, Results, Writing, Daily, Maps, Archive, _system), and binds the repo to a vault project root via .claude/project-memory.
  • Registry, Hub, and Index Maintenance: Keeps _system/registry.md as the single machine-parsed registry with stable IDs, refreshes 02-Index.md auto-index blocks, and updates 00-Hub.md recent changes.
  • Lifecycle Management: Handles note and project lifecycle actions including create, rename, archive, purge, detach, and link repair across Markdown notes and canvas files.
  • Deterministic Lint Checks: Runs scripts for registry coverage, broken wikilinks, index coverage, canvas validation, and aggregated lint reports written to _system/lint-report.md.
  • Use Case: A researcher starts a new paper replication project, asks the assistant to bootstrap the knowledge base, then logs daily notes, promotes stable findings into Results, and runs a lint check before a weekly review to catch broken links and unregistered notes.

Quick Start

Ask the assistant to bootstrap a new Obsidian project knowledge base for the current repository and point it at your vault path.

Frequently Asked Questions about obsidian-project-kb-core

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I organize research notes in Obsidian for a software project?

Use a project-scoped structure rooted at Research/{project-slug}/ with dedicated folders for Sources, Knowledge, Experiments, Results, Writing, Daily, Maps, and Archive. This Skill scaffolds that layout automatically and binds it to your repository through .claude/project-memory.

How do I check for broken wikilinks in an Obsidian vault?

Run the kb_link_check.py script, which scans all Markdown files in the project root and reports wikilinks whose targets do not exist. The kb_lint.py script aggregates this with registry, index, and canvas checks into _system/lint-report.md.

Does this work with Obsidian canvas files?

Yes, the kb_canvas_check.py script validates .canvas files in the Maps folder by parsing their JSON and verifying that every file-type node points to an existing note in the vault. Issues are reported as JSON and included in the lint report.

What happens when I archive or rename a note?

Archiving moves the note into the Archive folder, rewrites wikilinks across the project, and records history in the registry Archive section. Renaming moves the note in place, repairs links, and updates the registry and index without creating archive history.

When should daily notes be promoted to permanent notes?

Promote Daily content when it becomes a reusable source, durable knowledge, an experiment definition, a stable result, or a writing artifact. The lint report flags Daily notes containing promotable content as candidates for review.