skills/hmem-session-start/SKILL.md
Load project context at session start via load_project. Includes recent O-Entry summaries automatically. Run at the beginning of every Cortex session.
npx skillsauth add Bumblebiber/hmem hmem-session-startInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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: <name from load_project> Context loaded. Ready. [/CORTEX READY]
Then wait for the user's first message.
tools
Update flow for its-over-9k (hmem). Runs `npm update -g`, syncs skills, applies migrations, verifies hooks, shows the changelog. Use when the user asks to update/upgrade hmem, o9k, o9k-mcp, or its-over-9k (any language), or when the startup version-check flags a new release. Runs the npm update itself — don't assume it's already done.
development
Mandatory entry point for every Cortex session — invoke at conversation start, after /clear, and after any load_project call. All stable context (H-entries, projects, device, sync) is pre-injected by the hook — no read_memory(mode='essentials') needed. Surfaces pending git work, Next Steps + open T-tasks, and runs the O-entry routing check.
tools
Curate an .hmem file (your own or foreign) — mark obsolete/irrelevant, fix titles, consolidate duplicates, repair broken links. **Requires the `hmem-curate` MCP server** (skill prompts the user to enable it on entry). Use whenever the user says 'aufräumen', 'memory aufräumen', 'Speicher aufräumen', 'hmem aufräumen', 'clean up memory', 'tidy up hmem', 'curate memory', 'consolidate duplicates', 'merge duplicate entries', 'fix broken links', 'kümmer dich um die Memory', or invokes /o9k-curate. Also trigger when `memory_health()` flags BLOCKER/WARNING issues, when a P-entry's load_project output exceeds 4k tokens (session-start noise check defers to this skill), or before any batch cleanup of L, E, D, P entries. Skipping this skill and editing memory directly bypasses health checks, severity triage, and obsolete-chain integrity — never curate without it.
testing
Add a new rule and place it correctly — decide between a cross-project R-entry and a project-specific subnode under the active project's Rules section. Use whenever the user says 'neue Regel', 'Regel hinzufügen', 'new rule', 'add a rule', or invokes /o9k-new-rule. Critical safeguard: project-specific rules placed as R-entries pollute the session-start Rules listing across every project — get the scope right BEFORE writing.