diff --git a/SKILL.md b/SKILL.md index f575552..28d88b1 100644 --- a/SKILL.md +++ b/SKILL.md @@ -1,6 +1,6 @@ --- name: opencode-mempalace-bridge -description: Set up the producer side of MemPalace — feed opencode session history and project docs into the palace via the cli_utils wrappers. Use when provisioning a new machine, when the user asks how palace feeding works, when opencode sessions aren't showing up in searches, or when a project needs docs-only mining. Pairs with the `mempalace` skill (consumer side). +description: Set up the producer side of MemPalace — feed opencode session history and project docs into the palace via the wrappers in the mempalace-toolkit repo. Use when provisioning a new machine, when the user asks how palace feeding works, when opencode sessions aren't showing up in searches, or when a project needs docs-only mining. Pairs with the `mempalace` skill (consumer side). --- # Opencode ↔ MemPalace Bridge (producer side) @@ -9,9 +9,9 @@ description: Set up the producer side of MemPalace — feed opencode session his The `mempalace` skill covers *using* the palace (search, diary, KG). This skill covers *feeding* it — specifically, how to wire opencode session history and project docs into the palace on a new machine or after a container recreate. -**Authoritative source:** `/workspace/cli_utils/ARCHITECTURE.md` (also at `/ARCHITECTURE.md` in the gitea repo). When in doubt, read that file — it's the canonical spec. This skill is the short-form checklist. +**Authoritative source:** `/workspace/mempalace-toolkit/ARCHITECTURE.md` (also at the root of the `mempalace-toolkit` repo on gitea). When in doubt, read that file — it's the canonical spec. This skill is the short-form checklist. -**Core idea:** two thin wrappers in `cli_utils/bin/` close gaps in the stock mempalace CLI: +**Core idea:** two thin wrappers in `mempalace-toolkit/bin/` close gaps in the stock mempalace CLI: | Gap | Wrapper | | ---------------------------------------------------------------------------------------- | -------------------- | @@ -34,9 +34,9 @@ Both follow the same **stage-to-cache-then-mine** idiom — they curate input in Prerequisites: `opencode` installed with an active DB at `~/.local/share/opencode/opencode.db`, `mempalace` CLI v3.3.3+, Python 3 (stdlib `sqlite3` only — no extra deps). ```bash -# 1. Clone cli_utils (holds the two wrappers in bin/) -git clone /cli_utils ~/cli_utils -cd ~/cli_utils +# 1. Clone mempalace-toolkit (holds the two wrappers in bin/) +git clone ssh://git@gitea.jordbo.se:2222/joakimp/mempalace-toolkit.git ~/mempalace-toolkit +cd ~/mempalace-toolkit # 2. Install — symlinks bin/* into ~/.local/bin, adds loader to rc file ./install.sh @@ -66,7 +66,7 @@ Named Docker volumes preserve state across container recreate: - `devbox-palace` → `~/.mempalace/palace` - `devbox-data` → `~/.local/share/opencode` -Bind mount `/workspace/cli_utils` from the host — code survives recreate, syncs via gitea. +Bind mount `/workspace/mempalace-toolkit` from the host — code survives recreate, syncs via gitea. **After container recreate:** `~/.local/bin` is ephemeral. Just re-run `./install.sh` (idempotent) — everything else already persists. @@ -108,7 +108,7 @@ Staging is ephemeral by design; the palace is the source of truth. | Symptom | Cause | Fix | | ---------------------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------- | -| `mempalace-session: command not found` | `~/.local/bin` wiped (container recreate) | `cd ~/cli_utils && ./install.sh` | +| `mempalace-session: command not found` | `~/.local/bin` wiped (container recreate) | `cd ~/mempalace-toolkit && ./install.sh --yes` | | Sessions missing from palace | Fewer messages than `--min-messages` (default 3)| Lower threshold or `--session ` explicitly | | "Error finding id" on search after mining | Stale HNSW index | `mempalace repair --yes` + `mempalace_reconnect` | | Drawers doubled for a project | Someone ran raw `mempalace mine` alongside wrapper, or renamed wing mid-flight | Inspect `embedding_metadata` in `chroma.sqlite3`, purge duplicates by source prefix, then `mempalace repair` | @@ -148,10 +148,10 @@ Budget **~20 minutes per 60-session batch**. Scales roughly linearly with messag - **Opencode session-stopping hooks merge** ([PR #16598](https://github.com/anomalyco/opencode/pull/16598) et al.) **AND** `hooks_cli.py` gains `opencode` harness → live auto-save works; `mempalace-session` becomes a manual-only backfill tool (cron / historic import). - **SQLite mode lands in `mempalace mine --mode convos`** → `mempalace-session` loses its reason to exist entirely. -Check `ARCHITECTURE.md` §6 in `cli_utils/` for current upstream status before doing any retirement work. +Check `ARCHITECTURE.md` §6 in `mempalace-toolkit/` for current upstream status before doing any retirement work. ## See Also -- `/ARCHITECTURE.md` — **canonical spec** (diagrams, implementation notes, full troubleshooting). -- `/README.md` — per-tool usage reference. +- `/ARCHITECTURE.md` — **canonical spec** (diagrams, implementation notes, full troubleshooting). +- `/README.md` — per-tool usage reference. - `~/.agents/skills/mempalace/SKILL.md` — consumer-side skill (search, diary, KG) — *pair this skill with that one*.