Knowledge Gardener
Knowledge Gardener (KG) v0.21.0 is godotz.ai’s structured personal knowledge management plugin. It maintains a markdown vault at ~/vault, enforces YAML frontmatter across all notes, and generates daily recaps automatically. It lives at L6 of the godotz.ai stack alongside Mnemopi and Graphify.
1. Installation
KG ships as an godotz.ai plugin. Install it through the plugin manager:
# Install KG v0.21.0
omp plugin install knowledge-gardener@0.21.0
# Verify installation
omp plugin list | grep knowledge-gardener
# knowledge-gardener 0.21.0 active
Initialize the vault:
omp kg init --vault ~/vault
# Created: ~/vault/
# Created: 9 numbered folders
# Created: ~/vault/.kg-config.yml
# Created: ~/vault/templates/note.md
2. Vault Structure — 9 Numbered Folders
The vault is organized into 9 fixed numbered folders. Numbers are part of the name — they control sort order in file explorers.
~/vault/
├── 1-inbox/ ← Unsorted captures, transient notes
├── 2-projects/ ← Active work with deadlines
├── 3-areas/ ← Ongoing responsibilities (no deadline)
├── 4-resources/ ← Reference material by topic
├── 5-archive/ ← Completed or inactive items
├── 6-journal/ ← Daily logs, weekly reviews
├── 7-ideas/ ← Speculative, undeveloped concepts
├── 8-people/ ← Contact notes, relationship context
└── 9-meta/ ← Vault configuration, templates, schemas
Routing rules — where a new note belongs:
| Content Type | Folder |
|---|---|
| Quick capture, URL, fleeting thought | 1-inbox/ |
| Active project deliverable | 2-projects/ |
| Role or ongoing area of concern | 3-areas/ |
| How-to guide, reference doc | 4-resources/ |
| Anything no longer active | 5-archive/ |
| Daily note, retrospective | 6-journal/ |
| Half-baked idea, experiment | 7-ideas/ |
| Person, organization, relationship | 8-people/ |
| Template, schema, vault config | 9-meta/ |
3. File Naming Convention
All notes follow YYYY-MM-DD-kebab-title.md. This ensures chronological sorting and URL-safe filenames.
Good:
2025-06-07-fleet-setup-notes.md
2025-06-07-claude-opus-performance-review.md
Bad:
fleet setup notes.md ← spaces not allowed
fleet_setup_notes.md ← underscores break sort
FleetSetupNotes.md ← CamelCase not allowed
notes.md ← no date prefix
Create a dated note from the CLI:
# Uses today's date automatically
omp kg plant --folder 4-resources --title "litellm-proxy-config-notes"
# Created: ~/vault/4-resources/2025-06-07-litellm-proxy-config-notes.md
4. YAML Frontmatter Schema
Every note must carry valid YAML frontmatter. KG validates on write and warns on garden-survey.
---
title: LiteLLM Proxy Config Notes
date: 2025-06-07
folder: 4-resources
tags:
- litellm
- infrastructure
- omp
status: active # active | archive | draft | seedling
source: "" # URL or citation if applicable
related:
- 2025-05-15-model-routing-design.md
---
Field rules:
| Field | Required | Values |
|---|---|---|
title | Yes | Human-readable string |
date | Yes | YYYY-MM-DD |
folder | Yes | One of the 9 folder names |
tags | Yes | List, lowercase, hyphenated |
status | Yes | active, archive, draft, seedling |
source | No | URL or citation string |
related | No | List of filenames |
# ~/.kg-config.yml — vault configuration
vault:
path: ~/vault
schema_version: "0.21.0"
enforce_frontmatter: true
warn_on_missing_tags: true
auto_archive_after_days: 180 # moves to 5-archive if stale
recap:
enabled: true
trigger: "daily" # daily | weekly | manual
time: "23:30"
model: "claude-sonnet-4-6"
max_tokens: 2048
5. Skills — plant, survey, recap
KG ships with three built-in skills:
garden-plant
Creates a new note with correct naming and frontmatter scaffolding.
# Interactive
omp skill run garden-plant
# Direct
omp skill run garden-plant \
--folder 2-projects \
--title "fleet-hardening-q3" \
--tags "security,fleet,omp" \
--status seedling
garden-survey
Scans the vault for structural issues: missing frontmatter, invalid dates, orphaned notes (no related links), and notes idle > 90 days without an archive decision.
omp skill run garden-survey
# Output:
# Vault: ~/vault
# Total notes: 247
# Missing frontmatter: 3 ← action needed
# Orphaned notes: 12 ← review recommended
# Stale (>90d active): 8 ← archive or update status
# Schema errors: 0
garden-recap
Summarizes vault activity for a time range and writes the result to 6-journal/.
# Daily recap (usually triggered automatically at 23:30)
omp skill run garden-recap --range today
# Weekly recap
omp skill run garden-recap --range week
# Custom range
omp skill run garden-recap --range "2025-06-01..2025-06-07"
# Output written to:
# ~/vault/6-journal/2025-06-07-daily-recap.md
6. Auto-Recap Triggers
KG triggers garden-recap on schedule and on events:
# ~/.kg-config.yml (recap section)
recap:
triggers:
- type: schedule
cron: "30 23 * * *" # daily at 23:30
- type: note_count
threshold: 10 # recap when 10+ notes planted today
- type: session_end
enabled: true # recap when omp session closes
notify:
ntfy: true # push recap title to ntfy
topic: "${NTFY_TOPIC}"
Check recap history:
ls ~/vault/6-journal/ | grep recap
# 2025-06-07-daily-recap.md
# 2025-06-06-daily-recap.md
# 2025-06-02-weekly-recap.md
7. Graphify Integration
KG notes are indexed by Graphify for cross-note relationship discovery. Ensure Graphify is pointed at the vault:
# config/graphify.yml
graphify:
sources:
- path: ~/vault
file_pattern: "*.md"
extract_frontmatter: true
extract_wikilinks: true
After planting new notes, refresh the graph:
omp graphify refresh --source ~/vault
Next Steps
- Fleet Setup — Connect KG to the control-plane memory stack
- Model Routing — Choose the right model for
garden-recap