被毕业的同事其实并没有消失,他们只是被蒸馏成了 Token,换成另一种形式陪伴你。
Code Alchemist 是一个 Claude Code Skill,用于从 Git 提交历史中学习开发者的编码习惯,并将其提炼成可安装的 Skill。顷刻炼化。
每个工程团队都有成员,他们的编码智慧是无价的——命名约定、架构直觉、测试习惯,这些都塑造了代码库。当他们离开时,这些知识往往也随之而去。
Code Alchemist 从 Git 历史中捕获这些可重复的工程习惯,将其保存为可操作的 Skill,可以在任何项目中安装使用。
- 一键炼成: 在一个工作流中完成
分析 → 归纳 → 安装 - 交互式安装: 可选择安装位置(项目/全局)和 Skill 名称
- 证据提取: 脚本自动提取提交统计、文件热度、目录分布、diff 样本和存活文件
- 模型归纳: 基于提取的证据,由 AI 读取代表性源码并归纳以下维度的风格规则:
- 命名与词汇、结构与边界、数据与控制流
- 错误处理、测试习惯、注释风格
- 提交粒度、反模式
npx skills add Fldicoahkiin/code-alchemist常用选项:
# 安装到全局
npx skills add Fldicoahkiin/code-alchemist -g
# 指定 agent
npx skills add Fldicoahkiin/code-alchemist -a claude-code
# 列出可用 skill
npx skills add Fldicoahkiin/code-alchemist --listcd .agents/skills
git clone https://github.com/Fldicoahkiin/code-alchemist.git code-alchemist直接告诉 Claude Code:
把张三炼成 skill
分析 senior-dev 的代码风格并生成 skill
把 senior-dev 的习惯保存成 skill
Claude 将会:
- 运行分析脚本
- 读取代表性代码样本
- 生成完整的 Skill
- 安装到当前项目(默认)
- 确认完成
注意:默认直接安装到当前项目。如需自定义安装位置,可在指令中明确说明"安装到全局"或"询问后再安装"。
如果你希望单独运行分析:
bash .agents/skills/code-alchemist/scripts/distill_author.sh \
--repo /path/to/target/repo \
--author "Developer Name" \
--since "6 months ago" \
--out ./analysis-output然后在 Claude Code 中:
基于 ./analysis-output 生成 skill
bash .agents/skills/code-alchemist/scripts/distill_author.sh \
--repo /path/to/repo \ # 必需: 目标仓库
--author "name|email" \ # 必需: 作者标识
--since "6 months ago" \ # 可选: 开始日期
--until "1 month ago" \ # 可选: 结束日期
--include "src/**" \ # 可选: 包含路径 (可重复)
--exclude "src/generated/**" \ # 可选: 排除路径 (可重复)
--max-commits 100 \ # 可选: 限制提交数 (默认: 100)
--max-examples 10 \ # 可选: 示例提交数 (默认: 10)
--out /path/to/output # 必需: 输出目录| 文件 | 说明 |
|---|---|
summary.md |
人类可读的分析报告 |
summary.json |
结构化统计数据 |
file_stats.csv |
文件级别的修改统计 |
example_commits.json |
代表性提交索引 |
examples/*.diff |
代表性提交的补丁文件 |
live_files.txt |
当前仍存在的代表性文件列表 |
核心分析脚本 distill_author.sh 使用 Bash 编写(兼容 3.2+,即 macOS 默认版本),原因如下:
- 零依赖: 仅使用标准 Unix 工具 (git, grep, sed, awk)
- 普遍可用: 兼容任何有 Bash 3.2+ 的系统(包括 macOS 默认版本)
- Git 原生: 通过子进程直接集成 git 命令
- 性能: 对大型仓库进行高效的文本处理
- 简洁: 单文件,无需包管理
默认情况下,Code Alchemist 会将生成的 skill 直接安装到当前项目:
# Skill 已安装到 ./.agents/skills/<author>-style/
# 可立即使用如需自定义安装,可在指令中明确说明:
- "安装到 Claude 全局" →
~/.claude/skills/ - "安装前先问我" → 交互式确认
- "只生成不安装" → 输出到指定目录
使用 <author>-style 创建一个用户列表组件
按照 <author> 的习惯重构这段代码
生成的 Skill 包含:
.agents/skills/<author>-style/
├── SKILL.md # 风格规则和模式
└── evals/
└── evals.json # 验证测试用例
当核心团队成员离职时,提取他们的工程风格,帮助新成员快速学习团队的「隐形规范」。
分析团队中最资深成员的提交历史,生成团队代码规范,确保新人代码符合团队习惯。
将自己的代码风格提炼成 skill,让 Claude Code 在你的个人项目中保持一致的编码风格。
在多个项目中安装相同的 Skill,在整个代码库中保持一致的编码风格。
code-alchemist/
├── .agents/skills/code-alchemist/
│ ├── SKILL.md # Skill 定义文件
│ ├── scripts/
│ │ ├── distill_author.sh # 核心分析脚本 (Bash 3.2+)
│ │ └── validate_skill.sh # Skill 验证脚本
│ ├── references/
│ │ ├── distillation-dimensions.md # 8 维度提取清单
│ │ └── output-contract.md # 输出格式规范
│ ├── templates/
│ │ ├── skill-template.md # Skill 生成模板
│ │ └── agents-snippet.md # AGENTS.md 片段模板
│ └── evals/
│ └── evals.json # 评估测试用例
├── installer/ # npx 安装器包
│ ├── install.js # 交互式安装脚本
│ ├── package.json # npm 包清单
│ └── README.md # 安装器文档
├── LICENSE # MIT 许可证
├── README.md # 本文档(中文)
└── README.en.md # 英文文档
根据 references/distillation-dimensions.md,我们从以下 8 个维度提取开发者风格:
- 命名与词汇 - 领域术语、变量命名长度、命名后缀
- 结构与边界 - 文件职责、逻辑内联 vs 提取
- 数据与控制流 - 状态管理、纯函数偏好
- 错误处理与可观测性 - 错误模式、日志、追踪
- 测试习惯 - 测试密度、测试类型、回归覆盖
- 注释与文档 - 注释风格、魔法数字处理
- 提交粒度 - 提交大小、重构分离、动词使用
- 显式反模式 - 作者一贯避免的模式
- 分析结果的可信度取决于目标作者的提交数量和一致性
- 建议至少分析 20+ 个提交以获得可靠结果
- 优先信任重复出现的模式,而非一次性事件
- 避免捕获个人语气或情绪表达
- 当历史代码与当前代码冲突时,以当前代码为准
- 生成的 Skill 在团队部署前应经过审核
bash .agents/skills/code-alchemist/scripts/distill_author.sh \
--repo ~/projects/awesome-react-app \
--author "[email protected]" \
--include "src/components/**" \
--include "src/hooks/**" \
--since "12 months ago" \
--out ./senior-dev-style然后在 Claude Code 中:
使用 code-alchemist skill 基于 ./senior-dev-style 分析结果生成 skill
或简单地说:
把 senior-dev 炼成 skill
用户通过 npx skills add Fldicoahkiin/code-alchemist 安装,skill 文件从 GitHub 仓库下载。
确保 .agents/skills/code-alchemist/ 目录下的 skill 文件保持最新即可。
将每一位优秀的工程师,都变成可传承的智慧 Token。