doc-vault-project

Manage multi-note research projects in an Obsidian vault with phased subdirectory structure.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "doc-vault-project" with this command: npx skills add molechowski/claude-skills/molechowski-claude-skills-doc-vault-project

Vault Project

Manage multi-note research projects in an Obsidian vault with phased subdirectory structure.

Prerequisites

Skill Required Purpose

doc-obsidian Yes Vault CRUD via notesmd-cli + search via qmd

Directory Structure

projects/{project-slug}/ ├── _index.md # MOC: status, component links, linked research ├── concept/ # Problem definition, threat models, requirements ├── research/ # Deep dives per component, tech evaluation ├── design/ # Architecture, API design, data models └── implementation/ # Build plans, code refs, test plans

Projects live in projects/ (top-level). Separate from research/ (knowledge).

Four phases are always created. Empty dirs signal "not started yet."

Step 0: Setup

Run before every operation:

VAULT=$(notesmd-cli print-default --path-only) qmd status

If either fails, stop and tell the user to set up doc-obsidian first.

Commands

init — Scaffold New Project

Trigger: "create project {name}", "new project {name}", "project init {name}"

Workflow

  • Parse project name → kebab-case slug (max 40 chars)

  • Check if projects/{slug}/ exists — if yes, abort and show existing project

  • Create directory structure:

VAULT=$(notesmd-cli print-default --path-only) mkdir -p "$VAULT/projects/{slug}/concept" mkdir -p "$VAULT/projects/{slug}/research" mkdir -p "$VAULT/projects/{slug}/design" mkdir -p "$VAULT/projects/{slug}/implementation"

  • Load references/index-template.md and references/frontmatter-schemas.md

  • Build _index.md with project frontmatter and empty status table

  • Write _index.md :

Use Write tool → "$VAULT/projects/{slug}/_index.md"

  • Re-index: qmd update && qmd embed

  • Confirm:

Created: [[{slug}]] Path: projects/{slug}/ Phases: concept/ research/ design/ implementation/ Components: 0

add — Add Component Note

Trigger: "add {note} to project {name}", "project add {note} to {phase}"

Workflow

  • Identify project slug and target phase (concept/research/design/implementation)

  • If phase not specified, infer from content:

  • Problem/threat/requirement → concept

  • Deep dive/evaluation/comparison → research

  • Architecture/API/data model → design

  • Plan/code/test/deploy → implementation

  • If ambiguous, ask the user

  • Generate note slug (kebab-case, max 60 chars)

  • Check for duplicates in the phase directory

  • Load frontmatter schema from references/frontmatter-schemas.md

  • Build component note with type: project-component frontmatter

  • Save:

VAULT=$(notesmd-cli print-default --path-only)

Write tool → "$VAULT/projects/{project-slug}/{phase}/{note-slug}.md"

  • Update _index.md :

  • Add wikilink under the correct phase section

  • Update status table counts

  • Update components: and updated: in frontmatter

  • Re-index: qmd update && qmd embed

  • Confirm:

Added: [[{note-slug}]] Path: projects/{project-slug}/{phase}/{note-slug} Phase: {phase} Status: pending Project components: {N}

status — Show Project Status

Trigger: "project status", "project status {name}", "how is project {name}"

Workflow

  • If no project specified, list all projects:

VAULT=$(notesmd-cli print-default --path-only) ls "$VAULT/projects/"

  • For a specific project, read _index.md frontmatter and list components:

VAULT=$(notesmd-cli print-default --path-only)

Read _index.md for project metadata

List files in each phase directory

Read frontmatter status from each component

  • Display:

Project: {name} Status: {project-status} Updated: {date}

PhaseComponentStatus
concept[[threat-model]]complete
concept[[gap-analysis]]in-progress
research[[endpoint-security]]pending
design
implementation

Progress: 1/3 complete

link — Link Existing Research

Trigger: "link research to project {name}", "project link {note} to {name}"

Workflow

  • Identify project and target research notes

  • If no specific notes given, search for related research:

qmd vsearch "{project topic}" --json -n 10

  • Filter results: only notes in research/ , exclude score < 0.3

  • Present candidates with scores, let user pick

  • Read project _index.md

  • Add wikilinks under ### Linked Research section:

Linked Research

  • [[existing-note]] — {brief relevance}

  • Do NOT move files — research stays in research/

  • Update updated: in frontmatter

  • Re-index: qmd update && qmd embed

  • Confirm:

Linked to [[{project}]]:

  • [[note-1]] — {relevance}
  • [[note-2]] — {relevance}

promote — Promote Research Topic to Project

Trigger: "promote {topic} to project", "make {topic} a project"

Workflow

  • Find existing research notes on the topic:

qmd vsearch "{topic}" --json -n 15

  • Present candidates, let user confirm which notes relate

  • Run init to scaffold the project

  • Run link to wikilink the existing research notes

  • Optionally create initial component notes in concept/ if the research already covers problem definition

  • Confirm:

Promoted: {topic} → [[{project}]] Linked research: {N} notes Components: {N} created

Promote does NOT move existing notes. It creates a project that references them.

Constraints

DO:

  • Always run Step 0 first

  • Always use fixed four phases (concept/research/design/implementation)

  • Always update _index.md after adding/linking components

  • Always re-index after changes

  • Resolve vault path dynamically via notesmd-cli print-default --path-only

  • Keep research notes in research/ — link, don't move

  • Read notes before editing

DON'T:

  • Create custom phases or skip phase directories

  • Move existing research notes into project directories

  • Create projects without _index.md

  • Skip re-indexing

  • Hardcode vault paths

  • Auto-trigger — only respond to explicit project commands

References

  • references/frontmatter-schemas.md — Frontmatter for _index.md and component notes, field rules, status transitions

  • references/index-template.md — _index.md scaffold template, status table update rules, linked research format

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

res-price-compare

No summary provided by upstream source.

Repository SourceNeeds Review
General

res-deep

No summary provided by upstream source.

Repository SourceNeeds Review
General

doc-daily-digest

No summary provided by upstream source.

Repository SourceNeeds Review