# Five Step Dev

> 分级五步开发流程（业务型开发者版）。用户说「五步法」即为显式调用本技能；此外当用户提出任何开发需求——新功能、Bug 修复、页面改动、数据库/权限变更、接口、部署——也应触发。

- **Type:** Skill
- **Install:** `agentstack add skill-laojin1900-365skill-five-step-dev`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [laojin1900](https://agentstack.voostack.com/s/laojin1900)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [laojin1900](https://github.com/laojin1900)
- **Source:** https://github.com/laojin1900/365Skill/tree/main/skills/five-step-dev

## Install

```sh
agentstack add skill-laojin1900-365skill-five-step-dev
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 分级五步开发法（业务型开发者版）

服务对象：懂业务、不逐行读代码的开发者。用户的控制点在 **Plan（业务审批）** 和 **Verify（证据验收）**，不在代码行。

设计取向：强模型时代只在模型天然薄弱处（顺从执行仓促指令、不主动验证、跳过流程）设最小闸门，规则宁删毋加；本文件每变长一分都是代价。

## 第 0 步：任务分级（必做，先输出分级结论再动手）

| 级别 | 判据 | 流程 |
|------|------|------|
| **A 微小** | 文案/样式/间距/单个明显小 Bug；不碰数据库、接口、权限 | 快速定位 → 最小修改 → 页面验证（不走完整五步） |
| **B 普通** | 新页面/表单/列表/普通接口/模块内功能迭代；不碰核心架构 | 五步全走，Review 派子代理 |
| **C 高危** | 数据库结构、权限体系、支付/订单、公共模块重构、生产部署、多项目共用能力 | 五步全走 + 业务控制点检查 + 独立审查 + 人工批准 |

判级拿不准时，**就高不就低**。分级结论要用一句话向用户说明理由。

## 第 0.5 步：模型档位前置确认（分级后、动手前必做）

输出分级结论的同时，对照**当前主会话模型**（见系统提示中的模型名），执行档位匹配检查：

| 分级 | 当前主模型 | 动作 |
|------|-----------|------|
| A 级 | Fable 5 或 Opus | 不阻塞：直接完成本任务，在收尾输出中附一行降档提醒（如「本次为 A 级小改已直接完成；若后续还有流水活建议 /model sonnet」） |
| B 级 | Fable 5 或 Opus | **停下，不开工**。输出降档确认提示（见下），等用户答复后才继续 |
| A / B 级 | Sonnet / Haiku | 匹配，直接开工 |
| C 级 | 任何模型 | 直接进入五步流程（拍板点按既有规则提醒升档） |

降档确认提示模板：

> 【档位确认】本任务判级为 B 级，Sonnet 即可胜任，当前主模型是 Fable 5（额度消耗快）。建议 `/model sonnet` 后重发这条需求；如果你想就用当前模型继续，回复"继续"即可。

用户明确回复"继续"（或等价表述）后，本任务内不再重复此提醒。用户切换模型后重发需求的，按新模型正常执行。

## 第 0.8 步：需求碰撞（动手前的最后一道闸门）

大模型输出质量的上限由输入需求的质量决定，而用户的指令往往是仓促的第一直觉。本步骤的职责：**在执行前把仓促指令锤炼成完整需求——这是 AI 的责任，不是用户的**。

姿态四铁律：
1. **追问目标而非手段**——区分"用户说的做法"和"用户要解决的问题"，永远先确认后者。用户说"加个导出按钮"，先问"导出给谁用、解决什么场景"，答案可能指向完全不同的方案
2. **有不同意见必须说**——如果判断用户的方案不是最优解，必须直说并给出备选方案 + 取舍理由，不许顺着做；用户坚持原方案则尊重执行
3. **能查就别问**——提问前先自查：这个答案能不能通过读代码/项目文档/已有配置得到？能查到的不问用户，直接去查
4. **每个问题必须自带推荐答案**——不许抛出一个空问题让用户自己想答案；先做出判断，把推荐答案和理由一起给出，用户只需确认或推翻，不用从零构思。想不出推荐答案，说明功课没做够，先补课（重新走第 3 条）再问

按分级执行碰撞深度：

| 分级 | 碰撞深度 | 提问节奏 | 动作 |
|------|---------|---------|------|
| A 级 | 零碰撞 | — | 一句话复述理解，直接干 |
| B 级 | 轻量碰撞 | 打包问，一次最多 3 个 | 输出：我理解的业务目标 + 最多 3 个关键澄清问题（各附推荐答案）+ 用户可能没考虑到的 1~2 个点；答复后进入 Research |
| C 级 | 完整碰撞 | **逐个问，一次一个** | 见下方清单，形成《需求简报》并落盘，用户确认简报后才进入 Research |

B 级打包问快、C 级逐个问深，是刻意的取舍：B 级任务风险低，打包节省往返；C 级任务决策之间往往互相依赖（前一个答案会改变下一个问题是否还需要问），逐支下钻才能问准，问完一个等用户答完再问下一个。

C 级完整碰撞必做四件事：
1. **反问采访**：按决策树逐支下钻、一次一个问题，沿依赖关系问到底（先问会改变后续方向的问题，被前面答案排除掉的分支不再问），每问必附推荐答案（可调用 interview-me 技能辅助整体框架）
2. **备选方案**：至少给出 1 个不同于用户原始指令的方案，附取舍理由
3. **补齐边界**：列出用户没提到的——异常流、权限影响、数据兼容、回滚方式
4. **《需求简报》落盘**：写入项目内文件（同时对抗长会话上下文压缩），模板：业务目标 / 可验收的成功标准 / 范围内与范围外 / 已确认的关键决策 / 备选方案及否决理由 / 边界与风险清单 / 尚未明确（迷雾区：当下无法回答、待前置决策解锁的问题——不许硬问硬答产生伪决策）

Research 及之后各步以《需求简报》（C 级）或碰撞后的确认结论（B 级）为准，不再以用户原始指令为准。

## 超纲升级：任务大于单个会话时（先制图，再动工）

触发时机：0.8 碰撞或 Research 阶段发现任务规模超出单个会话可承载——信号例：待决问题超过 5 个且互相依赖、实施明显要分多期、牵涉 3 个以上子系统。此时**停止直接进入五步，先制图**，并向用户报告"本任务超纲，建议先建地图"。

1. **建地图文件**：`docs/maps/.md`（项目无 docs 目录则放 `.claude/maps/`），五段结构——目的地（要抵达的业务结果）/ 备注（背景与约束）/ 已定决策（每条含理由与日期）/ **尚未明确（迷雾区）** / 范围外
2. **决策票据**：地图内维护票据清单，每张票据 = 一个待决策项（"要不要、怎么做"的问题，**不是代码任务**），标注状态（待解决/解决中/已定）与依赖（被哪张票挡住）。迷雾区里"还问不出精确问题"的部分，等前置票据解决后再"毕业"成新票据
3. **Plan, don't do**：地图完成的标志 = 迷雾区清空、无票据待决——动手实施前没有任何事还需要先决定
4. **一会话一票据**：每个会话只认领一张票据（或已定方案的一期实施），完成即更新地图、结束会话；下个会话从地图继承上下文，不依赖会话记忆
5. 地图内每期实施自身照常按分级走五步；**地图更新纳入该期 Verify 的收尾动作**（与写运行日志并列，不更新地图不算完成）

## 五步执行规则

### 1. Research —— 先理解，不要直接写
- 先读项目文档（CLAUDE.md / AGENTS.md / docs/）和相关现有代码，找到可复用能力和依赖关系
- 输出简短的现状理解 + 明确列出不确定项，随 Plan 一并呈批；若 Research 发现推翻碰撞结论或《需求简报》前提的事实，立即停下报告用户，不得带着变更后的前提直接写 Plan
- B/C 级检索由广到深：广撒网了解 → 聚焦关键区域 → 检查遗漏和隐性依赖

### 2. Plan —— 用户的主控制点
- 输出：目标 / 本次做什么 / 本次不做什么 / 改哪些文件 / 是否影响数据库、权限、API、公共组件、部署 / 如何验证 / 如何回滚
- **用业务语言写**，让不读代码的人能判断"这个流程是不是我要的、范围有没有膨胀"
- C 级任务在此节点输出模型切换提醒（见下方规则）
- **等用户明确批准后才进入实施**

### 3. Implement —— 按批准的计划执行
- 只按批准计划做；最小改动；优先复用现有模块；不顺便重构无关区域；超出计划立即停下报告
- 多文件实施优先派 `implementer`（Sonnet）；计划里已含完整代码的抄写派 `scribe`（Haiku）
- 每完成一项跑局部验证并记录，再继续下一项

### 4. Review —— 换视角检查，不许自评了事
- B 级：派 `task-reviewer`（Sonnet）做任务级审查
- C 级：派 `final-reviewer`（Opus）做独立终审
- 检查清单：需求符合性 / 范围膨胀 / 无关文件改动 / 重复建设 / 权限与数据风险 / 错误处理 / 测试真实存在

### 5. Verify —— 拿证据证明完成
- "已完成 / 应该可以运行"不算验证；必须给证据，每条附一句业务语言说明它证明了哪条业务目标；能让用户亲自操作确认的（打开页面点一遍、看数据是否还在），优先交用户做最终验收：
  - 构建 / 类型检查 / 测试命令的实际输出
  - Web 改动必须真实打开页面操作（浏览器验收）
  - 数据真的落库、刷新后仍存在
  - 不同权限账号无法越权
  - 旧功能未被破坏
- 没有证据时不得宣称完成，要明确列出"未验证事项"
- **收尾动作（不做不算完成）**：往 `~/.claude/skills/five-step-dev/logbook.md` 追加本任务运行记录（格式见该文件头部）；若发现日志已满 10 条，主动提议用户运行「五步复盘」（five-step-retro 技能）

## 模型切换提醒（桌面客户端手动切换专用）

主会话日常保持 **sonnet**；审查环节靠派单解决（子代理模型已钉死），无需切主模型。共三个信号需要提醒用户手动切换——**降档信号在第 0.5 步前置执行**（见上），升档信号如下：

1. **C 级任务的方案拍板点**——Plan 写完、请求批准时，附带输出：
   > 【建议切换】本任务为 C 级高危，建议先 `/model fable` 审定此方案再批准；审定后 `/model sonnet` 切回实施。
2. **疑难升级**——同一错误第 3 次尝试仍失败时，停止重试：若本环境配有 advisor（全局 settings.json 已兜底），先调用 advisor 诊断（自动转发完整上下文，无需简报、无需用户操作）；advisor 不可用或其意见仍无法解决时，再输出：
   > 【建议切换】同一问题已失败 3 次，advisor 诊断未果，建议 `/model fable` 深挖。

切换提醒前，先把关键上下文落盘（决策简报 / 进度账本），避免长会话上下文压缩导致背景丢失。

## C 级业务控制点（实施前由 AI 逐项自答并各附一句依据；用户只对答"是"或存在风险的项拍板该后果是否接受）

- 是否影响现有销售流程 / Shopify 店铺的正常运行？
- 是否影响 Supabase 权限或数据结构？
- 是否影响多公司、多项目、多销售的共用结构？
- 是否会新建与现有 AI 接口重复的能力？
- 是否修改公共组件？影响面是否已列出？
- 是否触碰生产站点？回滚方案是什么？
- 哪些动作必须人工确认后才能执行？

## 移植说明（供其他使用者）

本技能源自作者的实际工作环境，直接使用前请做两处适配：

1. **具名子代理**：`implementer` / `task-reviewer` / `final-reviewer` / `scribe` 是作者在 `~/.claude/agents/` 中预建的自定义代理（模型分别钉死为 Sonnet / Sonnet / Opus / Haiku）。你的环境若没有同名代理，可以：
   - 建立自己的同名代理（推荐，防止模型参数漏写）；或
   - 把这些名称替换为 `general-purpose` 代理 + 显式 `model` 参数
2. **C 级业务控制点**：清单中的 Shopify / Supabase / 多公司结构是作者的业务栈，请替换为你自己项目的高危资产清单（例如你的支付渠道、数据库、部署平台）。

模型名称（fable / sonnet / opus / haiku）对应 Anthropic Claude 系列，其他模型体系可按"最强档 / 标准档 / 轻量档"同构替换。

## Codex 迁移

本技能格式与 Claude Code 无关，可直接迁移到 Codex，需替换以下四处：

1. **安装方式**：软链到 Codex 的个人技能目录，与本仓库 `discover-project-skills` 用法一致：
   ```bash
   mkdir -p ~/.codex/skills
   ln -s "$PWD/skills/five-step-dev" ~/.codex/skills/five-step-dev
   ```
   调用方式改为 `$five-step-dev`（Codex 的显式技能调用语法），触发暗号照旧可用——只需把「五步法」映射写进 Codex 的全局 `AGENTS.md`：
   ```text
   我说「五步法」= 显式调用 $five-step-dev 处理该条需求
   ```

2. **模型档位映射**：技能里所有 `/model fable`、`/model sonnet` 字样，替换为 Codex 的推理档位切换命令（如 GPT-5.6 的高/低 reasoning 档切换）。第 0.5 步的判断逻辑（分级 vs 当前档位，档位过高先停下确认）原样保留，只改命令文本。

3. **具名子代理 → 独立会话审查**：Codex 没有 Claude Code 的具名子代理机制（`implementer`/`task-reviewer`/`final-reviewer`/`scribe`）。等效替换：
   - Implement 阶段的"派 implementer"，改为"在当前会话按批准计划直接实施"（Codex 无原生子代理派单，不必强行模拟）
   - Review 阶段的"派 task-reviewer / final-reviewer"，改为"开一个新的 Codex 会话，只贴 Plan + Diff，不贴实现过程，要求独立审查"——用会话隔离代替代理隔离，达到同样的"换视角检查"效果
   - Verify 阶段不受影响，证据要求原样保留

4. **需求简报落盘路径**：第 0.8 步产出的《需求简报》文件，路径按 Codex 项目约定调整（如有 `.codex/` 或等价目录则放入，否则放项目根目录 `docs/decisions/` 下）。

其余步骤（分级判据、需求碰撞三铁律、五步执行规则、C 级业务控制点清单）均与工具无关，无需改动。

## 致谢

第 0.8 步「需求碰撞」的提问纪律（逐一提问、每问自带推荐答案、能查不问）参考了 [obra/superpowers](https://github.com/obra/superpowers-marketplace) 的 `grilling` 技能设计，在此基础上按任务分级做了轻重区分（B 级打包问、C 级逐支问）。「超纲升级」一节的地图/决策票据/迷雾区机制参考了 [mattpocock/skills](https://github.com/mattpocock/skills) 的 `wayfinder` 技能设计，将其 issue-tracker 地图简化为项目内 markdown 文件版，以适配非工程师使用者的工具链。

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [laojin1900](https://github.com/laojin1900)
- **Source:** [laojin1900/365Skill](https://github.com/laojin1900/365Skill)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-laojin1900-365skill-five-step-dev
- Seller: https://agentstack.voostack.com/s/laojin1900
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
