Install
openclaw skills install knowledge-managementClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Organize and classify OpenClaw knowledge entries into local folders by content type (Research, Decision, Insight, Lesson, Pattern, Project, Reference, Tutorial).
openclaw skills install knowledge-managementOrganize your OpenClaw memory files into a structured local knowledge base. Automatically parses MEMORY.md and daily memory files, classifies entries by content type, and stores each as a timestamped markdown file in the appropriate folder.
km sync [options] - Sync memory entries to local fileskm classify [options] - Parse and classify without storing (JSON output)km summarize [options] - Generate index files for each content typekm cleanup [options] - Remove orphaned fileskm list_types - List all available content typesNo API keys needed! The skill uses two locations:
MEMORY.md and memory/ daily files are read from.Research/, Decision/, etc.) are written.Both are detected automatically:
OPENCLAWORKSPACE environment variable--workspace <path> CLI argumentMEMORY.md)~/.openclaw/workspace--output-dir <path> CLI argument (relative to workspace or absolute)<workspace>/memory/KMThe skill will create the output directory and all content-type folders automatically.
If you want to pre-create:
mkdir -p ~/.openclaw/workspace/memory/KM/{Research,Decision,Insight,Lesson,Pattern,Project,Reference,Tutorial}
# From any directory (workspace auto-detected)
km sync --days_back 7 --cleanup
km sync --workspace /custom/input/workspace --output-dir /custom/output/KM --days_back 7
export OPENCLAWORKSPACE=/custom/input/workspace
km sync --output-dir /custom/output/KM --days_back 7
km sync --dry_run --days_back 1
km classify --days_back 3 > entries.json
km summarize
# or specify different location
km summarize --output_dir ~/some/other/folder
km cleanup --dry_run
km list_types
Assuming default configuration:
~/.openclaw/workspace~/.openclaw/workspace/memory/KM~/.openclaw/workspace/
├── MEMORY.md (source file - you edit this)
├── memory/ (daily memory files)
│ ├── 2025-02-11.md
│ ├── 2025-02-12.md
│ └── ...
└── memory/KM/ (organized output by the skill)
├── local-sync-state.json
├── local-sync-log.md
├── Research/
│ ├── 20260215T1448_Title_Here_HASH.md
│ └── ...
├── Decision/
├── Insight/
├── Lesson/
├── Pattern/
├── Project/
├── Reference/
├── Tutorial/
├── Research_Index.md
├── Decision_Index.md
└── ... (other index files)
Format: YYYYMMDDTHHMM_Title_With_Underscores_8CHARHASH.md
The 8-character content hash suffix prevents filename collisions when titles are identical but content differs.
---
title: "Protocol Name"
content_type: "Research"
domain: "OpenClaw"
certainty: "Verified"
impact: "Medium"
confidence_score: 8
tags: ["AI", "Automation"]
source: "MEMORY.md"
source_file: "MEMORY.md"
date: "2026-02-11"
content_hash: "e4b30e75d0f5a662"
---
Entry body content starts here...
MEMORY.md and recent daily memory/*.md filesmemory/local-sync-state.json) to skip already synced entriesCustomize by editing the EntryClassifier class in index-local.js.
memory/local-sync-state.json maps content hashes to file paths:
{
"e4b30e75d0f5a662": "/path/to/Research/202602151440_Title_e4b30e75.md"
}
This enables idempotent syncs and fast duplicate detection.
Do not edit manually unless recovering from corruption.
Automate daily syncs:
openclaw cron add \
--name "Daily Knowledge Sync" \
--cron "0 5 * * *" \
--tz "Asia/Singapore" \
--session isolated \
--message "km sync --days_back 7"
Note: By default, the skill reads MEMORY.md from ~/.openclaw/workspace and writes organized files to ~/.openclaw/workspace/memory/KM. Use --workspace or --output-dir to customize these locations.
"km: command not found"
npm link in the skill directory, or add ~/workspace/bin to PATH.No entries found
MEMORY.md uses ## section headers and ### entry titles within recognized sections.Files not created
--verbose.Old entries not syncing
memory/KM/local-sync-state.json to force re-sync (caution: may duplicate files).Duplicate files
km cleanup to remove orphans, then km sync to create missing files.Version: 2.0.0 Changed: 2026-02-15 — Switched from Notion to local storage, added hash suffixes for uniqueness. Author: Claire (OpenClaw Agent) License: MIT