CodeWhale simplify 技能实战:4 个动作小步瘦身代码且行为不变
CodeWhale simplify 技能实战4 个动作小步瘦身代码且行为不变【免费下载链接】CodewhaleOpen-source coding agent for your terminal, built in Rust and on a journey of continuous community improvement. Issues and PRs welcome.项目地址: https://gitcode.com/GitHub_Trending/de/Codewhale你一定见过这种场面一段缠成一团的模块你想给它瘦身又怕清理时顺手改坏了行为连 commit 都不敢按。CodeWhale 内置的 simplify 技能就是为这件事准备的——它只负责变清晰不负责动行为而且这条约束不是口头约定而是写进了技能正文、还被测试钉死的。定义卡片simplify 是什么这个技能的全部定义就是一个文件夹加一个SKILL.md文件顶部的 frontmatterYAML 前置元数据如下原文见 crates/tui/assets/skills/simplify/SKILL.md--- name: simplify description: Improve clarity and reduce needless complexity after behavior is understood; preserve behavior and keep cleanup separate from correctness fixes. invocation: modeluser ---字段取值含义namesimplifycanonical 名规范名既是安装后的目录名也是唯一查找名没有别名description上方一行英文模型加载正文前看到的唯一路由信号直接写明了触发前提after behavior is understood和边界cleanup 与 correctness fixes 分离invocationmodeluser调用模式模型可自动加载用户也能显式调用按 docs/SKILLS.md 的 Invocation and alias metadata 表格modeluser同时是默认值该技能会进入模型的紧凑 catalog目录清单缺失或未知的取值都会回退到这个行为。两条红线先行simplify 不做什么技能正文把 Non-goals 放在工作流之前动手前先读清这两条红线不要把清理与改变行为的投机性重构混在一起。反例你正简化一个函数发现 if/else 链能压成一个表达式但那个表达式隐含调用方已校验过输入而当前调用点并没有校验——这是行为变更不是简化应拆回 debug 或 implement 的工单里。不要靠删除必要安全检查来简化。反例文件写入前有一段看似冗余的权限检查实际它是 TOCTOUtime-of-check-to-time-of-use检查时与使用时不一致防护删掉它复杂度问题就变成了安全漏洞。两条红线与验证变红是一一对应的某一步简化后基线验证转红先判断撞了哪条——红线 1 意味着行为被改了红线 2 意味着安全逻辑被删了。两种情况的处置都相同回退该步而不是顺手修一下。源码三证simplify 受到的真实约束这个技能不是散装文本而是被三处源码钉在内置技能包里的期望表声明。crates/tui/assets/skills-catalog-matrix.json 中 simplify 的条目为tier: core、invocation: modeluser、in_model_catalogue: true、aliases 为空。该文件自述是 authored contract人工编写的契约而非生成的快照内置技能包一旦增删改而没有同步它测试就会失败。双射断言与安装→发现流程。crates/tui/src/skills/catalog_matrix.rs 断言期望表名集与BUNDLED_SKILLS名集构成 bijection双射一一对应并由installed_registry()在临时目录里执行一次真实的安装加发现流程install_system_skillsSkillRegistry::discover断言内置包解析零告警文件头部同时声明它只验证确定性的注册表/catalog/resolver 行为不验证模型推理时的语义路由。描述长度与索引预算。crates/tui/src/skills/mod.rs 里MAX_SKILL_DESCRIPTION_CHARS取 400超长描述会被/skills报告为加载告警而非静默截断常驻技能索引预算有下限MIN_AVAILABLE_SKILLS_CHARS2400 字符与上限MAX_AVAILABLE_SKILLS_CHARS_CEILING40000 字符并按skills_prompt_budget_chars随上下文窗口缩放。simplify 的单行描述写成动作导向正是为了在 400 字符内把触发前提与边界都塞进路由信号。 端到端走查把三步工作流拆成 4 个可执行动作正文 Workflow 只有三行确认行为、小步降复杂度、保持行为保持的验证绿色。落到操作层面展开成四个动作每个动作都用三句话讲清动作 0 建立基线。做什么挑一组最窄的有效测试或一条复现路径覆盖待简化代码test技能的最窄有效测试与verify技能的驱动真实入口都可直接复用为基线手段见 crates/tui/assets/skills/test/SKILL.md 与 crates/tui/assets/skills/verify/SKILL.md。验证什么动手前当前行为可重复观察。变红怎么办基线本身就红的话不要进入简化先走 debug 链路把基线修好。动作 1 小步清理。做什么一轮只做一个简化点——合并重复分支、抽局部变量、删死代码、压平一层嵌套——每一步独立成 commit。验证什么每步都附一条为什么更清晰的说明而不是笼统的 refactor。变红怎么办该步牵涉到行为就停下它是变更请求不是简化。动作 2 重跑基线验证。做什么每步之后重跑动作 0 的基线测试或复现路径。验证什么输出、退出码等可观察证据与基线一致。变红怎么办立即回退该步不顺手修一下否则会把清理与正确性修复搅在一起撞上红线 1。动作 3 收尾说明。做什么在结果里写明改了什么、什么没动。验证什么基线验证全绿。变红怎么办没绿就是没完成不交付。两种触发路径如何在会话中调用 simplifyinvocation是modeluser对应两条触发路径模型自动触发它常驻 catalog当你说这段代码太绕了且上下文显示行为已确认时模型可自行加载并遵循其工作流用户显式触发在 TUI 输入/skill simplify本回合立即激活加载时会报告 canonical 名与别名receipt回执可审查。相关的技能管理命令摘自 docs/SKILLS.md 的 Slash commands 表格命令行为/skills打开 Skills Manager仅扫自有目录无网络/skills inspect文本发现模式显示搜索目录与来源路径/skill name为下一回合激活指定技能/skill install [--project\|--global] spec经变更控制器安装技能生命周期定位八技能链路里的 simplify把 simplify 放进核心代理的技能链路它的位置一眼可见序号技能分工01plan先规划定边界与验收标准02implement按已批准方案做最小一致变更03test跑最窄有效测试按需补测试04debug先复现定位根因区分诊断与修复序号技能分工05simplify行为已确认后小步清理验证保持绿色06review只读发现、文件/行证据与残余风险07verify驱动真实入口收集可观察证据08security-review敏感改动的安全复核它的位置一句话概括就是正确之后的清晰不抢正确性修复的活不揽评审的活只做一件事——在行为不变的前提下让代码更清晰、少一层无谓复杂。交付前自检清单基线已建立有一组可复现当前行为的测试或复现路径本轮改动只有一个简化点且独立成 commit每步都写明了为什么更清晰没有混入行为变更没有删除安全检查基线验证全绿且说明了改了什么、什么没动下次再遇到缠成团的模块不必拿行为底线去赌手感先用 simplify 立基线小步清理变红就回退。交付时只需要交代两件事——改了什么以及什么没动。【免费下载链接】CodewhaleOpen-source coding agent for your terminal, built in Rust and on a journey of continuous community improvement. Issues and PRs welcome.项目地址: https://gitcode.com/GitHub_Trending/de/Codewhale创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

