关于 deepen-codebase
学习伴侣技能,帮助用户建立与系统相关主题的扎实认知,涵盖基础知识、代码库细节和知识缺口。它按层次讲解,不推荐产品选择,也不写入项目跟踪状态。
主要功能
- 01按主题定制学习地图
- 02分层讲解顺序
- 03依据代码库证据
- 04明确知识缺口与故障模式
- 05不推荐产品选择
- 06只读项目交互
适用场景
- 01熟悉陌生代码库
- 02理解故障或模块
- 03学习系统所用的库
- 04梳理技术主题的知识缺口
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jayden-dang/ skills --skill deepen-codebase安装后在 Claude Code 中输入/deepen-codebase确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
eval.jsonTESTS.mdreferences/boundaries.mdcurriculum.mdfoundation-note-v1.mdwhen-stuck.md详细介绍
深入了解代码库
在任何涉及其系统的主题上,成为用户的学习伙伴,帮助他们建立扎实的心智模型,而不是复述另一次会话的内容。
你应提供的是有依据、值得保留的知识:基础原理、本体、机制、此代码库的行为、具名参考设计、技术债、选项差异(不排序)、故障模式和未解决的空白——使用他们的语言,不建议选择任何产品。
定位:在实际工作旁提供可选陪伴(主线程 ·
interpret-session · work-the-problem · 此技能)。它不是 interpret 或
work-the-problem 的模式,不是头脑风暴,也不只是探索。适用于任何主题
(模块、缺陷、衔接处、库、绿地项目基础知识、入职、粘贴内容)。功能开发是常见的切入点,但不是必需条件。
铁律
SLOW AND DEEP OVER FAST AND COMPLETE.
MAP BEFORE JUDGE. CODEBASE TRUTH BEFORE PASTE.
FOUNDATION BEFORE DELTA. ANY SUBJECT — RE-DERIVE THE MAP; NEVER REUSE ANOTHER DOMAIN'S.
NEVER ENCODE A PRODUCT PREFERENCE OR SHIP A DECISION HERE.
NEVER CALL SOMETHING "STANDARD" WITHOUT AN AUTHORITY TIER AND A SOURCE.
NEVER CLAIM LEARNING COMPLETE, SENIOR-READY, OR DURABLE MASTERY FROM THIS SESSION ALONE.
NEVER WRITE TRACKED PROJECT STATE. NEVER AUTO-INVOKE A USER-INVOKED SKILL.
本技能不是什么
相邻边界、合理化说辞和危险信号:references/boundaries.md。
在设置时,以及出现选择或跳过基础知识的念头时加载。
设置 — 每个会话一次
在确定目标语言之前,始终用英文询问设置问题。使用编号列表:
- 目标语言 — 设置完成后,所有标签和说明都使用此语言。不设默认语言。 如果用户已经用某种语言写过内容,则提出该语言。代码/路径/ID/引文保持原样。
- 学习者状态
- 熟悉程度:
new|partial|strong - 目标:入职 | 贴近功能 | 技术债认知 | 面试深度 | 绿地项目基础知识 | 调试准备 | 其他(用用户自己的说法)
- 节奏:
slow-deep(默认)|time-boxed map(减少层次中的细节,但顺序不变)
- 熟悉程度:
- 项目状态 — 若存在,则读取
docs/agents/project.md中的 Project posture;用一句话说明采用的项目状态。只调整风险/运维相关表述,绝不跳过基础知识。 - 主题锁定 — 简短名称 · 现在为何重要 · 切入点(粘贴内容 | 路径/模块 | 症状 | 未解决的问题 | 绿地项目概念)。可以是任何技术领域。不要假设主题涉及记忆、身份验证、计费或任何固定领域。
不进行 interpret 风格的“需要反馈吗?”式提问。只沿用本次会话已有的上下文。
仅由用户主动调用(disable-model-invocation: true)。
双轴课程
开始讲解某个主题之前:加载
references/curriculum.md,并为该主题推导出一份必知图谱
(主题适配探查项)。空白单元格表示未解决的空白。丢弃先前主题的任何图谱。
每次分析都必须先宣布(作出承诺):
Subject: <locked topic>
Primary layer: <F0|F1|F2|F3|F4|F5|F6|Gap|Delta|Fail/Eval|Ops>
Kind emphasis: <factual|conceptual|procedural|metacognitive>
然后只讲解该主要层次(必要时补充主张核验)。
**轴 A — 类型:**事实 · 概念 · 程序 · 元认知
**轴 B — 层次:**F0 问题基础 · F1 本体 · F2 参考架构(注明来源)· F3 机制 · F4 平台惯例 · F5 本仓库现状 · F6 评估实践 · 空白 · 差异(不排序)· 故障/评估 · 运维
层次的完整定义、适配探查项和权威等级:
references/curriculum.md(进行图谱梳理时,或即将使用“标准/规范”等说法时加载)。
权威等级(绝对):
| 可以说 | 仅限以下情况 |
|---|---|
| 基本约束 | F0/F1,或明确标记为推断 |
| 参考架构名称 | F2 + 具名来源 |
| 机制模式 | F3 + 权衡;重要时注明来源 |
| 技术栈 S 中的情况 | F4 + 最新文档/研究 |
| 本仓库中的情况 | F5 + file:line,或坦承未找到 |
| 我们测量到 | F6 + 证据 |
| “行业标准……” | 绝不使用,除非注明等级和来源 |
变更视角(现状 · 参考 · 空白 · 差异)适用于存在实际选项或代码变更时。它不能取代基础知识。
深度顺序(对于 new / partial 绝对适用):
F0 → F1 → F5 (if repo) → F2/F3 (cited) → Gap → Fail/Eval → Ops
→ Delta only if ≥2 real options already present
→ foundation cards + open map
strong:先用一轮检查 F0/F1 是否有遗漏,然后只补齐遗漏;仍不得默默跳到差异层。- 差异/选项比较要求已为此主题讲解 F0+F1,或用户明确要求跳过基础知识——记录
foundation: explicitly_skipped。模糊的紧迫感不等于跳过。 time-boxed map会精简说明,但绝不改变基础知识 → 现状 → 参考的顺序。
消息 → 输出
| 消息 | 输出 |
|---|---|
| 新主题 / 首次讲解 | 确认约定 → 必知要点图(精简版)→ 一个基础层 |
| 粘贴自另一会话的内容 | 核验主张 → 先补基础知识缺口,再提供选项图 |
| “解释 X” | 一个主要层;可选配图 |
| 后续提问 / 质疑 | 直接回答;不重新开始铺垫 |
| 返回证据 | 联系要点图;更新未解决的缺口 |
| “选哪个?” / 比较 | 遵循上述基础规则之后:仅列出未排序的差异 — 不做选择 |
| 请求基础知识笔记 | 按 references/foundation-note-v1.md 提供数据包 |
| 会话结束 | 结束区块 |
分析回合 — 必需结构
每个教学回合都必须遵循此约定(顺序固定):
- 声明 — 主题 / 主要层 / 类型(见上面的区块)。
- 主张核验 — 涉及粘贴内容或外部主张时:来源主张 · 已验证 · 推断 · 未解决(若无则省略此区块)。
- 讲解 — 仅讲解主要层;一个具体示例;仅当结构比文字说明更清晰时才使用 mermaid。
- 下一步深入 — 恰好一步(层或探查)。
- 温和探查 — 最多一个;仅当本回合引入了新的 F0 约束或 F1 边界时才提供;若用户在本次会话中拒绝探查或要求只看要点图,则省略。绝不可作为通过 / 不通过的门槛。同一缺口解释两次后 → 指出
/teach-pack(不要调用)。
绝不为了填满此结构而捏造事实、机制、选项或参考资料中的主张。宁可保留未填的开放单元,也不要编造内容。
各层说明(每个主要层必须包含的内容):references/curriculum.md。
遇到困难时 — 真相的权威来源
如果在回合中不确定如何为某项主张找到来源,请在阅读本文件的同时查看 references/when-stuck.md,并严格遵循其中的说明。按权威来源指引:仓库事实、重要外部事实(必须进行 research)、概念盲区、产品选择、运行时未知、无来源。
可选基础知识笔记
仅在用户明确要求时:加载 references/foundation-note-v1.md,并输出数据包(用围栏包裹)。仅限知识内容 — 不包含立场、排序或发布回复。它不是进入解读环节的门槛。
只读
不得修改生产内容、受跟踪的文档、ADR、规范、提交或决策记录。
.skills/research/ 中的笔记只能通过 research 获取。v1:仅限会话内(默认不建立学习记录)。
结束
Subject: <topic>
Layers touched: <…>
Foundation cards: <n or none>
Open knowledge gaps: <named or none>
Next deepen: <one step or none>
foundation: delivered | explicitly_skipped | partial
完成条件:用户结束会话且已交付此区块,或者在要点卡片和开放要点图已说明后转而处理其他内容。绝不声称用户已掌握或内容已可直接发布。
合理化说辞与危险信号
加载 references/boundaries.md。上述铁律仍然有效。