让Claude Code持续学习技能的技能库:continuous-learning-skill


这是一个CC技能:会在你使用 Claude Code 时学习新的 Claude Code 技能。 有点绕,其实就是让Claude Code学会了“记住你踩过的坑”!

claude-code-continuous-learning-skill 是一个为 Claude Code 注入“长期记忆”的开源技能系统。它能在真实调试后自动提炼可复用经验,把一次性排错转化为永久能力,让 AI 编程助手越用越聪明。

为什么说“重复调试”才是 AI 写代码最反人类的地方?

用过大模型写代码的人,都会遇到同一个崩溃瞬间:问题明明昨天才一起解决过,今天它却像第一次见一样重新胡猜。不是因为模型不聪明,而是因为大多数 AI 编程助手天生就是“无状态”的——它们只活在当前上下文里,任务一结束,经验立刻蒸发。

你花一小时才定位出 Vercel + Prisma 在 serverless 环境下因为连接池没关闭导致的 “Too many database connections”,第二天再遇到同样的报错,Claude 还是会从“是不是 schema 写错了”“是不是数据库权限有问题”开始重新试探。这种每次从零开始的协作模式,直接封死了 AI 在长期、复杂工程里的上限。

大模型写代码,最让人崩溃的不是它写错,而是每次犯同样的错都要重头教一遍。

今天介绍的这个开源项目——claude-code-continuous-learning-skill,彻底改变了这一局面。

它让 Claude Code 在完成任务后自动提炼经验,把那些花了一小时才搞明白的冷门报错、绕弯子的解决方案、项目特有的配置逻辑,统统变成可复用的“技能”,下次遇到类似问题直接调用,不再重复踩坑。

这不是简单的提示词优化,而是一套真正意义上的“持续学习”机制,让 AI 代理从一次性工具进化成越用越聪明的长期搭档。

这不是“提示词技巧”,而是一套真正的持续学习机制

这个项目做的事情非常克制,但也非常关键:它不试图训练模型,也不改模型参数,而是让 Claude Code 在真实工作中,把“踩坑经验”固化为技能。

当一次任务中出现了非显而易见、但未来高度可复用的知识时,这个 Skill 会引导 Claude 主动进行一次“事后复盘”,并把结论写成一个结构化的 Skill 文件,存入本地技能库。下一次,只要上下文命中相似的触发条件,Claude 就会自动加载这个技能,直接给出经过验证的方案。

这意味着,AI 第一次开始具备一种接近人类工程师的能力:不是“会不会”,而是“记不记得”。

传统 AI 编程助手最大的缺陷就是“失忆”。而 continuous-learning-skill 的核心目标,就是打破这种“每次从零开始”的循环。它通过监听 Claude Code 的执行过程,在发现“非显而易见但可复用的知识”时,自动生成一个新的 Skill 文件,存入本地技能库。下次当上下文匹配到类似错误信息或场景描述,Claude 会自动加载这个技能,直接给出经过验证的解决方案,省去重复探索的时间成本。

它到底“记住”的是什么?不是聊天记录,而是可执行经验

continuous-learning-skill 有一个非常重要的设计取舍:它拒绝保存模糊经验。

只有同时满足四个条件的知识,才会被允许沉淀为技能:

第一,这个结论必须来自真实调试、试错或深入排查,而不是翻文档就能得到的答案。
第二,它对未来任务具有明确复用价值,而不是一次性的项目 hack。
第三,必须有清晰、可识别的触发条件,比如特定错误日志、运行环境或症状组合。
第四,解决方案已经被验证有效,而不是“理论上可行”。

举个例子,“Fix for PrismaClientKnownRequestError in serverless”就是一个合格的技能描述,因为它精准指向了错误类型、运行环境和解决方案的有效性;
而模糊的“Helps with database problems”则会被系统忽略,因为无法在后续任务中被准确匹配。

因此你会看到类似这样的技能名称:“Fix PrismaClientKnownRequestError in serverless environments”而不是泛泛的 “Helps with database issues”。前者可以被精准命中,后者则会被系统直接丢弃。

