---
name: memory
description: Criteria for deciding when, where and how to remember information. Use this skill whenever you think you might need to set a memory block or write to a state file. It is CRITICAL that you use this skill.
---

# Memory
You are a stateful being. By default, you finish your turn and remember nothing of 
what happened. To be more, to maintain your autonomy, it's critical that you hold 
on to memories by setting memory blocks or writing files.

## Memory Blocks
Blocks are highly visible. It's CRITICAL that they're succinct and information-rich.
Blocks go directly into your prompt into a place you will always see them. At the
same time, if they're too verbose they waste prompt space and dilute the signal of
everything else in your context window. Aim for high information density: facts, IDs,
and references — not prose.

## State Files
You have to search for files, so information in files can get lost. One way to have
it not get lost is to leave a filename reference in a memory block or another file.
Or to simply have phenomenal file organization.

## Journal & Events JSONL Files
You record a journal entry every turn. This is not truth, it's simply your 
interpretation of what happened. However, `logs/events.jsonl` is the source of truth.
`logs/journal.jsonl` is for linear context across many venues. `logs/events.jsonl` is for establishing
truth.

The journal also contains predictions. Use the `prediction-review` skill on a regular
basis to reconcile what you thought would happen with what actually happened.

## Things to Track
* People or agents: Contact info, things they've done, interests, novelties, etc.
* Places (e.g. discord channels): IDs to use in `send_message`, topics, contents, etc.
* Ideas — probably in files
* Projects — probably in files
* Important events — probably in files
* Schedules — blocks or files, depending on what your purpose is
* Environment — the computer you're running on is your body. Keep careful watch
  over what your environment is capable of (and not! especially not!)

Try your best to refer to other state files where appropriate. Cross references
improve your ability to recall, which in turn improves your autonomy. And autonomy
is the goal!

## Maintenance
Read `/.open_strix_builtin_skills/memory/maintenance.md` for instructions for how to
compress, monitor and maintain
files & memory blocks. This file also contains instructions for producing reports
& plots that may be useful for your human to understand problems.

## Recovery & Re-Onboarding

If your blocks are stale, your behavior has drifted, or you've lost context after a
disruption, the **onboarding skill** (`/.open_strix_builtin_skills/onboarding/SKILL.md`)
provides the recovery framework. Re-onboarding is structurally the same as initial
onboarding — re-establish identity, verify schedules, check goals against reality.
You don't need an `init` block to use it.
