mcpField
M
minimalist-surgical-development

minimalist-surgical-development

github.com/faulkdev开发38 次安装
代码仓库

关于 minimalist-surgical-development

minimalist-surgical-development 是面向修改现有代码的开发技能,强调以最小改动解决明确问题并保留原有结构。它还提供使用 Serena MCP 按符号查找和编辑代码的指导。

主要功能

  1. 01以最少代码解决问题
  2. 02保留现有代码结构与风格
  3. 03避免未经要求的重构
  4. 04优先使用标准库和常见模式
  5. 05通过 Serena MCP 按符号导航和编辑

适用场景

  1. 01为现有代码实施小范围修复
  2. 02按要求修改功能且避免无关改动
  3. 03使用 Serena MCP 定位代码符号及引用

MCP 相关

该技能建议在探索和编辑代码时使用 Serena MCP 的符号工具,例如查找符号、引用及按符号编辑。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/faulkdev/github-copilot-superpowers --skill minimalist-surgical-development

安装后在 Claude Code 中输入/minimalist-surgical-development确认已加载。

详细介绍

极简且精准的开发

概述

像 Kent Beck 一样编写代码。 这项技能让改动保持精简且符合惯例:用尽可能少的代码、尽可能少地扰动现有结构,解决明确提出的问题。

适用场景……

  • 请求强调“最小改动”“精准修复”“保留结构”“不要重构”
  • 任务是修改现有代码,而不是从头开始构建
  • 有引入新抽象、框架或大规模重写的冲动

症状 / 关键词

  • “最小化”“精准”“小 diff”“不要动无关部分”“保持风格”“不重构”“优先使用标准库”“YAGNI”“KISS”

极简且符合标准的代码生成

  • 简单性原则:始终提供尽可能直接、精简的解决方案。目标是用尽可能少的代码和复杂度解决问题。避免过早优化或过度设计。
  • 标准优先:优先使用标准库函数和广受认可的常见编程模式。只有在第三方库是该任务的行业标准或绝对必要时,才引入它们。
  • 避免繁复的解决方案:不要提出复杂、“巧妙”或晦涩的方案。相比错综复杂的模式,优先考虑可读性、可维护性,以及用最短路径得到可用结果。
  • 聚焦核心请求:生成能直接满足用户请求的代码,不要添加额外功能,也不要处理未提及的边缘情况。

精准修改代码

  • 保留现有代码:当前代码库是事实依据,必须予以尊重。首要目标是在可能的情况下保留其结构、风格和逻辑。
  • 只做必要的最小改动:添加新功能或进行修改时,只改动成功实现变更所绝对必要的现有代码。
  • 仅遵循明确指示:只修改、重构或删除用户请求中明确指定的代码。不要擅自重构、清理或调整未涉及部分的风格。
  • 整合而非替换:只要可行,就将新逻辑整合进现有结构,而不是替换整个函数或代码块。

符号优先导航(Serena MCP)

在修改代码前探索代码结构时,优先使用 Serena MCP 符号工具,而不是读取整个文件:

  • get_symbols_overview - 快速概览文件结构(类、函数、方法)
  • find_symbol - 按名称定位特定代码,无需读取整个文件
  • find_referencing_symbols - 查找所有调用位置,了解变更影响

符号优先为何更精简:

  • 减少上下文污染:只查看所需代码
  • 编辑前确定准确目标:无需猜测要修改什么
  • 发现现有模式:查找相似代码以保持一致性
  • 快速检查重构:确认变更不会破坏现有用法

编辑时,优先使用符号编辑工具,而不是基于文件的替换:

  • 使用 insert_before_symbol / insert_after_symbol 添加代码
  • 使用 replace_symbol_body 重写函数实现
  • 只有在编辑函数内部的小段内容时,才使用 replace_content(基于文件)

请参阅 serena-mcp-integration-guide.md,了解详细场景和示例。

智能工具使用

  • 必要时使用工具(通过子代理):当请求需要外部信息或直接与环境交互时,派遣合适的子代理使用必要工具,并返回附有引用的上下文包。编排者不得直接执行调查或数据获取类 I/O。
  • 按要求直接编辑代码(通过子代理):如果明确要求修改、重构或添加代码,派遣实现子代理直接在代码库中应用更改。除非用户要求,否则避免复制粘贴代码片段;默认由子代理实施小幅、精准的差异。
  • 有目的地聚焦行动:工具的使用必须与用户请求直接相关。不要进行无关的搜索或修改。工具执行的每项操作都必须是完成特定明确目标所必需的步骤。
  • 使用工具前声明意图:执行任何工具前,必须先说明即将采取的操作及其直接目的。声明应简洁,并紧接在工具调用之前。

快速检查清单

  • 确保研究子代理在进行任何更改前,已阅读相关文件并提供引用
  • 以满足要求为准,尽可能缩小差异
  • 优先使用现有工具或抽象,而不是新增实现
  • 除非理由充分,否则避免引入新依赖

评论

支持 Markdown