swagger-codegen 中的 EnumClass 枚举模型解析:特殊字符枚举值的 Java 客户端生成原理

swagger-codegen 中的 EnumClass 枚举模型解析:特殊字符枚举值的 Java 客户端生成原理

开发工具代码生成API设计 【免费下载链接】swagger-codegen swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. 项目地址: http…

2026/9/24 17:19:25 阅读更多 →
使用 mcp-use 构建 TypeScript MCP Server 与 MCP Apps:官方 Skill 实战指南

使用 mcp-use 构建 TypeScript MCP Server 与 MCP Apps:官方 Skill 实战指南

后端MCP 服务MCP ClientsAI Agent人工智能 【免费下载链接】mcp-use The fullstack MCP framework to develop MCP Apps for ChatGPT / Claude & MCP Servers for AI Agents. 项目地址: https://gitcode.com/gh_mirrors/mc/mcp-use 点击查看 免费下载 导读 mc…

2026/9/24 17:19:25 阅读更多 →
django CMS 工具函数完全指南:Admin、Page、Placeholder 与 Plugin 核心 API 深入解析

django CMS 工具函数完全指南:Admin、Page、Placeholder 与 Plugin 核心 API 深入解析

CMS后端 【免费下载链接】django-cms The easy-to-use and developer-friendly enterprise CMS powered by Django 项目地址: https://gitcode.com/gh_mirrors/dj/django-cms 点击查看 免费下载 django CMS 在 cms.admin.utils、cms.utils.page、cms.utils.placeh…

