Prhub

#26270 Lazy-load speculative-naming via skill instead of always-on rule

原始 PR 作者 fzyzcjy 合并时间 2026-05-25 15:58 文件变更 2 提交数 1 评论 1 代码增减 +114 / -106

执行摘要

将 spec-naming 规则改为按需技能,节省无关任务 context

PR body 指出原规则文件是项目级规则,每次 sglang 任务都会加载,但规则只应在处理 speculative decoding 代码时应用。每个无关任务浪费约 100 行 context。希望通过改为按需技能来优化。

值得简要阅读以了解如何通过技能(skill)优化 Claude Code 规则加载。但规则引用错误需在后续修复。

讨论亮点

Review 评论指出技能文件中第 22 行引用的 "Rule 7" 不存在(文档实际只有 6 条规则),应为 "Rule 6"。此问题在合并前未被修复。

实现拆解

  1. 新建 .claude/skills/speculative-naming/SKILL. md,添加 frontmatter(name、description)并将原规则 1–6 及范围表全部移至其中,内容与原规则文件除去 frontmatter 外完全一致。
  2. 修改 .claude/rules/speculative-naming. md,删除所有详细规则,改为一行注释引用技能文件。
  3. 注意:迁移过程中保持了规则文本字节一致性,仅增加了 frontmatter 和移除了不必要的行。
文件 模块 状态 重要度
.claude/skills/speculative-naming/SKILL.md 技能配置 added 4.2
.claude/rules/speculative-naming.md 规则配置 modified 3.54

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

技能文件中 Rule 7 引用错误 正确性

gemini-code-assist[bot] 指出技能文件第 22 行引用 "Rule 7",但文档实际只定义了 6 条规则,应为 "Rule 6"。

结论:未修复,PR 合并前作者未修改。 · unresolved

风险与影响

此 PR 仅修改 Claude Code 配置文件,不涉及运行时代码。主要风险是技能自动发现机制依赖于 Claude 版本,若未来版本行为改变可能导致规范不被加载;另外未被修复的规则引用错误可能造成读者困惑。但这些风险都很低,不影响系统运行。

影响范围仅限于使用 Claude Code 进行开发的团队成员:非 spec 任务不再加载不必要规则,节省 context;spec 任务通过技能发现自动加载,无感知。对用户和系统无影响。

文档引用错误 Claude 版本兼容性

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论