ctx-添加学习记录Skill ctx-add-learning

这是一个用于在软件开发项目中记录关键学习心得的技能。它定义了何时以及如何将调试过程中发现的陷阱、意外行为或根本原因,转化为可供未来参考的原则性知识。该技能强调记录项目特定、非显而易见且经过努力获得的经验,避免记录通用知识或一次性解决方案,旨在构建团队知识库,提升开发效率与代码质量。关键词:软件开发,知识管理,学习记录,调试经验,代码库,最佳实践,ctx工具。

DevOps 0 次安装 0 次浏览 更新于 2/27/2026

名称: ctx-添加学习记录 描述: “记录学习心得。当发现陷阱、错误或意外行为,且未来会话应当了解时使用。” 允许的工具: Bash(ctx:*)

LEARNINGS.md 文件中记录一条学习心得。

记录前

三个问题——如果任一答案为“否”,则不要记录:

  1. “别人能在5分钟内通过谷歌搜到这个吗?” → 如果是,跳过
  2. “这是否特定于这个代码库?” → 如果不是,跳过
  3. “发现它是否付出了真正的努力?” → 如果不是,跳过

学习心得应捕捉原则和启发式方法,而非代码片段。

何时使用

  • 发现陷阱或意外行为后
  • 当调试会话揭示了根本原因时
  • 当发现有助于未来工作的模式时

何时不使用

  • 通用编程知识(不特定于此项目)
  • 不会再次出现的一次性变通方案
  • 代码库中已有文档记录的内容

收集信息

如果用户只提供了标题,请询问:

  1. “你是在做什么时发现这个的?” → 背景
  2. “关键见解是什么?” → 教训
  3. “我们今后应如何处理这种情况?” → 应用

执行

ctx add learning "标题" --context "..." --lesson "..." --application "..."

示例——行为模式:

ctx add learning "智能体忽略重复的钩子输出(重复疲劳)" \
  --context "PreToolUse 钩子在每次工具使用时都运行 ctx agent,重复注入相同的上下文数据包。智能体对此充耳不闻,没有遵循约定。" \
  --lesson "重复注入会导致智能体忽略输出。冷却期墓碑标记每个窗口只发出一次。回读指令创建的行为门比静默注入更难跳过。" \
  --application "在钩子命令中使用 --session \$PPID 来启用冷却期。将上下文注入与回读指令配对使用。"

示例——技术陷阱:

ctx add learning "go:embed 仅适用于同一或子目录中的文件" \
  --context "尝试从父目录嵌入文件,出现编译错误" \
  --lesson "go:embed 路径相对于源文件,不能使用 .. 来跳出包目录" \
  --application "将嵌入文件保存在 internal/assets/ 或子目录中,而非项目根目录"

示例——工作流洞察:

ctx add learning "ctx init 在没有防护的情况下覆盖用户内容" \
  --context "提交 a9df9dd 清除了 DECISIONS.md 中的 18 条决策,替换为空模板" \
  --lesson "Init 将所有 .context/ 文件视为模板,但首次使用后它们包含用户数据" \
  --application "默认跳过现有文件,仅在使用 --force 时覆盖"

质量检查清单

记录前,请确认:

  • [ ] 背景解释了发生了什么(不仅仅是学到了什么)
  • [ ] 教训是原则,而非代码片段
  • [ ] 应用为下次提供了可操作的指导
  • [ ] 尚未存在于 LEARNINGS.md 中(先检查)

确认学习心得已添加。