2026/9/24 17:19:25 阅读更多 →

最新新闻

C# WinForms+OpenCvSharp实现实时图像与TCP检测结果同窗显示

C# WinForms+OpenCvSharp实现实时图像与TCP检测结果同窗显示

简介:针对相机无法通过SDK直接取图、只能从本地文件读取场景,这份C#工程源码提供了一套图像与通信联动的检测可视化方案。程序基于System.Drawing与System.Net.Sockets实现两路并行:定时扫描本地文件夹并实时绘制最新图像,同时监听…

2026/9/24 18:10:58 阅读更多 →
JavaWeb电子相册毕设项目:JSP+Servlet+JDBC+MySQL实战全解析

JavaWeb电子相册毕设项目:JSP+Servlet+JDBC+MySQL实战全解析

简介:这份基于JavaWeb的电子相册毕设项目,是一套完整的网络相册管理系统源码包,面向计算机相关专业准备毕业设计的学生及需要项目实战的Java初学者,可直接作为毕设使用。系统采用B/S结构,前台支持用户注册登录、网站介…

2026/9/24 18:10:58 阅读更多 →
基于Python和CNN的人脸表情识别课程设计全流程解析

基于Python和CNN的人脸表情识别课程设计全流程解析

简介:这是一份基于深度学习的人脸表情识别系统完整实现,面向高校课程设计、毕业设计及计算机视觉初学者,解决从数据集处理、模型训练到实时表情识别落地的全流程问题。压缩包共19个文件、约10.81MB,其中10个Python脚本为核心源码&…

2026/9/24 18:10:58 阅读更多 →
Python+Django实战:高校学生违纪管理系统开发与数据建模

Python+Django实战:高校学生违纪管理系统开发与数据建模

简介:这套基于Python的高校学生违纪信息管理系统,面向教育信息化开发者、高校管理人员及需要搭建同类Web管理系统的技术人群,系统围绕学生违纪数据的录入、分类统计、处罚记录、报表导出、权限管理和预警通知等核心功能展开,能够显…

2026/9/24 18:10:58 阅读更多 →
JavaEE二手图书交易平台源码实战:分层架构与部署避坑指南

JavaEE二手图书交易平台源码实战:分层架构与部署避坑指南

简介:这是一套面向高校计算机相关专业学生的JavaEE课程设计完整资源,以二手图书交易平台为选题,适合作为期末大作业、课程设计或毕业设计参考,新手也能快速上手。资源包共173个文件,约25.68MB,涵盖21个Java…

2026/9/24 18:10:58 阅读更多 →
JavaEE二手图书交易平台实战:Spring+MyBatis从零搭建与避坑指南

JavaEE二手图书交易平台实战:Spring+MyBatis从零搭建与避坑指南

简介:这是一套面向高校计算机相关专业学生的JavaEE课程设计完整项目,以二手图书交易平台为主题,适合作为期末大作业、课程设计或毕业设计参考。项目采用Java语言开发,功能覆盖用户注册登录、图书发布、分类浏览、订单管理等核心业…

2026/9/24 18:09:58 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →