with one click
hmem-session-start
// Load project context at session start via load_project. Includes recent O-Entry summaries automatically. Run at the beginning of every Cortex session.
// Load project context at session start via load_project. Includes recent O-Entry summaries automatically. Run at the beginning of every Cortex session.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | hmem-session-start |
| description | Load project context at session start via load_project. Includes recent O-Entry summaries automatically. Run at the beginning of every Cortex session. |
Run at the beginning of any session where a Cortex project is active.
Call load_project with the working project ID:
load_project(id: "P00XX")
Replace P00XX with the actual project ID (e.g., P0048).
load_project returns the project brief, recent O-Entry summaries, rules, and lessons. Do NOT call read_memory separately. load_project is the only activation action.
Do this immediately after load_project, before any other work.
Scan the output for:
hmem-curate on this project first, then continueupdate_memory(id, { irrelevant: true })update_memory(id, { irrelevant: true })[-] prefix sections (e.g. P00XX.10 [-] Bugs) — orphaned schema artifacts → update_memory(id, { irrelevant: true }) for eachFix all of the above immediately. Do not note and defer.
Read H0003 (IT Skills) — the scale is 1–9:
Apply this calibration for the entire session. When explaining something in a domain, check the matching H0003 skill first.
This step is critical. Every load_project call changes which O-entry receives session exchanges. If you called load_project on any project other than your working project — even briefly, even for administrative reasons (reconcile, curation, migration) — those exchanges were misrouted to the wrong O-entry.
After activating, check for misrouted exchanges:
read_memory(id: "O00XX") ← the working project's O-entry (same seq as P00XX)
Look at the most recent batch. If exchanges are missing that you know happened (e.g. earlier in this session), they landed in another project's O-entry.
To find them: check O-entries for any other project you called load_project on during this session. Look for nodes created today with content matching your session.
To fix:
move_nodes(node_ids: ["O00YY.Z"], target_o_id: "O00XX")
Move the misrouted session/batch node to the correct O-entry.
Rule: Never call load_project on a secondary project without immediately re-calling it on your working project. Routing follows the last load_project call — always return control explicitly.
The UserPromptSubmit hook injects the following into every session start:
favorite: true (e.g. reMarkable, shared server). Mark with update_memory(id="I00XX", favorite=true).After both steps, output exactly:
[CORTEX READY] Project: Context loaded. Ready. [/CORTEX READY]
Then wait for the user's first message.