Install
openclaw skills install structured-memoryManage and update a layered memory system using daily files as source, indexing by domain/module/entity, extracting critical facts, and maintaining recall ef...
openclaw skills install structured-memoryVersion: 1.0.1
Use this skill to initialize and maintain a layered memory system in the OpenClaw workspace.
memory/YYYY-MM-DD.md as the source of truthcritical-facts/critical-facts/cards/memory/*.md history automaticallypreview + topic_summariesFor agents that have this skill installed, structured-memory should not be treated only as an on-demand utility. When the day produced meaningful task progress, decisions, blockers, risks, reusable execution-critical facts, or other meaningful updates to memory/YYYY-MM-DD.md, the agent should treat structured-memory rebuild as part of its default memory maintenance workflow.
After meaningful updates are written into memory/YYYY-MM-DD.md, the agent should normally rebuild the current day into the structured layer before the work cycle ends. This keeps indexes, modules, entities, critical-facts, and cards aligned with the source-of-truth daily memory.
memory/YYYY-MM-DD.md as the source of truth.domain fixed and small.module files only on demand.entities for stable objects and free_tags for one-off concepts.critical-facts/.Use these exact domains:
strategybusinessorganizationfinancelegalprojectoperationstechroutinespersonalmetamiscBefore creating a new module:
Default retrieval order:
MEMORY.mdprojects/*.mdcritical-facts/cards/ for execution-critical lookups about servers, services, paths, IDs, endpoints, repositories, dependencies, or stable operational objectscritical-facts/*.md for raw fact scanning when the cards are missing or too sparsememory-index/by-date.jsonmemory-modules/ and memory-entities/memory/YYYY-MM-DD.md filesWhen the agent needs to recall cross-day work, historical decisions, stable identifiers, paths, endpoints, repositories, service names, project dependencies, or other execution-critical facts, it should prefer checking the structured-memory layer before relying only on current chat context.
Read these references as needed:
references/taxonomy.md for domain and module rulesreferences/write-rules.md for write/update behaviorreferences/retrieval-planner.md for query routingreferences/index-schema.md for JSON and entry schemasreferences/critical-facts-policy.md for sensitive-fact handlingRun once when enabling the skill in a workspace:
python3 skills/structured-memory/scripts/init_structure.py
Run after meaningful updates to the current day:
python3 skills/structured-memory/scripts/rebuild_one_day.py YYYY-MM-DD
Use when checking stability or searching execution-critical facts:
python3 skills/structured-memory/scripts/check_idempotency.py YYYY-MM-DD
python3 skills/structured-memory/scripts/search_critical_facts.py <query>
scripts/init_structure.py initializes the workspace structure safely and, on first run, backfills existing memory/*.md history into indexes / critical-facts / cards unless explicitly skipped.scripts/parse_daily_memory.py converts a daily memory file into a normalized index entry, supporting both structured entries and legacy bullet-style notes.scripts/upsert_by_date_index.py updates memory-index/by-date.json deterministically.scripts/update_topic_indexes.py appends module and entity index entries from a parsed daily memory result.scripts/rebuild_one_day.py reparses a single daily memory file and refreshes its by-date/module/entity indexes plus the corresponding critical-facts/ entries for that day.scripts/check_idempotency.py verifies that rebuilding the same day twice produces a stable result.scripts/summarize_daily_memory.py generates the frozen summary layer in the current stable baseline: short preview plus topic_summaries for multi-topic days.scripts/extract_critical_facts.py extracts reusable execution-critical facts (IPs, paths, endpoints, service names, stable ids) and can write them into critical-facts/*.md.scripts/rebuild_critical_fact_cards.py rebuilds object-style fact cards under critical-facts/cards/ by grouping facts around related entities/projects. Its parser is intentionally tolerant of malformed property lines, empty values, fullwidth colons, and odd spacing so one bad fact line does not crash the whole rebuild.scripts/search_critical_facts.py searches critical-fact cards first, then raw critical-facts/*.md files.tests/run_tests.py runs the regression suite across representative memory samples.python3 skills/structured-memory/tests/run_tests.py
python3 skills/structured-memory/scripts/init_structure.py
python3 skills/structured-memory/scripts/rebuild_one_day.py 2026-03-10
python3 skills/structured-memory/scripts/check_idempotency.py 2026-03-10
python3 skills/structured-memory/scripts/search_critical_facts.py structured-memory
Do not skip or weaken memory/YYYY-MM-DD.md. Structured-memory depends on daily memory and improves retrieval on top of it; it does not replace the source-of-truth record.
Use scripts for deterministic structure work; use manual edits for small, obvious updates.
As of 2026-03-10, 1.0.1 is the current published baseline. The current implementation is frozen after the regression suite reached 206/206 passing. Before changing summary behavior again, update tests first and preserve compatibility with preview + topic_summaries.