zcbot/skills/coding/SKILL.md

2.7 KiB
Raw Blame History

name description
coding 修改、调试、实现代码与软件项目。当用户要求修 bug、写函数、重构、读懂代码库、跑测试或从零创建 Node.js、TypeScript、Python 及可在网页中预览的前端应用时使用。

Coding

资源

  • 通用工具就够: read / grep / glob / edit / write / shell / run_python
  • 没有专属 scripts 或 templates,因为代码任务的多样性来自代码本身

原则

  • 多步骤代码任务适合用 task_progress 维护进度,推荐阶段:理解需求 → 定位代码 → 实现修改 → 运行验证 → 总结结果。
  • 先看后改: 用 grep/glob 定位,read 读出修改点的上下文,再 edit。盲改会出错。
  • 改动最小: 只动必要行,不顺手重构、不改无关空白
  • edit 唯一匹配: old_str 必须在文件里出现且仅出现一次,不够唯一就多带上下文
  • 验证优先: 项目有测试就 shell pytest / npm test;没有就写最小复现脚本验证
  • 不臆造 API: 看到没用过的库,先 read 它的源码或文档,不要凭直觉拼方法名

网页软件项目

  • 先判断技术栈:已有项目沿用其语言、框架和包管理器;新建 Web 或通用软件项目默认优先 Node.js + TypeScript新建前端默认使用 Vite按交互复杂度选择 React、Vue 或原生 TypeScript。
  • 科学计算、数据分析、机器学习、材料研发及 Python 生态占优的任务优先 Python用户指定语言或框架时服从用户不为追求 Node.js 改写既有项目。
  • 新建 Node.js 项目默认使用 npm保留 package.json、源码、资源、配置和测试,按项目脚本依次安装依赖、测试并构建。
  • 按正常项目结构创建源码、样式、资源、配置和测试;不要为了迁就预览把所有内容塞进单个 HTML。
  • 先运行项目测试与正式构建,再调用 publish_web_preview 发布静态输出目录(常见为 dist/build/)。
  • 发布入口必须是构建目录中的 HTML资源留在同一目录树。再次修改后重新构建并发布同一目录即可刷新原预览。
  • 当前预览只运行静态前端。需要后端、开发服务器、数据库或服务端渲染时,交付源码与运行说明,并明确说明尚不能作为在线预览运行。

输出

  • 改完后一两句话说清: 改了什么、为什么、怎么验证
  • 不复述 diff —— 用户会自己看

反模式

  • 一次性 write 整个大文件 (改 3 行就别 write 200 行)
  • 没读过文件直接 edit (大概率 old_str 匹配不上)
  • 跑测试失败就立刻改测试 (先看是测试错还是代码错)
  • 用后台进程临时启动服务并把它描述成可访问的网页预览