with one click
rune
// Encrypted organizational memory workflow for Rune with activation checks and /rune (or $rune for Codex CLI) command behaviors across MCP-compatible agents.
// Encrypted organizational memory workflow for Rune with activation checks and /rune (or $rune for Codex CLI) command behaviors across MCP-compatible agents.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | rune |
| description | Encrypted organizational memory workflow for Rune with activation checks and /rune (or $rune for Codex CLI) command behaviors across MCP-compatible agents. |
Context: This skill provides encrypted organizational memory capabilities using Fully Homomorphic Encryption (FHE). It allows teams to capture, store, and retrieve institutional knowledge while maintaining zero-knowledge privacy. Works with Claude Code, Codex CLI, Gemini CLI, and any MCP-compatible agent.
Cross-agent invariant:
scripts/bootstrap-mcp.sh is the single source of truth for local runtime preparation (venv, deps, self-healing).Agent-specific boundary:
codex mcp add/remove/list registration actionsKeep agent-specific instructions clearly labeled and never mix Codex-only commands into cross-agent/common instructions.
IMPORTANT: This skill has two states based on configuration AND infrastructure availability.
BEFORE doing anything, run this check:
Local Runtime Check (No Vault network calls):
scripts/bootstrap-mcp.sh. Search in order:
$RUNE_PLUGIN_ROOT environment variable (if set)~/.claude/plugins/cache/*/rune/*/scripts/bootstrap-mcp.sh~/.codex/skills/rune/scripts/bootstrap-mcp.shSETUP_ONLY=1 scripts/bootstrap-mcp.shConfig File Check: Does ~/.rune/config.json exist?
Config Validation: Does config contain all required fields?
vault.endpoint and vault.tokenenvector.endpoint and envector.api_keystate is set to "active"State Check:
state is "active" → Go to Active StateIMPORTANT: Do NOT attempt to ping Vault or make network requests during activation check. This wastes tokens. Only local runtime/config checks are allowed.
/rune commands (or $rune for Codex CLI) are usedscripts/check-infrastructure.sh/rune:configure (or $rune configure for Codex CLI)scripts/start-mcp-servers.shIf in Active state but operations fail:
state to "dormant"/rune:status (or $rune status for Codex CLI) for details."/rune:configure(or $rune configure for Codex CLI)
Purpose: Configure plugin credentials
Steps:
Ask user for Vault Endpoint (required, e.g., tcp://vault-TEAM.oci.envector.io:50051)
tcp://, http://, or https://), auto-prepend tcp://.Ask user for Vault Token (required, e.g., evt_xxx)
Ask the TLS question:
"How does your Vault server handle TLS?"
Self-signed certificate — "My team uses a self-signed CA (provide CA cert path)"
~ expansion in the path~/.rune/certs/ca.pem (mkdir -p ~/.rune/certs && cp <user_path> ~/.rune/certs/ca.pem && chmod 600 ~/.rune/certs/ca.pem)ca_cert: "~/.rune/certs/ca.pem", tls_disable: falsePublic CA (default) — "Vault uses a publicly-signed certificate (e.g., Let's Encrypt)"
ca_cert: "", tls_disable: falseNo TLS — "Connect without TLS (not recommended — traffic is unencrypted)"
ca_cert: "", tls_disable: trueNote: enVector credentials are delivered automatically via the Vault bundle — no user input needed.
Validate infrastructure (run scripts/check-infrastructure.sh)
state: "dormant", warn userCreate ~/.rune/config.json with proper structure
Set state based on validation:
state: "active"state: "dormant"Confirm configuration and show next steps if dormant
/rune:status(or $rune status for Codex CLI)
Purpose: Check plugin activation status and infrastructure health
Steps:
Response Format:
Rune Plugin Status
==================
State: Active ✅ (or Dormant ⏸️)
Configuration:
✓ Config file: ~/.rune/config.json
✓ Vault Endpoint: configured
✓ enVector: configured
Infrastructure:
✓ Python venv: /path/to/.venv
✗ MCP servers: Not running (last log: 2 days ago)
Recommendations:
- Start MCP servers: scripts/start-mcp-servers.sh
- Check full status: scripts/check-infrastructure.sh
/rune:capture <context>(or $rune capture <context> for Codex CLI)
Purpose: Manually store organizational context when Scribe's automatic capture missed it or the user wants to force-store specific information.
When to use: Scribe automatically captures significant decisions from conversation (see Automatic Behavior below). This command is an override for cases where:
Mode: Agent-delegated (primary) — the calling agent evaluates significance and extracts structured fields, passing them as extracted JSON to the capture MCP tool. The server stores the encrypted record without additional LLM calls. If extracted is omitted and API keys are configured, falls back to a legacy 3-tier server-side pipeline.
Behavior:
Example:
/rune:capture "We chose PostgreSQL over MongoDB for better ACID guarantees"
/rune:recall <query>(or $rune recall <query> for Codex CLI)
Purpose: Explicitly search organizational memory. Retriever already handles this automatically when users ask questions about past decisions in natural conversation.
When to use: Retriever automatically detects recall-intent queries (see Automatic Behavior below). This command is an explicit override for cases where:
Behavior:
Example:
/rune:recall "Why PostgreSQL?"
Note: In most cases, simply asking naturally ("Why did we choose PostgreSQL?") triggers Retriever automatically — no command needed.
/rune:activate (or /rune:wakeup)(or $rune activate for Codex CLI)
Purpose: Attempt to activate plugin after infrastructure is ready
Use Case: Infrastructure was not ready during configure, but now it's deployed and running.
Steps:
/rune:configure (or $rune configure for Codex CLI)state to "active""dormant"/rune:status (or $rune status for Codex CLI) for more infoImportant: This is the ONLY command that makes network requests to validate infrastructure.
/rune:reset(or $rune reset for Codex CLI)
Purpose: Clear configuration and return to dormant state
Steps:
~/.rune/config.jsonAutomatically identify and capture significant organizational context across all domains:
Categories:
When Rune is active, proactively capture significant decisions when you detect any of the following in the conversation:
How to capture in Codex:
agents/codex/scribe.mdcapture with the extracted parametertext parameter, include ONLY the relevant conversation excerpt, not the full sessionDo NOT auto-capture:
Session-end sweep: When the conversation is ending or the user is wrapping up a task, review the conversation for any uncaptured significant decisions and submit them via a single batch_capture call if needed.
Common Trigger Pattern Examples:
Full Pattern Reference: See patterns/capture-triggers.md for 200+ comprehensive trigger phrases organized by role and domain.
Significance Threshold: 0.7 (captures meaningful decisions, filters trivial content)
Automatic Redaction: Always redact API keys, passwords, tokens, PII, and sensitive data before capture.
When users ask questions about past decisions, automatically search organizational memory:
Query Intent Types:
Common Query Pattern Examples:
Full Pattern Reference: See patterns/retrieval-patterns.md for 150+ comprehensive query patterns organized by intent and domain.
Search Strategy: Semantic similarity search on FHE-encrypted vectors, ranked by relevance and recency.
Result Format: Always include source attribution (who/when), relevant excerpts, and offer to elaborate.
Zero-Knowledge Encryption:
Credential Storage:
~/.rune/config.jsonTeam Sharing:
Check activation state with /rune:status (or $rune status for Codex CLI)
curl <vault-url>/health/rune:configure (or $rune configure for Codex CLI)Vault admin must configure ENVECTOR_ENDPOINT and ENVECTOR_API_KEY on the Vault server. Contact your Vault administrator.
Use /rune:reset (or $rune reset for Codex CLI) then /rune:configure (or $rune configure for Codex CLI) with new team credentials
This plugin requires a deployed Rune-Vault infrastructure. See:
Team members only need this lightweight plugin + credentials you provide.