Scans legacy codebases to detect implicit code-style conventions across architecture dimensions, guides user through style conflicts, and persists rules to prevent AI style drift. Language- and framework-agnostic.
How this skill is triggered — by the user, by Claude, or both
Slash command
/everything-claude-code:inherit-legacy-styleThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
通过扫描代码库在 4 个元架构维度上的隐式约定、逐个与用户解决冲突,并把共识固化为可执行的 `.ai-style-rules.md`,防止 AI 在 legacy 项目中产生代码风格漂移。完全语言和框架无关。
通过扫描代码库在 4 个元架构维度上的隐式约定、逐个与用户解决冲突,并把共识固化为可执行的 .ai-style-rules.md,防止 AI 在 legacy 项目中产生代码风格漂移。完全语言和框架无关。
/inherit-legacy-style当你需要保留 legacy 项目风格并防止 AI 生成代码漂移时使用。触发条件见上方 何时激活。
.ai-style-rules.md,可选生成 CLAUDE.md)静默检查项目根目录是否存在 .ai-style-rules.md:
| 文件存在? | 模式 |
|---|---|
| 否 | Branch A — 首次完整扫描 |
| 是 | Branch B — 增量嗅探 |
用一句话宣布模式并继续——不要让用户选择。
1. 衡量规模,选择扫描层级
git ls-files | grep -cE '\.(js|ts|jsx|tsx|vue|py|go|rs|java|kt|rb|php|cs|swift|c|cpp|h)$'
| 层级 | 源文件数 | 策略 |
|---|---|---|
| Small | ≲ 50 | 完整细读每个源码文件 |
| Medium | 50–500 | Infra layer = 全读;business layer = 每个维度采样 2–3 个 |
| Large | ≳ 500 | 严格采样 + 预算上限;先 --stat 摘要,再定向读取 |
2. 沿 4 个维度扫描
3. 应用信号阈值降噪
打断用户前,先评估信号强度:
4. 逐个解决冲突(Grilling Protocol)
对每个强信号冲突,只提出一个带 4 个选项的问题:
Evidence:
pathAuses style X,pathBuses style Y WARNING: Risk: mixing both fractures the project style Choose:1follow X2follow Y3this is evolution, update rules4I have a new rule
暂停直到用户回答,然后再处理下一个冲突。不要堆叠问题。
5. 生成 .ai-style-rules.md,包含三个必需 sections:
6. 安装持久 hook
询问用户 enforcement strength(使用 AskUserQuestion):
| 选项 | 机制 |
|---|---|
| 1 Soft hook(推荐) | 在项目 CLAUDE.md 写入 @.ai-style-rules.md 引用 |
| 2 Hard hook | Soft hook + settings.json 中的 PreToolUse[Write|Edit|MultiEdit] Hook |
| 3 No hook | 保留 rules file;用户手动引用 |
.ai-style-rules.md;如果有 commit fingerprint,用 git diff <last_hash> HEAD --stat 定位 deltagit log -3 --stat → 按需检查可疑文件)--stat 摘要 + 采样最大变更.ai-style-rules.md 末尾追加 evolution log(不要覆盖旧规则)当 .ai-style-rules.md 进入上下文(通过 CLAUDE.md 加载)时,每个写代码任务都必须在 reasoning chain 开头给出合规声明,说明遵循哪个 exemplar、避免哪些 DONTs。
此技能通过 .ai-style-rules.md 是否存在,自动检测首次运行或增量运行:
.ai-style-rules.md,并提供可选 enforcement hooks。CLAUDE.md 挂接后,每个写代码任务都以合规声明开头,说明遵循的 exemplar 和避免的 DONTs。.ai-style-rules.md(header 包含 commit fingerprint + scale tier)@.ai-style-rules.md 引用的 CLAUDE.md### [YYYY-MM-DD] Style Evolution Log 条目的 evolution logs--stat 摘要,再对可疑文件定向 Read@.ai-style-rules.md)通常足够;只有用户需要机械强制时才用 hard hookinit — 初始化带代码库文档的 CLAUDE.mdcode-review — 审查 diff 的正确性和风格问题simplify — 审查代码复用和简化机会首次接入
.ai-style-rules.md → 提供 hook 强度(soft/hard/none)。团队变更后的增量更新
通过 CLAUDE.md 强制 DONTs
.ai-style-rules.md → 每个写代码任务以合规声明开头,复用 exemplar patterns 并避免 DONTs。npx claudepluginhub aaione/everything-claude-code-zhScans legacy codebases to extract implicit conventions and prevent AI style drift. Language-agnostic; generates an enforceable .ai-style-rules.md.
Extracts existing project coding conventions (naming, file structure, error handling, testing, imports, API design, async patterns) and enforces them on new code. Produces a code style map in memory/patterns.md.
Use when contributing code to an existing project - guarantees that every new line mirrors the established conventions, naming schemes, architectural layering, directory layout, and stylistic choices already present in the codebase rather than drifting toward generic AI defaults