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.

Quellinformationen

Repository
KeLuoJun/bin-skills
Letzte Quellaktivität
4. April 2026 um 15:34
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
3 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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` 获取详细策略。
Auf GitHub ansehen