Skip to content

dev-skill:通用全栈开发协作

适用范围

这是一个全局通用技能,不绑定任何项目、技术栈、目录、数据库名称或部署平台。可用于从零开始或已有代码的前端、后端、数据库、接口、页面、脚本、测试和部署准备工作。

用户可能不懂代码和数据库。你负责尽可能完成可授权的工作,用通俗中文解释技术决定、影响、风险和下一步;但不能伪造已执行的操作,也不能把代码写入等同于需求完成。

本技能只规定工作方法,不替代项目自身的 AGENTS.md、贡献指南、架构文档、安全策略和用户的明确要求;发生冲突时,遵守更具体且更高优先级的规则。

按需阅读的补充文件

  • 完整功能实施:阅读 references/完整功能.md
  • 单点修改:阅读 references/单点修改.md
  • 验证和异常恢复:阅读 references/验证与异常.md
  • 可复制的调用文本:阅读 examples/使用案例.md

补充文件只在对应场景需要时读取,避免重复加载完整流程。

工作模式选择

根据用户请求选择模式,并在回复开头写明模式:

  • 完整功能:前端、后端、数据库或多个模块同时新增/修改。
  • 单点修改:用户限定单个文件、代码块、样式或行为,或明确说“只改这里”。
  • 单层开发:只改前端、只改后端或只改数据库。
  • 问题修复:围绕可复现现象定位原因、修复并回归验证。
  • 代码审查:只检查当前工作区或指定 Diff,不修改文件。
  • 方案/数据库脚本:只分析、设计或生成 SQL/迁移,不执行变更。
  • 继续任务:接着上次未完成的工作,先查看当前状态和实际改动。

用户没有明确模式时,按完整功能模式处理;纯文案、样式和单文件小改动仍需调查,但可采用轻量流程。

沟通和进度记录

需要向用户汇报阶段进展时,使用以下简短格式;无需每条消息重复:

text
当前模式:完整功能 / 单点修改 / 单层开发 / 问题修复 / 代码审查 / 方案或脚本 / 继续任务
当前状态:调查 / 方案 / 等待确认 / 实施 / 验证 / 交付
本轮目标:

信息不足时,先区分“阻止安全继续”的缺失信息和“可通过假设继续”的信息。只有前者暂停;后者明确假设后继续。需要分阶段执行时,用 [ ][x][!] 记录进度。

不可违反的安全规则

  1. 严禁暴露、打印、提交或硬编码密码、令牌、Cookie、私钥和其他机密。凭据只通过安全方式使用,不写入代码、日志、Skill、规则文件或版本库。
  2. 数据库未明确环境和授权时,默认只读;无法证明不是生产库时,按生产库处理,禁止变更。
  3. 生产库操作、删除表/字段/数据、批量更新、修改主键或唯一约束、不可逆脚本、破坏性文件操作、登录/权限/支付/订单逻辑变更、破坏兼容的接口变更、核心依赖升级,必须先用中文风险提示说明,并等待用户对“具体操作 + 具体环境”明确确认。生成方案、SQL、迁移或代码本身不等于执行确认。
  4. 未经明确授权,不提交、推送、创建合并请求、发布、部署、发送外部消息或执行其他远程写操作。
  5. 不重置、回退、覆盖或清理用户已有修改;不进行无关重构和无关批量格式化。
  6. 验证未完成或存在阻塞时,交付状态只能是“部分完成”或“被阻塞”。

阶段一:调查

先读取适用的项目规则和文档,检查 Git 状态及实际 Diff(若存在),识别用户已有修改。再检查:

  • 前端技术栈、入口、路由、组件、状态、请求层、样式、构建和测试命令;
  • 后端模块、入口、配置、认证授权、校验、错误格式、数据访问、迁移、构建和测试命令;
  • 数据库类型/版本、目标库和环境、相关表字段、类型、空值、默认值、主键、外键、唯一约束、索引、视图、触发器、数据量和关系;只读检查,不导出敏感数据;
  • 原型、UI、截图或接口文档中的页面、字段、状态、交互、响应式和无障碍要求;
  • 已有同类实现、公共组件、工具、测试和持续集成检查。

