mcpField
C
cs-keep

cs-keep

github.com/codestableエージェントワークフロー1.1k347 回インストール10 週間前に更新
リポジトリ

cs-keep について

cs-keepは、証拠に基づく再利用可能なプロジェクト知識を文書化するCodeStableスキルです。既存の管理先と内容に応じて保存場所を選び、lessonの検証・退役状態を管理します。

主な機能

  1. 01既存の知識を検索して確認
  2. 02内容に応じて保存先を一つ選択
  3. 03lessonを作成または更新
  4. 04observed、validated、retiredを管理
  5. 05重複を防ぎ書き込み権限を確認

活用シーン

  1. 01タスクで検証したプロジェクト知識を記録
  2. 02重要な事実をattention.mdに整理
  3. 03長期的な決定をADRとして記録
  4. 04古いlessonや置き換え済みのlessonを退役

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/codestable/codestable --skill cs-keep

インストール後、Claude Code で/cs-keepを入力して読み込まれたか確認します。

詳細

プロジェクトの README より

cs-keep

把这次学到的东西沉淀成下次能被检索到的项目记忆。落点由你判断,不追问用户分类。

开工与授权

  • 有 .codestable/attention.md 就先读;写前检索 .codestable/lessons/ 与 v1 只读 .codestable/compound/,核实证据、scope、重复项与已有 canonical owner。
  • 用户明确要求“记住 / 更新 / 退役”、接受普通 owning task 给出的晶化候选,或在 Epic 最终毕业 gate 批准候选,就是本次精确内容的写入授权,不追问分类。新建、改写规则/scope、晋升、删除或 跨项目分享仍需用户显式授权,不能从历史操作或“这可能有用”推断。
  • 没有可追溯证据不写;不编造,不从模型记忆、命中次数或自评置信度泛化。

落点判断

按单一 owner 和以下顺序路由:

  1. 机械 guard 优先:能由测试、checker、lint、类型或 deterministic helper 阻止的重复错误, 在 owning task 已有实现授权且不扩大 scope 时直接机械化,不另写重复 lesson;否则只建议进入 对应 owning task,不把记忆写入授权扩成代码修改授权。
  2. 高频必读事实进入 attention.md:全文保持 ≤25 条,保留存量分节;超限先合并再新增。
  3. 结构性决定进入 ADR:必须同时满足难回退、缺少上下文会令人意外、源于真实取舍;沿用项目 惯例位置,不用 lesson 复制决定。
  4. 其他稳定方法进入项目既有文档;目标不存在时请 owner 选择,不发明目录。
  5. 其余尚未被更强 owner 承接的可复用经验,进入 .codestable/lessons/YYYY-MM-DD-{slug}.md,作为可纠偏、可删除的 staging。

.codestable/、attention.md 或 lessons/ 不存在时可按需创建,不要求先跑 cs-onboard。临时状态、 本周计划或 git 已完整表达的事实不沉淀。codestable-eval 只标记未来上游候选;本轮不导出、不上传、 不改 skill,也不恢复 cs-feedback。

lesson 格式

一条一文件,slug 用小写连字符、≤30 字符:

---
status: observed
scope: 模块 / 命令 / 场景关键词
date: YYYY-MM-DD
---
规则:未来可执行的结论。
适用 / 不适用:边界与停止应用信号。
证据:最多三个代表性路径、测试、diff 或任务指针。
候选归宿:test | checker | attention | project-doc | adr | codestable-eval

生命周期

status判据
observed单次任务已有证据,尚未在独立后续任务验证
validated非创建该 lesson 的任务和 agent invocation 中有效命中,真实改善行为并验证成功;具体表现为改变计划或验证,或明确排除一个具体且合理的错误路径
retired被仓库事实反证、scope 完全失效或已有更强 canonical owner;不得应用且不再复活原结论
  • 新 lesson 一律从 observed 开始;不能把创建该 lesson 的同一任务自证为 validated,也不因命中 次数或模型自评晋级。
  • 旧 lesson 缺 status 按 observed 读取,不批量迁移;只在真实状态变化或本来就要更新时补字段。
  • observed -> validated 只在独立后续任务确实采用并验证成功时发生,并只补一次代表性证据;必须记录 lesson 实际改变的计划或验证,或明确排除的具体且合理错误路径,以及本次通过的验收证据。
  • observed|validated -> retired 只写反证/替代原因与指针。retired 条目上的新结论必须另建 observed lesson,不继承旧条目的 validated 身份。
  • 稳定 validated 命中不产生文件 churn。不得保存原始对话、逐次命中日志或无限 evidence history。

写入纪律(硬门槛)

  • 命中同域 lesson 时查重、合并到原条目,不新增重复;继续维持约 50 条预算,达到预算先整理、 晋升、合并或删除,不简单扩容。
  • .codestable/compound/ 是只读历史知识源:命中且结论完整时只引用来源、不新建;有增量时只合并进现有 lesson 或新建 lesson,并引用旧 compound 来源,绝不更新 compound。
  • 晋升前先验证新 owner 已写入且能承接完整事实,再在同一更新中删除重复 lesson;若 task skill 只发现已有 owner,则先标 retired,删除留待显式 cs-keep 整理。
  • 一次只写用户拍板过的内容,不顺手多写。

检索约定

日后找回:grep -ri "关键词" .codestable/lessons/ .codestable/compound/。应用前以当前代码、测试或 canonical 文档核实;retired 不应用,compound/ 命中仍按只读规则处理。

完成

报告写入、更新或删除的文件路径与一句话摘要即可,不设写后确认。

コメント