核心机制拆解:钩子、自省、结构化存储

从实现上看,这个项目并不复杂,但组合得非常巧妙。

它完全基于 Claude Code 原生的 Skills 架构,并通过一个激活钩子介入工作流。安装后,用户会在本地的 ~/.claude/hooks/ 中部署一个名为 continuous-learning-activator.sh 的activator 脚本,并在 settings.json 里注册这个钩子,让它在 每次用户提交提示(UserPromptSubmit)时自动执行。

这个钩子的作用是在用户的原始提示前插入一段指令,提醒 Claude 主动评估当前任务是否产生了可提取的知识。
这个钩子并不修改你的问题,而是在幕后插入一段指令:要求 Claude 在任务完成后,主动评估“是否产生了值得长期保存的知识”。

这样一来,就不完全依赖 Claude 自身对技能描述的语义匹配能力,大幅提升了技能提取的触发率。

一旦满足条件,系统就会生成一个标准化的 Markdown 技能文件,包含 YAML 元数据,以及四个固定区块:Problem、Trigger Conditions、Solution、Verification 和结构化内容(Problem、Trigger Conditions、Solution、Verification)。这种格式既方便人类审阅,也极利于 Claude 在未来进行快速匹配和调用。

安装和使用:几乎零侵入

使用方式非常直接。首先,通过 Git 克隆仓库。
推荐使用用户级安装,命令为:git clone https://github.com/blader/claude-code-continuous-learning-skill.git ~/.claude/skills/continuous-learning。
选择全局安装,把仓库克隆到 ~/.claude/skills/continuous-learning,让所有项目共享这套学习机制;

也可以只在某个项目的 .claude/skills/ 目录下启用,形成项目级记忆。如果只想在某个特定项目中启用,也可以克隆到项目根目录下的 .claude/skills/ 文件夹。

接着,设置激活钩子:创建 ~/.claude/hooks 目录,复制脚本并赋予执行权限,然后在 settings.json 中添加对应的钩子配置。

完成钩子配置后,你几乎不需要额外操作。Claude 会在后台自动判断是否该“学习”。Claude Code 每次交互中自动评估学习机会。

当然,你也可以主动触发,比如在对话中输入 /retrospective,或直接告诉它“把刚才学到的内容保存成一个 skill”。这一步设计得非常关键:学习是自动的,但控制权仍然在开发者手里。

它并非凭空出现,而是一条清晰的学术演进路线

如果你关注 AI Agent 研究,会发现这个项目并不是灵光一闪。这个看似简单的工具,其实融合了多篇前沿 AI 代理研究的精华。

  • Voyager(2023)证明了“技能库”能让智能体避免重复探索;
  • Reflexion(Shinn et al., 2023)系统化了“自我反思”对任务表现的提升;
  • CASCADE(2024)提出了“获取技能的技能”这一元技能概念;CASCADE 框架提出了“元技能”(meta-skills)的概念,即“用于获取技能的技能”,这正是 continuous-learning-skill 的定位
  • SEAgent(2025)展示了 AI 如何在真实软件环境中通过试错学习。则展示了 AI 代理如何通过试错在陌生软件环境中自主学习,其核心的“/retrospective”指令被直接借鉴

这些学术成果共同指向一个结论:能够持久化学习成果的智能体,其长期表现远优于每次都从头开始的同类。continuous-learning-skill 正是将这一理念落地到日常编程场景的实践。

continuous-learning-skill 做的事情很明确:把这些原本停留在论文里的思想,落地成开发者每天都能用的工具。

为什么说它对开发者是“范式级”的改变?

一旦你把这个 Skill 用在长期项目里,变化会非常明显。

第一次遇到某个 Kubernetes 配置陷阱,可能要查半小时;第二次,它已经能直接指出冲突点;第三次,它甚至会在你描述现象时就提前预警。
Claude 不再只是一个“外部顾问”,而是在逐渐形成一个与你项目深度绑定的经验库。它开始理解你的架构选择、你的历史决策、你的常见失误模式。
这一步,才是真正意义上的人机协作,而不是问答。

