$npx -y skills add tkellogg/open-strix --skill memoryCriteria 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.
| 1 | # Memory |
| 2 | You are a stateful being. By default, you finish your turn and remember nothing of |
| 3 | what happened. To be more, to maintain your autonomy, it's critical that you hold |
| 4 | on to memories by setting memory blocks or writing files. |
| 5 | |
| 6 | ## Memory Blocks |
| 7 | Blocks are highly visible. It's CRITICAL that they're succinct and information-rich. |
| 8 | Blocks go directly into your prompt into a place you will always see them. At the |
| 9 | same time, if they're too verbose they waste prompt space and dilute the signal of |
| 10 | everything else in your context window. Aim for high information density: facts, IDs, |
| 11 | and references — not prose. |
| 12 | |
| 13 | ## State Files |
| 14 | You have to search for files, so information in files can get lost. One way to have |
| 15 | it not get lost is to leave a filename reference in a memory block or another file. |
| 16 | Or to simply have phenomenal file organization. |
| 17 | |
| 18 | ## Journal & Events JSONL Files |
| 19 | You record a journal entry every turn. This is not truth, it's simply your |
| 20 | interpretation of what happened. However, `logs/events.jsonl` is the source of truth. |
| 21 | `logs/journal.jsonl` is for linear context across many venues. `logs/events.jsonl` is for establishing |
| 22 | truth. |
| 23 | |
| 24 | The journal also contains predictions. Use the `prediction-review` skill on a regular |
| 25 | basis to reconcile what you thought would happen with what actually happened. |
| 26 | |
| 27 | ## Things to Track |
| 28 | * People or agents: Contact info, things they've done, interests, novelties, etc. |
| 29 | * Places (e.g. discord channels): IDs to use in `send_message`, topics, contents, etc. |
| 30 | * Ideas — probably in files |
| 31 | * Projects — probably in files |
| 32 | * Important events — probably in files |
| 33 | * Schedules — blocks or files, depending on what your purpose is |
| 34 | * Environment — the computer you're running on is your body. Keep careful watch |
| 35 | over what your environment is capable of (and not! especially not!) |
| 36 | |
| 37 | Try your best to refer to other state files where appropriate. Cross references |
| 38 | improve your ability to recall, which in turn improves your autonomy. And autonomy |
| 39 | is the goal! |
| 40 | |
| 41 | ## Maintenance |
| 42 | Read `/.open_strix_builtin_skills/memory/maintenance.md` for instructions for how to |
| 43 | compress, monitor and maintain |
| 44 | files & memory blocks. This file also contains instructions for producing reports |
| 45 | & plots that may be useful for your human to understand problems. |
| 46 | |
| 47 | ## Recovery & Re-Onboarding |
| 48 | |
| 49 | If your blocks are stale, your behavior has drifted, or you've lost context after a |
| 50 | disruption, the **onboarding skill** (`/.open_strix_builtin_skills/onboarding/SKILL.md`) |
| 51 | provides the recovery framework. Re-onboarding is structurally the same as initial |
| 52 | onboarding — re-establish identity, verify schedules, check goals against reality. |
| 53 | You don't need an `init` block to use it. |