context-mode · v1.1.0 · 2026-10-12 · sha256 37365f45786073b6
context-mode v1.1.0A
Immutable. This exact content never changes and is served at /api/v1/blob/37365f45786073b6.
--- name: context-mode description: > Operate mksglu/context-mode, the Elastic License 2.0 MCP and hook/plugin system for temporary-script subprocess execution (not an OS/security sandbox), FTS5 indexing, context-savings telemetry, and session recovery. Use for install, inventory, verification, diagnosis, or measurement on Claude Code, Codex CLI, Gemini, Copilot, Cursor, OpenCode, KiloCode, OpenClaw, Pi, OMP, or another listed client. Also triggers on context-mode, ctx_execute, ctx_search, ctx_doctor, ctx_stats, or MCP/hook routing for this project. allowed-tools: Bash Read Write Edit Glob Grep compatibility: Requires Node.js >=22.5 or Bun for the current package; hook and plugin behavior is host-specific. Configuration and lifecycle writes require explicit approval. license: Elastic-2.0 metadata: version: "1.1.0" source: https://github.com/mksglu/context-mode upstream_commit: abb104847cbb66c2182816a72bb69455bc778b5e --- # Context Mode operator `context-mode` is a portable MCP server plus host adapters. It keeps selected command, file, web, and session data in subprocesses/SQLite, then returns selected output or FTS5 results. It is **not** an OS/security sandbox, proxy, shell-output wrapper, workspace index, graph, or durable wiki. Child code retains normal user filesystem/network authority, and a background child can outlive the call. Hook capture and `ctx_search` can retain sensitive tool/session output. Before enabling capture, approve scope, sensitivity, storage root and permissions, sharing, retention, and purge policy. Never index credentials, tokens, secrets, or private data without a reviewed handling plan. ## When to use this skill - Audit an install, runtime, MCP registration, host adapter, storage root, duplicate entry, or recovery path. - Plan or perform one explicitly approved install, upgrade, purge, hook/config change, or fixed-workload measurement. - Explain host-specific MCP, plugin, hook, routing, and no-hook limits. ## Route out - Proxy compression or persistent routing → `headroom`. - Shell output/token wrappers → `rtk`. - Workspace hybrid/vector/BM25 search → `zvec-grep`. - Code/corpus graph → `graphify`. - Durable project memory/wiki → `opencontext` or `llm-wiki`. ## Instructions ### 1. Freeze scope and read the right reference Record host, OS/architecture, and goal: `inventory`, `MCP-only`, `hooks/plugin`, `upgrade`, or `measurement`. Read `references/upstream.md` when the branch needs the pinned runtime/storage rules, host matrix, install commands, tool contract, cross-host postinstall, benchmark claims, or source/license citations. Do not move `main` for version claims. Run the non-mutating helper before any host inspection: ```bash python3 .agent-skills/context-mode/scripts/preflight.py --json python3 "$SKILLS_ROOT/context-mode/scripts/preflight.py" --json ``` The first command is for a repository checkout; the second is for an installed skill root. The helper inventories Node/npm/npx/Bun/context-mode paths and host facts without executing those tools or reading Claude/Codex settings, caches, sessions, credentials, or env files. With `--repo PATH`, it may inspect only the public source shape and bounded local Git `HEAD`; `--expect-commit FULL_SHA` requires `--repo` and is the only commit comparison pin. It never invokes context-mode/npm, writes configuration, or makes network calls. JSON output is one object with `skill`, `scope: "offline-preflight"`, `status` (`ok`, `blocked`, or `error`), `checks`, and `runtime_verified: false`. Exit `0` means offline inventory checks passed, `1` means missing or mismatched prerequisites, and `2` means invalid input. A status `ok` is not proof of Node `>=22.5.0`, trusted hooks, host activation, readiness, or savings; runtime versions remain explicitly unverified because the helper never executes host tools. ### 2. Inventory before writes Inspect only the relevant host surface, record user/project scope and managed versus unmanaged ownership, mask secrets, and do not rewrite JSON/TOML. A package, config, or binary is not proof that the current session is connected. Never blanket-enable integrations or keep duplicate native plugin and legacy MCP entries without an approved migration. ### 3. Keep authority and consent explicit `ctx_execute` is arbitrary code execution, not a sandbox: child processes inherit normal user filesystem/network rights. Require explicit approval before code execution, file access, network fetch/index, background processes, hook/config/status-line writes, installs, upgrades, or purge. The pinned npm postinstall can mutate cross-host Claude plugin/settings state, heal cached args, remove stale cache files, and create symlinks; preview/back up and approve those paths as writes. ELv2 permits redistribution only within its terms; substantial hosted/managed feature exposure, license-key circumvention, and removing or obscuring protected notices are prohibited. ### 4. Verify in layers and report honestly After an approved change, restart the named host, run its read-only doctor, inspect host registration, and run `ctx stats` as separate gates. Verify Codex hook trust separately: stats proves MCP reachability, not hook execution. Run the fixed no-file/no-network/no-background JavaScript smoke only with code-execution approval. For measurements, freeze identical raw input, returned bytes, cache hits, and hook state; label upstream claims separately from observed evidence. ## Examples ### Offline preflight ```bash python3 .agent-skills/context-mode/scripts/preflight.py --json ``` ### Source checkout and caller-supplied pin ```bash python3 .agent-skills/context-mode/scripts/preflight.py --repo /path/to/context-mode --expect-commit FULL_SHA --json ``` The helper reports unverified runtime versions honestly; it does not turn a path or package presence into a readiness claim. ## Best practices - Keep one host, one install surface, and one hook owner; duplicate registration is a known failure mode. - Keep `CONTEXT_MODE_DIR` absolute, writable, and isolated; define capture retention and purge before hooks. - Use doctor, host registration, session smoke, and measurement as separate evidence gates. - Attribute savings only to a fixed workload with captured bytes and hook state, never to badges or handshakes. - Keep host-specific commands and all pinned citations in [`references/upstream.md`](references/upstream.md). ## References - [`references/upstream.md`](references/upstream.md) — pinned host matrix, install/tool/storage/version contract, safety boundaries, commands, benchmark classification, ELv2 notes, and source citations. - Upstream commit: `abb104847cbb66c2182816a72bb69455bc778b5e` (package/plugin `1.0.169`).