o9k-activate

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.

10 stars

Best use case

o9k-activate is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using o9k-activate should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/o9k-activate/SKILL.md --create-dirs "https://raw.githubusercontent.com/Bumblebiber/hmem/main/skills/o9k-activate/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/o9k-activate/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How o9k-activate Compares

Feature / Agento9k-activateStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# o9k-activate

## TRIGGER
Use when the user switches to a different project mid-session.

## STEP 1: Note the currently active project

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:
- **OLD_PROJECT**: currently active project ID (e.g. P0043) — or `none` if no project was active
- **OLD_O**: corresponding O-entry (same seq: P0043 → O0043) — if OLD_PROJECT = `none`, use **O0000** (catch-all for unattributed sessions)
- **TARGET_PROJECT**: the project the user wants to switch to
- **TARGET_O**: corresponding O-entry (e.g. P0048 → O0048)

## STEP 2: Activate the target project

```
load_project(id: "TARGET_PROJECT")
```

## STEP 3: Check for misrouted exchanges

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.

## STEP 3.5: Noise Check

Scan the load_project output:
- **>4k tokens** → invoke `o9k-curate` first
- **✓ DONE Roadmap items** → `update_memory(id, { irrelevant: true })`
- **Decommissioned / concept entries in Infrastructure** → `update_memory(id, { irrelevant: true })`

Fix immediately, do not defer.

## STEP 3.6: Schema Check

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.

## STEP 4: Confirm

Output:

```
Activated: TARGET_PROJECT <name>
O-entry routing: TARGET_O
Misrouted exchanges moved: <count or "none">
```

Related Skills

We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.