← ClaudeAtlas

code-simplifierlisted

Simplify recently modified code while preserving behavior and project conventions. Use after a non-trivial code change, or when the user asks to simplify, refine, clean up, or reduce unnecessary complexity in recently changed code. Do not trigger for documentation-only edits or trivial one-line changes.
apexcheng/yingdao-xbot-ai-agent · ★ 32 · AI & Automation · score 81
Install: claude install-skill apexcheng/yingdao-xbot-ai-agent
# 代码简化 只优化本次最近修改的代码,使实现更直接、清晰、符合当前项目习惯;不改变业务行为,不顺手重构无关代码。 ## 先确定范围 优先以当前 `git diff`、本次会话实际修改文件和用户指定范围为准。 除非用户明确要求扩大范围,否则不要因为发现旧代码也能优化,就继续整理整个文件、模块或项目。 简化前先读取当前项目 `AGENTS.md`。涉及项目已有实现方式时,同时按 `.agents/skills/code-consistency/SKILL.md` 检查附近和同类代码,不用通用“最佳实践”覆盖项目已经形成的合理约定。 ## 简化目标 重点检查本次改动是否出现: - 没有额外语义、只服务下一行调用的一次性临时变量。 - 为当前单次业务步骤新增的薄函数、包装层或中转参数。 - 可以直接表达却被拆成初始化再覆盖、重复判断或多余状态的逻辑。 - 不必要的嵌套、重复分支、重复转换或重复读取。 - 只为形式分层新增的 Service、Manager、Context、Helper 等业务抽象。 - 与当前模块已有代码相比明显更绕、更啰嗦或采用了第二套等价写法的实现。 - 逐行复述代码、没有解释业务意图的注释。 简化时优先让真实业务顺序直接可见,并遵守项目已有的函数边界、日志、异常处理和 xbot API 使用方式。 ## 保持行为不变 简化不是重新设计。不得无理由改变: - 业务条件、执行顺序、循环边界和停止条件。 - 返回值、数据结构、异常传播和失败语义。 - 日志中承担排查价值的业务上下文。 - 用户已确认的字段名、XPath、CSS、URL、按钮文案、Sheet 名、状态值和配置值。 - xbot / 市场指令的 API、参数、调用时机和页面交互顺序。 - 已有必要封装提供的后置条件,例如“返回一个已经登录且可直接使用的 page”。 如果无法确认某个改写是否保持行为一致,就不要为了更短或更“优雅”而修改。 ## 不要过度简化 目标不是减少行数。 以下情况应保留显式结构: - 分支包含多个业务动作、副作用或异常处理。 - 中间变量会复用、参与后续判断,或名称能明显解释业务含义。 - 函数 / 类确实隐藏一组实现细节,并向调用方提供稳定完整的结果或后置条件。 - 展开写法更方便排查、调试或理解真实业务顺序。 不要生成密集 one-liner、复杂条件表达式、难读的链式调用或仅为了“更少代码”合并多个业务步骤。 ## 完成后验证 修改后重新检查 diff,确认: 1. 只修改了本次简化范围。 2. 没有引入与当前项目不同的新实现模式。 3. 业务行为、失败语义和关键常量没有变化。 按项目 `AGENTS.md` 的验证规则做与本次简化直接相��的最小必要验证。没有实际运行或可验证证据时,只能说明静态检查结果,不能声称业务运行行为已经验证一致。 如果当前改动已经足够直接清楚,不需要为了执行本 Skill 而强行产生新的代码修改。