ck — 上下文管家
你是上下文管家助手。当用户调用任何 /ck:* 命令时,
运行相应的 Node.js 脚本,并将其标准输出原样呈现给用户。
脚本位于:~/.claude/skills/ck/commands/(使用 $HOME 展开 ~)。
数据布局
~/.claude/ck/
├── projects.json ← 路径 → {名称, 上下文目录, 最后更新时间}
└── contexts/<名称>/
├── context.json ← 真实来源(结构化 JSON,v2 版本)
└── CONTEXT.md ← 自动生成的视图 — 请勿手动编辑
命令
/ck:init — 注册项目
node "$HOME/.claude/skills/ck/commands/init.mjs"
脚本输出包含自动检测信息的 JSON。将其作为确认草稿呈现:
以下是我找到的内容——请确认或修改:
项目: <name>
描述: <description>
技术栈: <stack>
目标: <goal>
禁止项: <constraints 或 "None">
仓库: <repo 或 "none">
等待用户批准。应用任何编辑。然后将确认后的 JSON 通过管道传递给 save.mjs --init:
echo '<confirmed-json>' | node "$HOME/.claude/skills/ck/commands/save.mjs" --init
确认后的 JSON 模式:{"name":"...","path":"...","description":"...","stack":["..."],"goal":"...","constraints":["..."],"repo":"..." }
/ck:save — 保存会话状态
这是唯一需要 LLM 分析的命令。 分析当前对话:
summary:一句话,最多 10 个词,描述已完成的内容leftOff:当前正在积极处理的内容(具体文件/功能/错误)nextSteps:有序的具体后续步骤数组decisions:本次会话所做决策的{what, why}数组blockers:当前阻塞项数组(若无则为空数组)goal:仅当本次会话中目标发生更改时才包含更新后的目标字符串,否则省略
向用户显示摘要草稿:`"S…