Maintains Obsidian vault for research projects: bootstraps structure, imports repos, syncs notes, summarizes context, manages experiments/results via Python scripts.
From claude-scholarnpx claudepluginhub galaxy-dawn/claude-scholar --plugin claude-scholarThis skill uses the workspace's default tool permissions.
references/AGENT-FIRST-IMPORT.mdreferences/KNOWLEDGE-CRUD.mdreferences/NEW-MD-INGESTION.mdreferences/NOTE-ROUTING.mdreferences/NOTE-TEMPLATES.mdreferences/PAPERS-TO-WRITING.mdreferences/SCHEMA.mdreferences/SCRIPT-VS-AGENT.mdreferences/WORKFLOW.mdscripts/project_kb.pyscripts/project_views.pySearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Maintain a filesystem-first, agent-driven Obsidian knowledge base for a research project.
Default note output language follows the project's configured note_language; if no note language is configured, default to English. Keep technical terms, paper titles, and established folder names in their original form when that is clearer. Only switch note prose to another language when the user explicitly asks.
Prefer this skill when working inside a repository that:
.claude/project-memory/registry.yaml, or.base artifacts..canvas globally, but allow literature workflows to maintain Maps/literature.canvas as a default literature graph artifact.Results/Reports/, not as Writing/ notes.Write into this project layout only:
Research/{project-slug}/
00-Hub.md
01-Plan.md
Knowledge/
Papers/
Experiments/
Results/
Reports/
Writing/
Daily/
Archive/
Read references/SCHEMA.md for the exact structure and note roles.
Use scripts/project_kb.py only for low-freedom operations such as detect, bootstrap, sync, and lifecycle management:
python3 scripts/project_kb.py detect --cwd "$PWD"
python3 scripts/project_kb.py bootstrap --cwd "$PWD" --vault-path "$OBSIDIAN_VAULT_PATH"
python3 scripts/project_kb.py sync --cwd "$PWD" --scope auto
python3 scripts/project_kb.py lifecycle --cwd "$PWD" --mode archive
python3 scripts/project_kb.py query-context --cwd "$PWD" --kind broad
python3 scripts/project_kb.py query-context --cwd "$PWD" --kind experiment --query freezing
python3 scripts/project_kb.py find-canonical-note --cwd "$PWD" --kind experiment --query freezing
python3 scripts/project_kb.py note-lifecycle --cwd "$PWD" --mode archive --note "Results/Old-Result.md"
Do not expect the script to understand project meaning. It manages state; it does not replace synthesis.
Read references/SCRIPT-VS-AGENT.md when deciding whether a task belongs in the script or must stay agent-driven.
scripts/project_kb.py detect --cwd "$PWD".project_kb.py bootstrap.For the detailed lifecycle, read references/WORKFLOW.md.
Before writing anything, read only the minimum stable context:
.claude/project-memory/<project_id>.md00-Hub.md01-Plan.mdDaily/YYYY-MM-DD.md if it existsIf the task is about project understanding, existing docs, or historical results, load more context selectively using the references below.
Route the current turn into one or more of these buckets:
knowledgepaperexperimentresultwritingdailyproject-structureRead references/NOTE-ROUTING.md before writing.
Default path for substantive research work:
Papers/ -> extract reusable ideas, baselines, and project relevanceExperiments/ -> turn those into testable hypotheses, runbooks, or ablationsResults/ -> promote stable findings with evidence and interpretationResults/Reports/ -> store one round or one batch's internal experiment report when a complete retrospective has been writtenWriting/ -> externalize durable claims into reviews, proposals, drafts, slides, or rebuttal notesUse Daily/ as chronology and staging, not the final home for durable research knowledge.
Read references/PAPERS-TO-WRITING.md when deciding how a turn should advance along this path.
Use agent-first import/synthesis when:
In these cases, first use an agent to read key sources, then write the synthesized result back into Obsidian.
Read references/AGENT-FIRST-IMPORT.md for the recommended source-reading order.
Always keep write-back conservative.
Write back at least:
Daily/YYYY-MM-DD.md when this turn changes project state,00-Hub.md only when recent progress or top-level status truly changes,.claude/project-memory/<project_id>.md when project state changes.Then write only the durable note that matches the bucket:
knowledge -> Knowledge/paper -> Papers/experiment -> Experiments/result -> Results/writing -> Writing/daily -> Daily/project-structure -> usually Knowledge/Project-Overview.md or Knowledge/Source-Inventory.mdInternal experiment round reports should default to:
Results/Reports/YYYY-MM-DD--{experiment-line}--r{round}--{purpose}.mdRead references/NOTE-TEMPLATES.md when a note needs a stable shape.
Treat the vault as a small set of canonical notes plus supporting daily context.
Daily/.Results/Reports/ and link the matching Experiments/ and canonical Results/ notes.00-Hub.md + key Knowledge/ notes,01-Plan.md + today's Daily/ + project memory,Results/Reports/ first.Daily/, but keep durable knowledge in Knowledge/, Papers/, Experiments/, Results/, Results/Reports/, or Writing/.00-Hub.md, 01-Plan.md, and explicit index notes so the main working surface does not point to missing files..base files unless the user explicitly asks for them..canvas sprawl; the main default exception is Maps/literature.canvas for literature workflows.Daily/ plus project memory unless there is a real experiment, result, or planning impact.Load only what is needed:
references/SCHEMA.md - vault structure and note rolesreferences/WORKFLOW.md - detect/bootstrap/sync/archive workflowreferences/PAPERS-TO-WRITING.md - default handoff from literature to experiments, results, and writingreferences/SCRIPT-VS-AGENT.md - boundary between low-freedom script operations and agent-only reasoningreferences/KNOWLEDGE-CRUD.md - create/read/update/delete rules for durable research knowledgereferences/NOTE-ROUTING.md - where each kind of knowledge should goreferences/NEW-MD-INGESTION.md - how to ingest a newly created Markdown filereferences/AGENT-FIRST-IMPORT.md - how to import an existing project with agent synthesisreferences/NOTE-TEMPLATES.md - lightweight note shapes for common note types