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 TypeFolder
Quick capture, URL, fleeting thought1-inbox/
Active project deliverable2-projects/
Role or ongoing area of concern3-areas/
How-to guide, reference doc4-resources/
Anything no longer active5-archive/
Daily note, retrospective6-journal/
Half-baked idea, experiment7-ideas/
Person, organization, relationship8-people/
Template, schema, vault config9-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:

FieldRequiredValues
titleYesHuman-readable string
dateYesYYYY-MM-DD
folderYesOne of the 9 folder names
tagsYesList, lowercase, hyphenated
statusYesactive, archive, draft, seedling
sourceNoURL or citation string
relatedNoList 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