Install
openclaw skills install @luckystarry/coding-sop编程工作标准流程(7 阶段 SOP)。当接到编码/开发需求时使用此流程, 依次执行:需求理解 → 创建开发分支 → 功能设计(Subagent) → 代码变动评审(Subagent) → 编码(Subagent) → 单元测试(Subagent) → Git 提交推送。 适用于所有需要规范流程的编程任务,包括新功能开发、Bug 修复、重构等。 触发词:coding sop、编程流程、标准开发流程、按流程开发、七阶段流程。
openclaw skills install @luckystarry/coding-sop7 阶段线性流程,每个阶段必须按顺序执行。阶段 3-6 必须在 Subagent 中实施。
需求理解 → 创建分支 → 功能设计(Subagent) → 变动评审(Subagent) → 编码(Subagent) → 单元测试(Subagent) → Git 提交推送
① ② ③ ④ ⑤ ⑥ ⑦
feature/xxx — 新功能fix/xxx — Bug 修复refactor/xxx — 重构chore/xxx — 维护/配置git checkout main || git checkout master
git pull
git checkout -b <branch-name>
启动一个 Subagent 进行功能设计,要求:
runTimeoutSeconds >= 600)runtime="subagent", mode="run"设计报告输出后,进入阶段 ④。
启动另一个 Subagent 进行评审,要求:
runTimeoutSeconds >= 300)若不通过,携带评审意见重新执行阶段 ③。
启动 Subagent 进行正式编码,要求:
runTimeoutSeconds >= 600),复杂任务适当增加编码完成后进入阶段 ⑥。
启动 Subagent 执行测试,要求:
循环执行阶段 ⑤ → ⑥,直至全部测试通过。
main、master 等)feature/*、fix/*、refactor/* 等)git status
git diff --stat
git add -A
git commit -m "<type>: <description>"
git push -u origin <branch-name>
git push 命令的退出状态码,确认推送成功git log origin/<branch-name>..HEAD 确认本地没有未推送的 commitgit status 确认输出包含 "Your branch is up to date with 'origin/'"git push 的完整错误输出git checkout main || git checkout master
git pull
git merge <branch-name> --no-ff -m "merge: <branch-name>"
git push
git push --force 或 --force-with-leasegit rebase(包括 git rebase -i、git pull --rebase 等一切 rebase 变体)git merge --squash(禁止 squash merge)git merge --no-ff 创建合并提交,严禁通过 rebase 改写历史或通过 squash 压缩 commit。main 或 master 分支| 失败类型 | 识别方式 | 处理方案 |
|---|---|---|
| 网络/连接问题 | "Could not resolve host"、"Connection refused"、"Connection timed out" | 检查网络连接,确认远程仓库 URL 正确,稍后重试 |
| 认证/权限不足 | "Permission denied"、"Authentication failed"、"403 Forbidden" | 检查 SSH key 或 token 配置,确认有推送权限 |
| 远程分支冲突 | "rejected"、"non-fast-forward"、"Updates were rejected" | 先执行 git pull origin <branch> 拉取远程变更,解决冲突后重新推送 |
| 仓库/分支不存在 | "repository not found"、"branch does not exist" | 确认远程仓库 URL 正确,或先创建远程分支 |
| 其他未知错误 | 以上未覆盖的错误信息 | 输出完整错误日志,向用户报告,等待指示 |
| 异常场景 | 处理方式 |
|---|---|
| 阶段 ④ 评审不通过 | 携带评审意见返回阶段 ③ |
| 阶段 ⑥ 测试失败 | 携带失败日志返回阶段 ⑤ |
| Subagent 超时 | 增加超时时间重试 |
| Git 冲突 | 向用户报告,等待指示 |
| Subagent 尝试 rebase/force push | 立即终止该子任务,报告用户,并重新创建分支执行 |
| 推送失败 | 输出完整错误信息和原因分析,向用户报告,等待指示或重试 |
.sop/ 目录结构所有编码相关文档统一写入项目根目录的 .sop/ 子目录。若项目已有 .sop/ 目录,遵循用户的目录结构和命名规则,不覆盖。
项目根目录/
├── .sop/
│ ├── SOP.md ← 编码规范总纲
│ ├── 00-memo/ ← 备忘录、临时记录、沟通纪要
│ ├── 01-requirement/ ← 需求文档、需求变更记录
│ ├── 02-design/ ← 设计文档(架构设计、接口设计、数据模型等)
│ ├── 03-plan/ ← 开发计划、任务分解、排期
│ ├── 04-report/ ← 阶段性报告、总结报告、验收报告
│ ├── 05-issue/ ← 问题记录、缺陷追踪、已知风险
│ └── 06-review/ ← 评审报告(代码评审、设计评审等)
编号规则:00 起跳,01-06 对应开发流程阶段,便于按流程顺序查阅。
| 阶段 | 文档类型 | 写入路径 | 文件命名格式 |
|---|---|---|---|
| 阶段 ③ | 功能设计报告 | .sop/02-design/ | YYYYMMDD-功能名称.md |
| 阶段 ④ | 变动评审报告 | .sop/06-review/ | YYYYMMDD-评审-功能名称.md |
| 阶段 ⑤ | 编码进展记录 | .sop/04-report/ | YYYYMMDD-编码进展.md |
| 阶段 ⑥ | 测试失败报告 | .sop/05-issue/ | YYYYMMDD-测试失败.md |
| 需求变更 | 需求变更记录 | .sop/01-requirement/ | YYYYMMDD-变更说明.md |
| 日常记录 | 备忘录、纪要 | .sop/00-memo/ | YYYYMMDD-备忘.md |
目录由编码流程自动创建和维护。
.sop/SOP.md 编码规范总纲允许用户在 .sop/SOP.md 中维护项目的编码规范。如果该文件已存在,只读取参考,不修改(除非用户明确要求更新)。
建议包含的内容板块:
# 项目编码规范
## 1. 项目结构规范
- 目录组织方式(如 src/、test/、docs/、config/ 的划分)
- 各目录职责说明
## 2. 命名规范
- 项目/模块命名
- 目录/文件命名
- 变量命名(camelCase / snake_case 等)
- 函数/方法命名
- 常量命名(如 UPPER_SNAKE_CASE)
- 类/接口命名(如 PascalCase)
- 私有成员命名约定(如前缀 _ 等)
- 本地变量命名
- 函数参数命名
## 3. 代码风格
- 缩进、行宽、换行
- 注释规范(文件头注释、函数注释、行内注释)
- 导入/依赖声明顺序
## 4. 版本控制规范
- 分支命名
- commit message 格式
- tag 命名
## 5. 其他约定
- 错误处理规范
- 日志规范
- 安全注意事项
所有阶段使用的 Subagent 参数:
runtime: "subagent"
mode: "run"
runTimeoutSeconds ≥ 600runTimeoutSeconds ≥ 300task 参数传入详细指令