skills/o9k-activate/SKILL.md
Switch active project mid-session via load_project, then fix any misrouted O-entry exchanges. Use when the user says 'aktiviere/lade Projekt X', 'switch to project Y', or whenever you'd otherwise call load_project mid-session.
npx skillsauth add Bumblebiber/hmem o9k-activateInstall 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.
Use when the user switches to a different project mid-session.
Before calling load_project, check which project is currently active. The active project is shown in every tool response as Active project: PXXXX <name>.
Note:
none if no project was activenone, use O0000 (catch-all for unattributed sessions)load_project(id: "TARGET_PROJECT")
If OLD_PROJECT ≠ TARGET_PROJECT, exchanges from this session may have been logged to OLD_O instead of TARGET_O.
Check OLD_O for today's exchanges:
read_memory(id: "OLD_O")
Look for session nodes created today (check timestamps). If you find exchanges that belong to the TARGET project's context — i.e. they discuss TARGET project topics, not OLD_PROJECT topics — they are misrouted.
To move them:
move_nodes(node_ids: ["OLD_O.X.Y"], target_o_id: "TARGET_O")
Move at the batch or session level (e.g. O0043.3), not exchange by exchange.
If OLD_O has no today-exchanges, or all exchanges genuinely belong to OLD_PROJECT: skip this step.
Scan the load_project output:
o9k-curate firstupdate_memory(id, { irrelevant: true })update_memory(id, { irrelevant: true })Fix immediately, do not defer.
Scan the load_project output for schema mismatches and fix them immediately.
[-] prefix sections — orphaned nodes outside the current schema (e.g. P0048.10 [-] Bugs (duplicate), P0048.21 [-] Protocol (stale artifact)):
update_memory(id="P00XX.YY", { irrelevant: true })
Mark every [-] section irrelevant. Do not skip, do not defer.
Duplicate L2 sections — two entries with the same section name (e.g. two .6 Bugs nodes) → mark the higher-numbered one irrelevant, keep the canonical one.
Missing required sections — auto-reconcile on the next load_project will add them automatically. No manual action needed unless you are actively working on that section right now.
Output:
Activated: TARGET_PROJECT <name>
O-entry routing: TARGET_O
Misrouted exchanges moved: <count or "none">
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.