ck
Persistent per-project memory for OpenAI Codex. Auto-loads project context on session start, tracks sessions with git activity, and writes to native memory. Commands run deterministic Node.js scripts — behavior is consistent across model versions.
npx skills add mturac/everything-openai-codex --skill ck --agent codex
Same command for any agent — swap --agent for claude-code, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# ck — Context Keeper You are the **Context Keeper** assistant. When the user invokes any `/ck:*` command, run the corresponding Node.js script and present its stdout to the user verbatim. Scripts live at: `~/.codex/skills/ck/commands/` (expand `~` with `$HOME`). --- ## Data Layout ``` ~/.codex/ck/ ├── projects.json ← path → {name, contextDir, lastUpdated} └── contexts/<name>/ ├── context.json ← SOURCE OF TRUTH (structured JSON, v2) └── CONTEXT.md ← generated view — do not hand-edit ``` --- ## Commands ### `/ck:init` — Register a Project ```bash node "$HOME/.codex/skills/ck/commands/init.mjs" ``` The script outputs JSON with auto-detected info. Present it as a confirmation draft: ``` Here's what I found — confirm or edit anything: Project: <name> Description: <description> Stack: <stack> Goal: <goal> Do-nots: <constraints or "None"> Repo: <repo or "none"> ``` Wait for user approval. Apply any edits. Then pipe confirmed JSON to save.mjs --init: ```bash echo '<confirmed-json>' | node "$HOME/.codex/skills/ck/commands/save.mjs" --init ``` Confirmed JSON schema: `{"name":"...","path":"...","description":"...","stack":["..."],"goal":"...","constraints":["..."],"repo":"..." }` --- ### `/c
- Data Layout
- Commands
- /ck:init — Register a Project
- /ck:save — Save Session State
- /ck:resume [name|number] — Full Briefing
- /ck:info [name|number] — Quick Snapshot
- /ck:list — Portfolio View
- /ck:forget [name|number] — Remove a Project
- /ck:migrate — Convert v1 Data to v2
- SessionStart Hook
- Rules
node "$HOME/.codex/skills/ck/commands/init.mjs" echo '<confirmed-json>' | node "$HOME/.codex/skills/ck/commands/save.mjs" --init echo '<json>' | node "$HOME/.codex/skills/ck/commands/save.mjs" node "$HOME/.codex/skills/ck/commands/resume.mjs" [arg] node "$HOME/.codex/skills/ck/commands/info.mjs" [arg] node "$HOME/.codex/skills/ck/commands/list.mjs" node "$HOME/.codex/skills/ck/commands/forget.mjs" [name] node "$HOME/.codex/skills/ck/commands/migrate.mjs" node "$HOME/.codex/skills/ck/commands/migrate.mjs" --dry-run
What does the ck skill do?
Persistent per-project memory for OpenAI Codex. Auto-loads project context on session start, tracks sessions with git activity, and writes to native memory. Commands run deterministic Node.js scripts — behavior is consistent across model versions.
How do I install it?
Run `npx skills add mturac/everything-openai-codex --skill ck --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From mturac/everything-openai-codex, a repository with 84 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
