vault-conventions
Use when creating or modifying notes in a Knowlery-structured vault. Enforces frontmatter requirements, wikilinks, and naming conventions.
- License 许可
- MIT
- 最近更新
- 2026-11-09
- Stars
- ★ 15
- Forks
- 1
01 前言 Front Matter
- name
- vault-conventions
- description
- Use when creating or modifying notes in a Knowlery-structured vault. Enforces frontmatter requirements, wikilinks, and naming conventions.
03 SKILL.md 正文
Vault Document Conventions
You MUST follow these conventions when creating or modifying any note in this vault.
Pre-Flight Checklist
Before creating any note:
- Read
KNOWLEDGE.md— check the knowledge base structure (user notes vs agent-maintained pages) - Decide where the note belongs: user notes stay in their existing areas (e.g.
Projects/,Daily/); agent knowledge pages live only underentities/,concepts/,comparisons/, orqueries/ - Pick the writing tool by the operation (see Creating Notes below), following every convention in this skill
Creating Notes
Choose the writing tool by the operation, not by whether Obsidian is running:
| Operation | Preferred tool | Why |
|---|---|---|
| New page with long or complex content (frontmatter + body, code blocks, quotes) | Write the .md file directly at the exact path |
Obsidian indexes new files automatically; no shell escaping can corrupt content |
| Short new note, or appending a line or two | obsidian create path="dir/note.md" content="..." / obsidian append |
Cheap when the content is small; \n escapes newlines |
| Rename / move an existing note | obsidian rename (Obsidian running) |
The CLI rewrites wikilinks across the vault — the real graph-consistency win |
obsidian create passes content as one shell-quoted argument. Inside a
bash double-quoted string, backticks run as command substitution, $ expands,
and nested quotes end the argument — so a page containing a code fence or
quoted prose will usually break the command or corrupt the content. If
create fails once on content escaping, do not fight the shell: write the
file directly with identical frontmatter and naming conventions, then verify
with obsidian read (or knowlery health after bulk changes).
When you do use obsidian create, pass path="dir/note.md" — name=
resolves like a wikilink and lands in the default new-note location, not
necessarily the directory the page belongs in.
Treat any page containing frontmatter plus body, Mermaid or other charts, code
fences, tables, or quoted prose as a full page and write the .md file
directly.
In headless environments (Obsidian closed, CLI-initialized workspaces), write
.md files directly, and run knowlery health after bulk changes.
Hidden Config Paths
Dot-directories (.claude/, .knowlery/, .agents/) are outside
Obsidian's vault index. Obsidian CLI commands that depend on the vault index —
including read and create — cannot reach them even with path=; use
your file tools directly.
Every platform starts from the same sources: the user's KNOWLEDGE.md and
the rules in .agents/rules/, plus Knowlery's operating rules. Codex and
OpenCode read the vault-root AGENTS.md, where those sources are copied in;
Claude Code reads .claude/CLAUDE.md, which @-imports the same files. Both
entry files are regenerated on sync: change KNOWLEDGE.md or a rule file,
never the managed block itself.
Required Frontmatter
Every note MUST have these fields:
| Field | Values |
|---|---|
title |
Descriptive title |
type |
meeting, idea, reference, daily, project, person, entity, concept, comparison, query, etc. |
date |
YYYY-MM-DD — today's date or extracted from content |
tags |
Array of relevant tags |
Additional fields (optional):
| Field | Purpose |
|---|---|
domain |
Knowledge area (e.g. ai-agents, product-strategy) |
references |
Related notes as wikilinks: [[Note Name]] |
status |
draft, active, completed, archived |
updated |
YYYY-MM-DD — last substantive edit (common on agent pages) |
contradictions |
Cross-links when conflicting claims need review (agent pages) |
Wikilink Rules
ALWAYS use wikilinks for:
- People →
[[Person Name]] - Projects →
[[Project Name]] - Domain concepts →
[[Concept Name]] - Related notes →
[[Note Name]]
Rules:
- Use
[[wikilinks]]for internal vault connections - Use
[text](url)for external URLs only - Use
[[Note Name#Heading]]for specific section links - Use
[[Note Name|Display Text]]for custom display text
File Naming
- Agent knowledge pages (per
SCHEMA.md): lowercase with hyphens, no spaces (response-time-metrics.md); one topic per file underentities/,concepts/,comparisons/, orqueries/ - User notes keep the user's own naming — never rename them to match agent conventions
- No special characters, no leading/trailing spaces
- Daily notes:
YYYY-MM-DDformat where applicable
Post-Creation Verification
After creating or modifying a note, verify:
- All required frontmatter fields are present and correct
- People and project mentions use
[[wikilinks]] - Domain concepts are linked consistently
04 同仓库更多 Skills
organize
Directory organization based on frontmatter metadata. Suggests and applies file moves to keep the vault structured. Use when the user wants to reorganize notes, fix directory placement, clean up the vault structure, or says anything like "organize my notes", "clean up the vault", "move files to the right folders", "tidy up", or "restructure my notes".
obsidian-markdown
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
obsidian-cli
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
obsidian-bases
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
knowlery-mcp
Work a Knowlery knowledge base through its MCP tools — choose the right tool for the job, run the capture-to-cook loop, and behave well while doing it. Use when Knowlery MCP tools (query, capture, stale, health, init_kb, register_kb, sync, list_kbs, list_bundles) are available in the session, especially in clients without a shell.
knowlery-cli
Manage a Knowlery knowledge base from the command line with the standalone knowlery CLI — initialize and sync workspaces, run health checks, query knowledge, detect stale pages, and install, export, and review knowledge bundles. Use when the user asks to operate their knowledge base headlessly (without Obsidian), share knowledge as a bundle, install a bundle someone shared, or verify the workspace after bulk changes.