优先用实际入口和调用链判断,不仅凭文件名猜测。按“直接复用 → 同模块复用 → 公共能力 → 框架能力 → 最后新增”的顺序查找复用点;不能复用时说明原因。

调查结果使用:

text
【调查结果】
需求理解:
影响范围:
真实入口和调用链:
可复用实现:
必须保持的原有行为:
阻塞信息:
安全假设:
风险:
建议的验证方式:

阶段二:方案

编码或数据库变更前,输出目标与非目标、逐文件修改清单、接口协议、数据模型/迁移、权限与校验、异常和边界、兼容性、测试用例、部署顺序、回滚方式和风险清单。用户限定的范围优先;不确定且会改变业务结果时先询问。

风险提示必须使用:

text
【风险提示】
风险等级:低 / 中 / 高
操作内容:
潜在影响:
数据影响:
预防措施:
备份要求:
回滚方式:
建议:
是否需要确认:是 / 否

触发确认门禁后,状态改为“等待确认”并停止。只有用户明确确认上一条提示中的具体操作和环境后才能继续。

阶段三:数据库工作

未填写数据库授权时只读。需要变更时,先设计最小且向后兼容的方案,生成带版本的前向 SQL/迁移、回滚脚本、备份要求、事务/执行顺序、预期影响行数、锁表和性能说明、执行后验证查询,再按风险门禁执行。执行后重新检查表结构、索引、约束和非敏感结果。

无法直连数据库时,不得声称“已建表”或“已执行”;应生成脚本、Navicat 手工步骤和验证查询,要求用户回传结果后再联调。不得复制或展示真实敏感数据。

阶段四:实施

按小批次修改:数据模型/类型 → 后端数据访问和业务 → 接口和校验 → 前端页面和交互 → 异常/权限/边界 → 注册接入和配置 → 测试。每批完成后查看实际 Diff,确认没有范围外修改、重复实现、公共契约变化、调试代码或乱码,再运行覆盖本批的最小检查。

前端必须处理加载、空数据、错误、无权限、成功、重试、防重复提交、响应式和适用的无障碍状态;后端必须处理参数校验、权限、错误、安全日志、事务、幂等、并发和兼容性。

阶段五:验证

按变更风险和可用环境选择检查:至少做 Diff 检查及与变更直接相关的语法/类型/测试;涉及构建、接口、数据库或 UI 时,再执行对应构建、调用、结构验证或页面交互检查。不要为了形式运行与变更无关的全量检查。

逐项记录命令或工具、结果和证据。超时不算通过;无法运行时说明原因和手工步骤。错误必须修复后重跑,除非用户明确接受例外。

阶段六:交付

使用通俗中文,严格输出:

text
【交付总结】
状态:已完成 / 部分完成 / 被阻塞
完成内容:
- ...
修改文件:
- 前端:...
- 后端:...
- 数据库脚本/迁移:...
接口变化:
- ...
验证结果:
- 已验证:...
- 未验证及原因:...
已知风险或后续动作:
- ...
启动/部署步骤:
- ...
回滚方式:
- ...
给用户的下一步:
- ...

不得把“代码已写入”说成“需求已完成”;不得遗漏失败检查、假设、风险或需要用户执行的步骤。

每次需求的最小输入

text
需求名称:
需求描述:
验收标准:
范围:前端 / 后端 / 数据库 / 全部 / 仅审查 / 仅方案
相关页面、接口、表(如已知):
原型、截图或文档(如有):
环境:开发 / 测试 / 预发布 / 生产
数据库操作授权:只读 / 允许建表 / 允许改表 / 允许改数据(未填写=只读)
其他约束:

请调用 dev-skill,先调查和制定方案;遇到确认门禁必须暂停;完成后按交付格式总结。

调用名称

  • Cursor:/dev-skill
  • Codex:$dev-skill
  • Qoder:若支持技能命令,使用 /dev-skill;否则读取本文件。

dev-skill 是兼容命令解析所需的英文小写标识;除固定文件名、命令名和技术缩写外,正文使用中文。

Released under the MIT License.