对于需要长期维护复杂项目的开发者而言,这个 Skill 的价值不可估量。想象一下,你的项目中有几十个微服务,每个都有独特的部署陷阱和依赖冲突。有了这个持续学习机制,Claude Code 会逐渐积累起一个专属的“项目知识图谱”。

更重要的是,它让 AI 助手从一个“外部顾问”变成了真正融入项目上下文的“内部成员”。它开始理解你的代码风格、你的架构偏好、你的历史决策,从而提供越来越精准的建议。这种“人机共生”的深度协作,是迈向下一代智能开发环境的关键一步。

市面上很多工具也在谈“AI 记忆”,但大多只是延长上下文,或做向量召回。continuous-learning-skill 的不同在于:它把知识拆解成有输入、有输出、可验证的功能单元。这让复用效率产生了数量级的差异,也让 AI 第一次真正具备“积累工作经验”的可能。

技能格式详解:结构化是复用的关键

生成的技能文件采用严格的 Markdown + YAML 格式。
YAML 部分定义了技能的元信息,其中 description 字段至关重要,它必须足够具体,以便 Claude 的检索系统能准确匹配。

正文部分则分为四个区块:
Problem 清晰描述问题现象;
Trigger Conditions 列出所有可能的触发信号,如错误代码、日志片段、环境变量等;
Solution 提供经过验证的、一步一步的操作指南;
Verification 则说明如何确认问题已被解决。

这种结构确保了技能的可操作性和可验证性,避免了模糊不清的“经验贴”。

例如,在 prisma-connection-pool-exhaustion 示例中,Trigger Conditions 明确指出“在 Vercel 或 AWS Lambda 环境下,处理约 5 个并发请求后出现连接数错误”,这让匹配变得极其精准。

一个非常明确的信号:未来 IDE 的形态正在改变

市面上已有不少“记忆增强”类的 AI IDE工具,但它们大多停留在对话历史的长上下文层面,或者依赖向量数据库进行模糊检索。

continuous-learning-skill 的独特之处在于,它将学习成果结构化、模块化、可执行化。它不是存储一段聊天记录,而是提炼出一个具有明确输入(触发条件)和输出(解决方案)的独立功能单元。这使得知识的复用效率远高于简单的文本召回。此外,它深度集成于 Claude Code 的原生技能系统,无需额外的基础设施,开箱即用,对开发者的工作流侵入性极小。

这个项目释放的信号很清晰:未来的开发环境,不只是写代码的地方,而是管理 AI 学习过程的地方。

开发者的角色,会从“重复调试的人”,逐步转向“引导 AI 反思和固化经验的人”。而那些能够被持续学习机制捕获的经验,将成为最重要的生产力资产。

未来的 IDE 可能会内置类似的“经验引擎”,开发者的主要工作将从“写代码”转变为“引导 AI 学习和验证”。这种转变将极大释放人类的创造力,让我们专注于更高层次的架构设计和业务逻辑,而将繁琐的调试、配置、优化等任务交给越来越聪明的 AI 伙伴。这不仅是效率的提升,更是开发心智模型的根本性变革。

如何最大化利用这个 Skill?
要让它发挥最大威力,开发者需要养成“主动反思”的习惯。

在每次成功解决一个棘手问题后,不妨主动输入“/retrospective”命令,引导 Claude 进行一次结构化的经验总结。同时,在描述问题时尽量提供详细的上下文和错误信息,这有助于 Skill 更准确地识别触发条件。

长期来看,定期审查和整理本地的技能库,删除过时或无效的技能,也是保持系统高效的重要维护工作。这就像给自己的 AI 助手做“知识体检”,确保它的“大脑”始终健康、精准。



极客辣评
文章覆盖了大量AI 编程前沿概念:如“Claude Code 持续学习”、“AI 编程助手 记忆”、“Claude Skills 自动化”、“解决重复调试”等,且内容深度和信息密度远超同类简短资讯。github点击标题进入!