SuperAPI AI 工具集

mimic

编程与开发

查看项目

更新于 10-15 17:25

技能介绍

用途:从 Git 仓库中提取特定作者的编码风格,并生成可被后续代码生成复用的风格档案,用于让 AI 按某位同事的习惯写代码。

核心原则:只提取自动格式化工具(Prettier/ESLint/EditorConfig)无法约束的决策,如模块分解、类型建模、错误处理、异步模式、测试理念、抽象层级和业务逻辑位置;每条规则必须引用真实代码的 path:line,无具体示例的规则视为无效。

使用方式:先与用户确认作者(git 作者名或邮箱子串)、范围(路径 glob)、时间窗口(默认 6 个月)和输出目标(独立技能或 CLAUDE.md 片段)。随后运行脚本筛选语料: chmod +x scripts/select-corpus.sh scripts/select-corpus.sh -a "<author-pattern>" -s "<path-scope>" -d "6 months ago" -t 50 -n 40 输出到 .mimic-corpus/,包含 owned-files.txt、ownership.tsv、recent.diff、commits.txt。信号优先级为:作者主导文件全文、PR 评审评论、增量 diff、提交信息;分散的 blame 行忽略。可选拉取评审评论: gh pr list --reviewer "@<login>" --state merged --limit 50 --json url -q '.[].url'
| while read url; do gh pr view "$url" --comments --json comments
-q '.comments[] | select(.author.login=="<login>") | .body'; done

提取维度共 10 项:模块与文件分解、类型建模、错误处理与边界、异步与并发、状态与数据流、函数形态与抽象、测试理念、注释与文档、依赖姿态、领域命名。每个维度输出规则、2 条证据、1 个反例和置信度;实例少于 2 个的维度标注“信号不足”。

验证(强制):选取未用于提取的近期提交,git checkout <sha>~1 重建前状态,让 Claude 结合 style-profile.md 实现,再与作者真实实现 git diff 对比,将差异归为缺失规则或过严规则并迭代,最后恢复状态。

限制:格式化噪声应删除;squash 合并会破坏 blame 粒度,需改用 PR diff;vendored、生成或复制代码会污染归属;团队约束下的写法不等于个人偏好,评审评论可帮助区分;少于约 5 个主导文件或 15 个提交时整体标注低置信度;不得编造规则。