Zettelclaw

Work inside a Zettelclaw vault using the current typed frontmatter schema, inbox + Base workflows, and human-write/agent-read guardrails. Use when creating,...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 447 · 4 current installs · 4 all-time installs
byMax Petretta@maxpetretta
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (vault note management, frontmatter, inbox/Base workflows) matches the SKILL.md. The skill requests no credentials, binaries, installs, or config paths, which is appropriate for an instruction-only vault workflow helper.
Instruction Scope
Runtime instructions are narrowly scoped to reading templates, searching the vault (qmd preferred, rg fallback), and producing or editing notes only when explicitly asked. The SKILL.md explicitly forbids autonomous destructive actions (moving/deleting/changing status without instruction) and limits agent write surface, so the instructions stay within the stated purpose.
Install Mechanism
No install spec and no code files to install; the package.json only advertises the SKILL.md. This minimizes disk-write and supply-chain risk.
Credentials
The skill declares no required environment variables, credentials, or config paths. The SKILL.md references only local vault paths and optional local tools (qmd, rg), which are proportional to its functionality.
Persistence & Privilege
always is false and the skill is user-invocable with normal autonomous invocation allowed. It does not request permanent presence, nor does it instruct modifying other skills or global agent settings (it explicitly warns not to change OpenClaw config unless requested).
Assessment
This skill is instruction-only and appears coherent with its purpose: helping an agent work inside a Zettelclaw vault. Before enabling it, confirm the following: (1) Only grant the agent filesystem access to the intended vault directory (don’t expose unrelated files). (2) If you don’t want the agent to act autonomously, disable autonomous invocation for this skill or require explicit user confirmation for edits. (3) Back up your vault/templates before allowing any automated edits. (4) Note that qmd/rg are optional helpers—the skill will read templates and files in the vault, so verify those files are ones you expect the agent to access. If you want extra assurance, review agent actions on a per-request basis (keep human-in-the-loop for any note creation, renaming, moving, or deletion).

Like a lobster shell, security has layers — review code before you run it.

Current versionv2026.3.11
Download zip
latestvk977h9njwyj7e60gcmw9mgjtd182q601

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Zettelclaw

Follow the canonical Zettelclaw vault model: capture externally, write durable notes manually, and use the agent for navigation/synthesis.

This is an instruction-only skill. It does not install software by itself. qmd is optional when it is already available in the environment, and rg is the supported fallback for search.

Vault structure

<vault>/
├── 00 Inbox/
├── 01 Notes/
├── 02 Journal/
├── 03 Templates/
├── 04 Attachments/
└── README.md

Note types

Use YAML frontmatter on every note:

  • Required on all notes:
    • type
    • tags
    • created
  • Required on doc and content notes:
    • status (queued | in-progress | done | archived)
  • Optional content metadata:
    • author
    • source

Use these primary types:

  • note: durable atomic thinking note; no status
  • doc: non-atomic working/reference note; uses status
  • journal: daily log note; no status
  • content types: article, book, movie, tv, youtube, tweet, podcast, paper (and extensible additional content types); uses status

Templates

Always read the matching template in 03 Templates/ before creating a note:

  • note.md
  • journal.md
  • clipper-capture.json

Use core templates/date syntax. Do not require Templater.

Inbox workflow

  • Web captures land in 00 Inbox/ via clipper-capture.json.
  • Clipper sets type by URL (tweet, youtube, else article) and status: queued.
  • Process inbox captures by keeping/moving, converting into a type: note, or deleting.
  • Do not auto-write durable thinking notes from captured content unless explicitly asked.

Bases workflow

  • 00 Inbox/inbox.base is the canonical queue view.
  • Grouping is by note.type for scan-by-content-type triage.
  • Prefer creating/editing .base files over Dataview.

Titles as APIs

A note's title is its interface. Use complete, declarative phrases: "Spaced Repetition Works Because of Retrieval," not "Spaced Repetition." A well-titled note can be linked and understood without opening it. When creating or renaming notes, always prefer a full declarative statement.

Tag conventions

Tags live in the frontmatter tags array, not inline in the body.

  • Lowercase, hyphenated: spaced-repetition, not Spaced Repetition or spacedRepetition.
  • Topic-oriented, not structural: learning (what it's about), not important (how you feel about it).
  • Nest only when a hierarchy is genuinely useful: ai/transformers is fine, deep nesting is not.
  • Suggest tags based on the vault's existing taxonomy rather than inventing new ones.

Editing rules

  • Preserve existing prose unless user asks to rewrite.
  • Do not add or maintain an updated frontmatter field.
  • Use dense wikilinking ([[Note Title]]) and allow unresolved links as stubs.
  • Do not create top-level folders unless explicitly requested.
  • Do not assign/change status, move notes, or delete notes without explicit instruction.
  • Agent write surface is limited to:
    • /ask response callouts
    • optional daily briefing callout in journals

Search patterns

Default QMD collections:

  • zettelclaw-inbox
  • zettelclaw-notes
  • zettelclaw-journal
  • zettelclaw-attachments
# qmd (preferred when installed)
qmd query "spaced repetition and retrieval" -c zettelclaw-notes
qmd search "status: queued" -c zettelclaw-inbox
qmd vsearch "what have I been learning about memory" -c zettelclaw-notes

# ripgrep fallback
rg -l 'type: note' "01 Notes/"
rg -l 'type: article' "00 Inbox/" "01 Notes/"
rg -l 'status: queued' "00 Inbox/" "01 Notes/"

OpenClaw integration

If configuring OpenClaw memory paths, use:

  • agents.defaults.memorySearch.extraPaths

Do not write legacy top-level memorySearch. Only change OpenClaw config when the operator explicitly wants this vault wired into an OpenClaw installation.

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…