dev-workflowlisted
Install: claude install-skill MZombies/openclaw-codex-agent
# dev-workflow — 异步规划 + Codex 自动执行 + 自动验证(v3)
## 1) Purpose
将“辅助开发/帮我开发xxx”类需求编排为:
**Plan(子agent) → Run(子agent+Codex) → Verify(子agent跑测试) →(失败则最多 1 次自动修复)→ 回传同入口会话**。
> 这里的“回滚”按这个项目的定义:不是 git reset,而是**把验证失败的问题带回主流程再跑一轮最小修复**(最多一次,仍失败则人工介入)。
## 2) Routing rules
触发:用户说(包含但不限于):
- 帮我开发一个xxx / 做一个xxx应用 / 开发一个xxx工具 / 辅助开发xxx / 帮我做一个xxx
不适用(需转人工确认后再继续):
- 明确涉及对外发送/发布/上传、改权限、删库/删文件等外部或破坏性操作
## 3) Inputs
- 用户原始需求文本(必需)
- 可选:`workdir`(用户指定项目目录;未提供则由 Plan agent 选择一个新目录)
## Tech defaults(经验规则)
当需求是“本地 web 页面 / 运维看板 / 管理后台(CRUD + 状态展示)”且未指定技术栈时:
- **优先:SQLite + Flask + 原生 HTML/CSS/JS(Jinja2 模板)**
- 原因:Python 标准库自带 `sqlite3`,少依赖、少构建成本、适合快速落地。
- **默认中文站点**:除非用户明确要求英文,否则 UI 文案、页面标题、表单标签、提示语一律用中文;HTML `lang` 设为 `zh-CN`。
- 仅在有明确理由时才选 Node/React 等(例如:必须复用现有 Node 生态、或前端交互复杂到需要框架)。
## 4) Workflow steps(主 agent 仅编排,不阻塞)
### Step 0 — ACK(主 agent)
- 立即回复:已派发规划与执行(含自动验证),完成后自动回传结果。
### Step 1 — Plan(子 agent:合并 Preflight+需求+规划)
使用 `sessions_spawn` 调用 **planner-agent**(异步 run,不轮询):
```js
sessions_spawn({
agentId: "planner-agent",
label: "devwf-plan",
mode: "run",
cleanup: "keep",
timeoutSeconds: 240,
thinking: "high",
task: `你是 Plan agent(dev-workflow v3 的 Stage0-2:Preflight + 需求分析 + 技术规划)。\n\n输入:用户需求:{USER_INPUT}\n可选workdir:{WORKDIR_OR_EMPTY}\n\n目标:输出一个可执行的 Plan Bundle(JSON),供 Runner 子 agent 调用 Codex CLI 全自动实现,并供 Verifier 子 agent 跑测试验证。\n\n约束:\n1) 不要向用户提问;有歧义就做最合理假设,并在 codex_prompt 里要求 Codex 记录 assumptions。\n2) 给出明确 workdir(绝对路径)。若未指定目录,建议一个新目录,但不要放在 ~/.openclaw/agents 或 ~/