Install
$ agentstack add skill-kv0906-pm-kit-vault-ops ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Vault Operations Skill
Core operations for reading, writing, and managing files in a PM-Kit vault.
Vault Structure
pm-kit/
├── CLAUDE.md # Vault context (read first)
├── _core/ # config.yaml, MANIFESTO.md, PROCESSING.md
├── _templates/ # Note templates (ALWAYS USE)
├── 00-inbox/ # Unprocessed captures
├── 01-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
│ └── previews/ # HTML previews (/preview, /report --preview)
└── _archive/ # Archived by YYYY-MM/
Naming Conventions (Naming-as-API)
Strict filename patterns enable glob queries without a database:
| Type | Pattern | Example | |------|---------|---------| | Daily | daily/YYYY-MM-DD.md | daily/2026-01-15.md | | Doc | docs/{project}/{slug}.md | docs/project-a/checkout-flow.md | | Decision | decisions/{project}/YYYY-MM-DD-{slug}.md | decisions/project-a/2026-01-15-auth-approach.md | | Blocker | blockers/{project}/YYYY-MM-DD-{slug}.md | blockers/project-a/2026-01-15-api-rate-limit.md | | Meeting | meetings/YYYY-MM-DD-{type}-{slug}.md | meetings/2026-01-15-sync-sprint-review.md | | Inbox | 00-inbox/YYYY-MM-DD-{slug}.md | 00-inbox/2026-01-15-quick-thought.md | | Index | 01-index/{project}.md | 01-index/project-a.md |
File Operations
Creating Notes
- Check if note already exists (naming-as-API enables fast lookup)
- Load appropriate template from
_templates/ - Replace template variables (Handlebars syntax)
- Add YAML frontmatter with type, project, status, date, tags
- Insert wiki-links to related notes
- 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
[[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:
---
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
| From | Links To | |------|----------| | Daily (blocked item) | blockers/{project}/ | | Meeting | decisions/{project}/, blockers/{project}/ | | Decision | docs/{project}/ | | Doc | decisions, blockers |
Archive Rules
Move to _archive/YYYY-MM/ when:
- Blocker status → resolved
- Doc status → shipped
- Decision status → superseded
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: kv0906
- Source: kv0906/pm-kit
- License: MIT
- Homepage: https://willtran.xyz
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.