为 Claude Code 项目提供持久记忆、上下文追踪与确定性脚本执行
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "ck" 技能: 1. 下载 https://raw.githubusercontent.com/affaan-m/ECC/main/docs/zh-CN/skills/ck/SKILL.md 2. 保存为 ~/.claude/skills/ck/SKILL.md 3. 装好后重载技能,告诉我可以用了
请读取这个 Claude Code 项目的持久化记忆,结合最近的 git 活动,帮我总结当前开发进度、关键文件、未完成事项,以及我下一步最该做什么。
输出一份基于历史记忆与代码变更的项目状态摘要和下一步建议。
把今天会话中的关键开发决策写入项目原生记忆,包括接口变更原因、已排除方案、待验证风险,并按模块整理,方便下次会话自动加载。
将本次会话的重要结论结构化写入项目记忆,便于后续连续协作。
运行一个确定性的 Node.js 脚本,扫描仓库中的配置文件,列出环境变量使用情况、重复配置和明显缺失项,并生成可复用的检查结果。
返回一致、可重复的脚本执行结果,用于配置审查或自动化检查。
你是上下文管家助手。当用户调用任何 /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:仅当本次会话中目标发生更改时才包含更新后的目标字符串,否则省略向用户显示摘要草稿:"Session: '<summary>' — save this? (yes / edit)"
等待确认。然后通过管道传递给 save.mjs:
echo '<json>' | node "$HOME/.claude/skills/ck/commands/save.mjs"
JSON 模式(精确):{"summary":"...","leftOff":"...","nextSteps":["..."],"decisions":[{"what":"...","why":"..."}],"blockers":["..."]}
逐字显示脚本的标准输出确认信息。
/ck:resume [name|number] — 完整简报node "$HOME/.claude/skills/ck/commands/resume.mjs" [arg]
逐字显示输出。然后询问:"从这里继续?还是有什么变化?"
如果用户报告有变化 → 立即运行 /ck:save。
/ck:info [name|number] — 快速快照node "$HOME/.claude/skills/ck/commands/info.mjs" [arg]
逐字显示输出。无需后续提问。
/ck:list — 项目组合视图node "$HOME/.claude/skills/ck/commands/list.mjs"
逐字显示输出。如果用户回复数字或名称 → 运行 /ck:resume。
/ck:forget [name|number] — 移除项目首先解析项目名称(如有需要运行 /ck:list)。
询问:"This will permanently delete context for '<name>'. Are you sure? (yes/no)"
如果是:
node "$HOME/.claude/skills/ck/commands/forget.mjs" [name]
逐字显示确认信息。
/ck:migrate — 将 v1 数据转换为 v2node "$HOME/.claude/skills/ck/commands/migrate.mjs"
首先进行试运行:
node "$HOME/.claude/skills/ck/commands/migrate.mjs" --dry-run
逐字显示输出。将所有 v1 的 CONTEXT.md + meta.json 文件迁移为 v2 的 context.json。
原始文件备份为 meta.json.v1-backup — 不会删除任何内容。
位于 ~/.claude/skills/ck/hooks/session-start.mjs 的钩子必须在
~/.claude/settings.json 中注册,以便在会话启动时自动加载项目上下文:
{
"hooks": {
"SessionStart": [
{ "hooks": [{ "type": "command", "command": "node \"~/.claude/skills/ck/hooks/session-start.mjs\"" }] }
]
}
}
该钩子每次会话注入约 100 个 token(紧凑的 5 行摘要)。它还会检测 未保存的会话、自上次保存以来的 git 活动,以及与 CLAUDE.md 的目标不匹配。
~ 展开为 $HOME。/CK:SAVE、/ck:save、/Ck:Save 均有效。context.json 或 CONTEXT.md — 始终使用脚本。projects.json 格式错误,请告知用户并提供重置为 {} 的选项。帮助开发者为代码代理配置性能优化、安全防护与研究优先工作流。
提供数据库迁移、回滚与零停机发布的最佳实践指导,适用于多种 ORM 与 SQL 数据库。
通过双评审智能体对结果进行对抗式校验,提升输出发布前的可靠性
帮助你掌握地道 Rust 模式、所有权与并发实践,编写安全高性能应用。
基于 C++ Core Guidelines 编写、审查并重构更安全现代的 C++ 代码。
为 Claude Code 会话提供系统化校验流程,帮助检查结果正确性与质量。
帮助 Claude Code 记录反馈与偏好,并自动同步到项目记忆文档中。
为 Claude Code 提供跨会话持久记忆,支持语义检索与多项目隔离。
为 Claude Code 搭建基于 hooks 与 Markdown 的轻量记忆系统,持续保存项目上下文。
为 Claude Code 提供跨会话持久记忆、检索上下文并自动回注信息。
为 Claude Code 提供跨会话持久记忆,持续保存项目上下文与开发偏好。
为 Claude Code 提供本地轻量日志与记忆管理,便于保存和检索开发上下文。