Structured Memory
Manage and update a layered memory system using daily files as source, indexing by domain/module/entity, extracting critical facts, and maintaining recall ef...
Description
name: structured-memory description: Build and maintain a structured memory system for OpenClaw workspaces using layered storage: daily memory as the source of truth, domain/module/entity/tag indexing, critical-facts extraction, and retrieval planning. Use when designing, initializing, updating, or operating a memory system that must scale across work topics such as business, finance, legal, HR, projects, operations, tech, routines, and personal context.
Structured Memory
Version: 1.0.1
Use this skill to initialize and maintain a layered memory system in the OpenClaw workspace.
What it does
- Uses
memory/YYYY-MM-DD.mdas the source of truth - Builds rebuildable indexes by date, module, and entity
- Extracts reusable execution-critical facts into
critical-facts/ - Rebuilds object-style cards under
critical-facts/cards/ - On first initialization, backfills existing
memory/*.mdhistory automatically - Maintains a frozen summary baseline with
preview + topic_summaries
Default operating rule
For 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.
Work-cycle maintenance rule
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.
Core rules
- Treat
memory/YYYY-MM-DD.mdas the source of truth. - Keep first-level
domainfixed and small. - Create second-level
modulefiles only on demand. - Prefer
entitiesfor stable objects andfree_tagsfor one-off concepts. - Store reusable execution-critical facts under
critical-facts/. - Never store high-sensitivity secrets in plain text unless the user explicitly requires it.
- Indexes are rebuildable caches, not the truth.
- A short daily preview is only for quick glance; it must not replace topic-level summaries for multi-topic days.
Fixed first-level domains
Use these exact domains:
strategybusinessorganizationfinancelegalprojectoperationstechroutinespersonalmetamisc
When creating modules
Before creating a new module:
- Check whether an equivalent module already exists.
- Check whether the concept should instead be an entity.
- Check whether the concept is too specific and should remain a free tag.
- Create a module only if it is a reusable topic bucket.
Retrieval order
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/*.mdfor raw fact scanning when the cards are missing or too sparsememory-index/by-date.jsonmemory-modules/andmemory-entities/- candidate
memory/YYYY-MM-DD.mdfiles
Recall priority rule
When 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.
Files to consult
Read these references as needed:
references/taxonomy.mdfor domain and module rulesreferences/write-rules.mdfor write/update behaviorreferences/retrieval-planner.mdfor query routingreferences/index-schema.mdfor JSON and entry schemasreferences/critical-facts-policy.mdfor sensitive-fact handling
Scripts
Operating modes
1. First-time setup
Run once when enabling the skill in a workspace:
python3 skills/structured-memory/scripts/init_structure.py
2. Daily maintenance
Run after meaningful updates to the current day:
python3 skills/structured-memory/scripts/rebuild_one_day.py YYYY-MM-DD
3. Validation / diagnostics
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.pyinitializes the workspace structure safely and, on first run, backfills existingmemory/*.mdhistory into indexes / critical-facts / cards unless explicitly skipped.scripts/parse_daily_memory.pyconverts a daily memory file into a normalized index entry, supporting both structured entries and legacy bullet-style notes.scripts/upsert_by_date_index.pyupdatesmemory-index/by-date.jsondeterministically.scripts/update_topic_indexes.pyappends module and entity index entries from a parsed daily memory result.scripts/rebuild_one_day.pyreparses a single daily memory file and refreshes its by-date/module/entity indexes plus the correspondingcritical-facts/entries for that day.scripts/check_idempotency.pyverifies that rebuilding the same day twice produces a stable result.scripts/summarize_daily_memory.pygenerates the frozen summary layer in the current stable baseline: shortpreviewplustopic_summariesfor multi-topic days.scripts/extract_critical_facts.pyextracts reusable execution-critical facts (IPs, paths, endpoints, service names, stable ids) and can write them intocritical-facts/*.md.scripts/rebuild_critical_fact_cards.pyrebuilds object-style fact cards undercritical-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.pysearches critical-fact cards first, then rawcritical-facts/*.mdfiles.tests/run_tests.pyruns the regression suite across representative memory samples.
Common commands
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
Source-of-truth reminder
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.
Stability note
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.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!