ck

安装量: 2.7K
排名: #2017

安装

npx skills add https://github.com/affaan-m/everything-claude-code --skill ck
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:
~/.claude/skills/ck/commands/
(expand
~
with
$HOME
).
Data Layout
~/.claude/ck/
├── projects.json ← path →
└── contexts//
├── context.json ← SOURCE OF TRUTH (structured JSON, v2)
└── CONTEXT.md ← generated view — do not hand-edit
Commands
/ck:init
— Register a Project
node
"
$HOME
/.claude/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:
Description:
Stack:
Goal:
Do-nots:
Repo:
Wait for user approval. Apply any edits. Then pipe confirmed JSON to save.mjs --init:
echo
''
|
node
"
$HOME
/.claude/skills/ck/commands/save.mjs"
--init
Confirmed JSON schema:
{"name":"...","path":"...","description":"...","stack":["..."],"goal":"...","constraints":["..."],"repo":"..." }
/ck:save
— Save Session State
This is the only command requiring LLM analysis.
Analyze the current conversation:
summary
one sentence, max 10 words, what was accomplished
leftOff
what was actively being worked on (specific file/feature/bug)
nextSteps
ordered array of concrete next steps
decisions
array of
{what, why}
for decisions made this session
blockers
array of current blockers (empty array if none)
goal
updated goal string only if it changed this session , else omit Show a draft summary to the user: "Session: '' — save this? (yes / edit)" Wait for confirmation. Then pipe to save.mjs: echo '' | node " $HOME /.claude/skills/ck/commands/save.mjs" JSON schema (exact): {"summary":"...","leftOff":"...","nextSteps":["..."],"decisions":[{"what":"...","why":"..."}],"blockers":["..."]} Display the script's stdout confirmation verbatim. /ck:resume [name|number] — Full Briefing node " $HOME /.claude/skills/ck/commands/resume.mjs" [ arg ] Display output verbatim. Then ask: "Continue from here? Or has anything changed?" If user reports changes → run /ck:save immediately. /ck:info [name|number] — Quick Snapshot node " $HOME /.claude/skills/ck/commands/info.mjs" [ arg ] Display output verbatim. No follow-up question. /ck:list — Portfolio View node " $HOME /.claude/skills/ck/commands/list.mjs" Display output verbatim. If user replies with a number or name → run /ck:resume . /ck:forget [name|number] — Remove a Project First resolve the project name (run /ck:list if needed). Ask: "This will permanently delete context for ''. Are you sure? (yes/no)" If yes: node " $HOME /.claude/skills/ck/commands/forget.mjs" [ name ] Display confirmation verbatim. /ck:migrate — Convert v1 Data to v2 node " $HOME /.claude/skills/ck/commands/migrate.mjs" For a dry run first: node " $HOME /.claude/skills/ck/commands/migrate.mjs" --dry-run Display output verbatim. Migrates all v1 CONTEXT.md + meta.json files to v2 context.json. Originals are backed up as meta.json.v1-backup — nothing is deleted. SessionStart Hook The hook at ~/.claude/skills/ck/hooks/session-start.mjs must be registered in ~/.claude/settings.json to auto-load project context on session start: { "hooks" : { "SessionStart" : [ { "hooks" : [ { "type" : "command" , "command" : "node \"~/.claude/skills/ck/hooks/session-start.mjs\"" } ] } ] } } The hook injects ~100 tokens per session (compact 5-line summary). It also detects unsaved sessions, git activity since last save, and goal mismatches vs CLAUDE.md. Rules Always expand ~ as $HOME in Bash calls. Commands are case-insensitive: /CK:SAVE , /ck:save , /Ck:Save all work. If a script exits with code 1, display its stdout as an error message. Never edit context.json or CONTEXT.md directly — always use the scripts. If projects.json is malformed, tell the user and offer to reset it to {} .
返回排行榜