Zettelclaw
by @maxpetretta
Work inside a Zettelclaw vault using the current typed frontmatter schema, inbox + Base workflows, and human-write/agent-read guardrails. Use when creating,...
clawhub install zettelclawπ About This Skill
name: zettelclaw description: "Work inside a Zettelclaw vault using the current typed frontmatter schema, inbox + Base workflows, and human-write/agent-read guardrails. Use when creating, updating, organizing, or searching notes in a Zettelclaw vault, including inbox processing, /ask callouts, and journal scaffolding."
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
/
βββ 00 Inbox/
βββ 01 Notes/
βββ 02 Journal/
βββ 03 Templates/
βββ 04 Attachments/
βββ README.md
Note types
Use YAML frontmatter on every note:
type
- tags
- created
doc and content notes:status (queued | in-progress | done | archived)
author
- sourceUse these primary types:
note: durable atomic thinking note; no statusdoc: non-atomic working/reference note; uses statusjournal: daily log note; no statusarticle, book, movie, tv, youtube, tweet, podcast, paper (and extensible additional content types); uses statusTemplates
Always read the matching template in 03 Templates/ before creating a note:
note.mdjournal.mdclipper-capture.jsonUse core templates/date syntax. Do not require Templater.
Inbox workflow
00 Inbox/ via clipper-capture.json.type by URL (tweet, youtube, else article) and status: queued.type: note, or deleting.Bases workflow
00 Inbox/inbox.base is the canonical queue view.note.type for scan-by-content-type triage..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.
spaced-repetition, not Spaced Repetition or spacedRepetition.learning (what it's about), not important (how you feel about it).ai/transformers is fine, deep nesting is not.Editing rules
updated frontmatter field.[[Note Title]]) and allow unresolved links as stubs.status, move notes, or delete notes without explicit instruction./ask response callouts
- optional daily briefing callout in journalsSearch patterns
Default QMD collections:
zettelclaw-inboxzettelclaw-noteszettelclaw-journalzettelclaw-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-notesripgrep 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.extraPathsDo not write legacy top-level memorySearch.
Only change OpenClaw config when the operator explicitly wants this vault wired into an OpenClaw installation.