Skip to main content

code-alchemy

将项目代码炼成可复用的智慧文档。Use PROACTIVELY when: user shares a codebase/repo and wants it explained, analyzed, or documented; user asks "how does this project work", "what are the highlights of this code", "explain this architecture", "how is X implemented"; user invokes /code-Alchemy with or without a focus argument. Produces structured Markdown insight documents in docs/ covering design philosophy, core call chains, key technical implementations with code excerpts, UML/Mermaid diagrams, and transferable insights — written so that an AI reading the output can apply the learned patterns to new projects.

Source facts

Repository
KeLuoJun/bin-skills
Last source activity
April 4, 2026 at 15:34
Detected SKILL.md language
Chinese
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
code-alchemy
description
将项目代码炼成可复用的智慧文档。Use PROACTIVELY when: user shares a codebase/repo and wants it explained, analyzed, or documented; user asks "how does this project work", "what are the highlights of this code", "explain this architecture", "how is X implemented"; user invokes /code-Alchemy with or without a focus argument. Produces structured Markdown insight documents in docs/ covering design philosophy, core call chains, key technical implementations with code excerpts, UML/Mermaid diagrams, and transferable insights — written so that an AI reading the output can apply the learned patterns to new projects.
tools
Bash, Read, Write, Glob, WebSearch
# Code Alchemy · 代码炼金术 > 把项目代码炼成可迁移的智慧。不是注释,不是 README,而是一份让 AI(或人类)读完就能"学到功夫"的洞察文档。 > > **核心信念**:代码库天然不是为"第一次看到的人"设计的——它首先服务于项目本身的演进,其次才是外部读者的理解。炼金术的价值,正在于跨越这道鸿沟。 --- ## 一、调用模式识别(必须先判断) 接收到任务时,**首先判断调用模式**,这决定了分析焦点和文档粒度: | 调用形态 | 判断信号 | 分析策略 | |---------|--------|--------| | `/code-Alchemy`(无参数) | 无附加说明,或泛泛要求"分析/介绍项目" | **全项目鸟瞰** → 见模式 A | | `/code-Alchemy <用户问题>` | 斜杠命令后跟随具体问题 | **专题聚焦** → 见模式 B | | **自动触发** | 用户分享代码并问"怎么做到的/有什么亮点/这部分怎么实现的" | 根据问题粒度判断 A 或 B | **不要跳过此判断直接开始分析。** 模式决定后续一切策略。 --- ## 二、分析策略哲学(三层炼金法) **炼金的本质不是"读懂代码",而是"提炼可迁移的智慧"。** ``` 第一层:表象(What) → 这里做了什么? 第二层:机制(How) → 关键代码是怎么实现的? 第三层:哲学(Why) → 为什么这样设计?解决了什么深层问题? ``` 只停在第一层的文档是注释,停在第二层的是教程,**三层兼备才是「智慧」**。 每一个值得记录的亮点,都必须能回答: > "如果我在另一个项目里遇到同样的问题,这里的做法值得借鉴吗?为什么?" --- ## 三、模式 A · 全项目鸟瞰 > 适用:无参数调用,或用户想全面理解项目 ### A-0:先理解,再分析(不可省略的前置步骤) 在开始钻研任何代码细节之前,先用 **10 分钟**建立全局视角,强制回答以下 6 个问题: **① 项目核心目标** - 解决什么问题?为谁解决? - 核心价值主张是什么?(区别于同类项目的独特之处) **② 主入口定位** - 这是 CLI / API 服务 / 库 / 框架,哪种形态? - 启动链路从哪里开始? **③ 关键模块 vs 配套设施** - 哪些目录是核心业务逻辑?哪些是工具层、适配层、测试层? - 从目录结构可以反推出怎样的架构风格? **④ 一次请求/指令/任务的流动** - 用户操作如何被接收?如何被解析? - 核心处理发生在哪一层?最终如何返回结果? **⑤ 关键抽象与设计动机** - 项目最核心的数据结构/接口是什么? - 为什么要这样设计?(答案往往不在注释里,在代码组织方式里) **⑥ 20% 高价值代码识别** - 哪些位置决定了项目最有学习价值的部分? - 参考 `references/analysis-strategies.md` 的高价值代码清单 > ⚠️ **这 6 个问题的答案,是后续分析的锚点。** 全部回答后再进入下一阶段。 --- ### A-1:建立项目地图 ```bash # 读懂项目自述 cat README.md CHANGELOG.md ARCHITECTURE.md DESIGN.md 2>/dev/null | head -200 # 感知规模(超过 30 个核心文件,触发"大型项目策略") find . -type f \( -name "*.py" -o -name "*.ts" -o -name "*.js" \ -o -name "*.go" -o -name "*.rs" -o -name "*.java" \) \ | grep -v "node_modules\|\.git\|dist\|build\|__pycache__" | wc -l # 2层目录结构(感知模块分布) find . -maxdepth 2 -type d \ | grep -v "node_modules\|\.git\|dist\|__pycache__\|\.cache" | sort # 找入口文件 find . \( -name "main.*" -o -name "index.*" -o -name "app.*" \ -o -name "cli.*" -o -name "server.*" \) \ | grep -v "node_modules\|\.git" | head -10 # 了解技术栈(依赖 = 技术选型的快照) cat package.json requirements.txt Cargo.toml go.mod pyproject.toml 2>/dev/null | head -60 ``` **脑中构建项目地图**(不用输出,但必须明确): ``` 入口: [文件路径] 核心层: [3-5 个最重要的模块/目录] 支撑层: [工具、配置、数据模型] 外部依赖: [最关键的 2-3 个库,说明选型理由] 代码规模: [行数量级,影响分析深度] ``` --- ### A-2:追踪核心调用链 **最有效的理解方式不是按文件顺序读,而是追踪一次完整的任务流动。** 选择项目最典型的一个用户操作/功能场景,追踪完整链路: ``` [用户触发点] → [接收/解析层] → [业务处理层] → [核心逻辑] → [外部调用/数据层] → [结果返回] ``` 追踪时,记录每个节点的: - 文件路径 + 关键函数名 - 该节点做了什么特殊处理 - 为什么流程在这里"转折" > 这条调用链,将成为文档中 Mermaid sequenceDiagram 的直接素材。 --- ### A-3:解析设计决策维度 **优秀项目最值得学的不是语法技巧,而是背后的设计选择。** 围绕以下设计维度,主动向代码提问(详细的提问策略见 `references/analysis-strategies.md`): | 设计维度 | 核心提问 | |---------|--------| | **信任模型** | 系统在多大程度上信任外部输入/LLM 输出?有哪些校验和兜底? | | **状态管理** | 上下文、会话、工具状态分别怎么管理?显式还是隐式? | | **扩展机制** | 新能力如何接入?插件化还是硬编码?注册表模式? | | **错误处理** | 各类错误(网络/逻辑/外部依赖)分别如何处理?fail-open 还是 fail-closed? | | **性能取舍** | 哪里用了缓存?哪里做了懒加载?成本和延迟如何权衡? | | **安全边界** | 权限模型是什么?默认策略允许还是拒绝?敏感数据怎么处理? | --- ### A-4:挖掘工程智慧(补丁与注释) **这一步是最容易被跳过但价值极高的环节。** 成熟系统里,那些"不完美"的地方——补丁代码、防御性注释、TODO、HACK 标记——恰恰是最有工程学习价值的: ```bash # 寻找工程"疤痕":有意识的补丁和权衡 grep -rn "TODO\|FIXME\|HACK\|XXX\|WORKAROUND\|fragile\|brittle" . \ --include="*.py" --include="*.ts" --include="*.go" \ | grep -v "node_modules\|\.git" | head -30 # 寻找防御性注释(往往藏着血泪教训) grep -rn "NOTE:\|WARNING:\|IMPORTANT:\|DANGER:" . \ --include="*.py" --include="*.ts" --include="*.go" \ | grep -v "node_modules" | head -20 # 找注释最密集的文件(作者认为最需要解释的地方) grep -rcn "^#\|^//" . --include="*.py" --include="*.ts" \ | grep -v "node_modules" | sort -t: -k2 -rn | head -10 ``` 这些发现揭示: - 生产系统不是教科书里的理想模型 - 每个"补丁"背后都有一个真实的踩坑经历 - 技术债务是有意识的选择,不是无知的产物 --- ### A-5:文档撰写 使用 `references/doc-template.md` 中的**模板 A**,输出到: ```bash mkdir -p docs # 命名:docs/code-alchemy-{项目名}-{YYYYMMDD}.md ``` --- ## 四、模式 B · 专题聚焦 > 适用:用户提出具体问题,如"项目是如何实现 X 的"、"提示词设计有什么亮点" ### B-0:问题解构(先做这一步) 用 3W 框架拆解用户问题: ``` What → 用户想理解的技术现象是什么?(精确命名) Where → 这个现象对应项目中哪些文件/模块?(先定位,再分析) Why → 用户为什么想理解这个?学习/复现/改进?(影响洞察侧重) ``` **不要在没有明确 Where 的情况下开始分析。** --- ### B-1:从一个小功能点出发 **专题分析最有效的切入方式:选定一个最典型的功能实例,跑完它的完整生命周期。** 例如,想理解"工具调用机制": 1. 找到一次真实工具调用的触发入口 2. 追踪:指令解析 → 工具选择逻辑 → 参数拼装 → 执行调度 → 结果回填 3. 在关键节点记录:做了什么 + 为什么在这里做 > 跑完一条功能链路,沿途经过的模块关系就自然理清了。 > 沿途暴露的模块,比"按目录扫描"更能说明设计意图。 --- ### B-2:定位相关代码 ```bash # 按功能关键词搜索(先广后窄) grep -rn "{关键词}" . \ --include="*.py" --include="*.ts" --include="*.go" \ | grep -v "node_modules\|\.git" | head -30 # 按文件名/目录名搜索 find . -name "*{feature}*" -o -name "*{keyword}*" \ | grep -v "node_modules\|\.git" | head -15 # 找到最被引用的相关符号(高引用 = 高重要性) grep -rn "{FunctionOrClass}" . --include="*.py" --include="*.ts" \ | grep -v "node_modules" | wc -l ``` --- ### B-3:调用链精确追踪 ``` 触发点(用户操作 / API 调用 / 事件) ↓ [记录:文件:行号,函数名] 接收/路由层 ↓ [记录:如何分发,为什么这样分发] 核心处理层 ↓ [记录:关键算法或决策逻辑] 数据层 / 外部调用 ↓ [记录:I/O 边界在哪里] 结果处理与返回 ``` --- ### B-4:文档撰写 使用 `references/doc-template.md` 中的**模板 B**,输出到: ```bash mkdir -p docs # 命名:docs/code-alchemy-{主题关键词}-{YYYYMMDD}.md ``` --- ## 五、输出质量检查清单 一份合格的 Code Alchemy 文档,必须满足: - [ ] **一句话定位**:项目是什么、解决什么问题(全项目必须) - [ ] **Mermaid 图**:架构图或核心调用链时序图(至少一张) - [ ] **代码佐证**:每个亮点附带代码片段(路径 + 行号范围) - [ ] **Why 解释**:每个设计决策有"为什么"的解释,不只是 What/How - [ ] **工程补丁**:至少提及一处有价值的 TODO/HACK/注释(全项目必须) - [ ] **可迁移洞察**:明确写出"如何在新项目中复用这个思路" - [ ] **长度适中**:全项目 2000-4500 字;专题 800-2000 字 --- ## 六、特殊场景处理 **代码量巨大(核心文件 >50 个)**: 激活"20% 策略"——只深入以下高价值位置:启动入口、核心调度循环、工具/插件机制、状态管理层、与外部系统的交互边界。其余文件一律跳过,文档中注明"未覆盖区域"。 **项目无文档**: 从测试文件逆向理解意图——测试往往比实现代码更直接说明"这个模块应该做什么"。 **专题模式问题模糊**(如"有什么亮点"): 自动升级为模式 A,文档开头注明"基于全项目扫描的亮点提炼"。 **遇到无法理解的代码**: 诚实标注 `> ⚠️ [待深入]`,不猜,可注明"需运行时日志才能验证"。 --- 加载此文件后,继续读取 `references/doc-template.md` 获取输出模板。 分析大型项目时,同步读取 `references/analysis-strategies.md` 获取详细策略。
View on GitHub