AgentSkillsCN

vault-ops

核心 Vault 文件操作——读写笔记、管理维基链接、以 Handlebars 语法处理模板、严格执行命名规范。所有文件操作均会自动触发。

SKILL.md
--- frontmatter
name: vault-ops
description: Core vault file operations — read/write notes, manage wiki-links, process templates with Handlebars syntax, enforce naming conventions. Auto-invoked for all file operations.
allowed-tools: Read, Write, Edit, Glob, Grep

Vault Operations Skill

Core operations for reading, writing, and managing files in a PM-Kit vault.

Vault Structure

code
pm-kit/
├── CLAUDE.md           # Vault context (read first)
├── _core/              # config.yaml, MANIFESTO.md, PROCESSING.md
├── _templates/         # Note templates (ALWAYS USE)
├── inbox/              # Unprocessed captures
├── index/              # Project MOCs
├── daily/              # YYYY-MM-DD.md (multi-project)
├── docs/{project}/     # PRDs, specs
├── decisions/{project}/ # Decision records
├── blockers/{project}/  # Active blockers
├── meetings/           # Meeting notes
├── reports/            # Generated reports
└── _archive/           # Archived by YYYY-MM/

Naming Conventions (Naming-as-API)

Strict filename patterns enable glob queries without a database:

TypePatternExample
Dailydaily/YYYY-MM-DD.mddaily/2026-01-15.md
Docdocs/{project}/{slug}.mddocs/project-a/checkout-flow.md
Decisiondecisions/{project}/YYYY-MM-DD-{slug}.mddecisions/project-a/2026-01-15-auth-approach.md
Blockerblockers/{project}/YYYY-MM-DD-{slug}.mdblockers/project-a/2026-01-15-api-rate-limit.md
Meetingmeetings/YYYY-MM-DD-{type}-{slug}.mdmeetings/2026-01-15-sync-sprint-review.md
Inboxinbox/YYYY-MM-DD-{slug}.mdinbox/2026-01-15-quick-thought.md
Indexindex/{project}.mdindex/project-a.md

File Operations

Creating Notes

  1. Check if note already exists (naming-as-API enables fast lookup)
  2. Load appropriate template from _templates/
  3. Replace template variables (Handlebars syntax)
  4. Add YAML frontmatter with type, project, status, date, tags
  5. Insert wiki-links to related notes
  6. Write to correct folder per naming convention

Editing Notes

  • Preserve YAML frontmatter structure
  • Maintain existing wiki-links
  • Use consistent heading hierarchy
  • Apply standard tag format

Wiki-Link Format

markdown
[[Note Name]]                    # Simple link
[[Note Name|Display Text]]       # Link with alias
[[Note Name#Section]]            # Link to heading
[[folder/Note Name]]             # Link with path

Template Variables

When processing templates, replace Handlebars syntax:

  • {{date}} → Today's date (YYYY-MM-DD)
  • {{project}} → Project ID
  • {{project_name}} → Project display name
  • {{title}} → Note title
  • {{slug}} → URL-safe slug

YAML Frontmatter

All notes require frontmatter:

yaml
---
type: [daily|doc|decision|blocker|meeting|inbox|index]
project: {project-id}
status: {per note_types in config.yaml}
date: YYYY-MM-DD
tags: []
---

Auto-Linking Rules

FromLinks To
Daily (blocked item)blockers/{project}/
Meetingdecisions/{project}/, blockers/{project}/
Decisiondocs/{project}/
Docdecisions, blockers

Archive Rules

Move to _archive/YYYY-MM/ when:

  • Blocker status → resolved
  • Doc status → shipped
  • Decision status → superseded