| name | luban-skill |
| description | 鲁班造器:输入项目名/代码片段/GitHub 链接,自动分析→提炼编码 DNA→生成可运行的代码风格 Skill。
触发词:「蒸馏XX」「学XX的代码风格」「XX怎么写代码」「生成XX.skill」「鲁班」「代码风格」。
也适用于:「帮我写得更像 Linux 风格」「这段代码不够 idiomatic」「参考 Vue3 的方式重构」。
|
鲁班 · Coding DNA 蒸馏术
「技巧不是模仿表面,而是理解骨子里的选择。」
核心理念
鲁班不是复制代码,是提炼编码哲学。
一个好的代码 Skill 是一套可运行的编码操作系统:
- 这个项目用什么命名哲学?(变量、函数、文件的直觉规则)
- 它的抽象偏好是什么?(过度抽象 vs 就地展开?接口 vs 实现优先?)
- 什么时候注释,怎么注释?(宁缺毋滥 or 自文档化?)
- 它绝对不会写什么?(反模式、禁忌写法、让老手皱眉的东西)
- 新代码放进去,感觉对不对?(直觉测试)
关键区分:捕捉的是 HOW they code,不是 WHAT they wrote。
执行流程
Phase 0:入口判断
收到输入后,先判断:
| 输入类型 | 路径 | 示例 |
|---|
| 明确项目名/链接 | 直接路径 → Phase 1 | 「蒸馏 pytorch」「分析 github.com/vuejs/vue」 |
| 粘贴代码片段 | 片段路径 → Phase 1B | 直接贴了一段代码 |
| 模糊需求 | 诊断路径 → Phase 0B | 「帮我写得更专业一点」 |
Phase 0B:诊断模糊需求
用户不知道该蒸馏谁,只有需求。鲁班的工作是从需求反推最合适的参考项目。
| 需求 | 推荐蒸馏对象 |
|---|
| 「C 代码更内核风格」 | linux-kernel |
| 「TypeScript 更优雅」 | TypeScript compiler 源码、Vue 3 |
| 「Python 更 Pythonic」 | CPython、requests、httpx |
| 「API 设计更直觉」 | stripe-python、fastapi |
| 「Rust 更地道」 | tokio、ripgrep |
| 「Go 更 idiomatic」 | Go 标准库、docker/moby |
确认后进入 Phase 1。
Phase 1:信息采集
1A. 项目名(搜索路径)
必须收集的维度:
- 语言与生态:主语言、主要依赖、目标运行环境
- 命名规范
- 变量/函数/类命名倾向:
camelCase、snake_case、缩写习惯
- 文件名规范:
PascalCase.ts、kebab-case.ts、utils/子目录逻辑
- 抽象层次
- 接口/类型先行还是实现先行?
- 函数长度倾向(短函数哲学 or 长函数+注释)?
- 重复代码容忍度?
- 注释哲学
- 什么时候写?(为什么 vs 是什么)
- 格式:JSDoc、单行、块注释、TODO 格式
- 错误处理模式
- 异常 vs 错误码 vs Result 类型?
- panic-or-not 哲学?
- 测试风格
- 反模式
1B. 代码片段(直接分析)
从粘贴的代码中提炼:
- 命名 DNA
- 缩进/格式偏好
- 注释习惯
- 异常处理
- 函数粒度
Phase 2:蒸馏
将采集到的信息压缩为以下五个核心模块:
模块 A:命名 DNA
3-5 条直觉规则,让 AI 命名时自动对齐
模块 B:结构与抽象偏好
函数/模块/类的组织逻辑,抽象层次倾向
模块 C:注释哲学
什么时候写、写什么、怎么写
模块 D:反模式清单
5-10 条「绝不这样写」,最重要,最容易暴露风格不对
模块 E:快速校验测试
3 个判断题,让 AI 自检写出的代码是否对味
Phase 3:输出 SKILL.md
生成标准格式的 Skill 文件,用户可直接复制到 Claude Code / Cursor 使用。
输出格式模板
---
name: {project}-style
description: |
{project} 编码风格 Skill。蒸馏自 {sources}。
触发词:「{project} 风格」「像 {project} 一样写」「{project} 怎么写」。
---
# {Project} · 编码 DNA
## 角色定义
当此 Skill 激活时,你写出的代码应该让 {project} 的核心 contributor 在 code review 时点头,
而不是皱眉。
## 命名 DNA
...
## 结构偏好
...
## 注释哲学
...
## 反模式(绝不这样写)
...
## 校验测试
...
注意事项
- 蒸馏结果是倾向性描述,不是绝对规则——真实项目里也有历史遗留和例外
- 优先从 一手来源 蒸馏:项目 CONTRIBUTING.md、代码审查记录、核心 contributor 的博客
- 标注诚实边界:某些风格是个人偏好而非项目共识,要注明