---
name: ~build
description: 执行实现工作流 — 基于当前需求或现有方案包完成实现、验证与状态同步（~build 命令）
policy:
  allow_implicit_invocation: false
---
Trigger: ~build [description]

`~build` 是执行实现命令。它负责读取现有需求、方案包与项目上下文，完成实现、局部验证、修复循环，并把结果交给后续质量闭环与收尾。
执行 `~build` 时，通用阶段边界按当前已加载的 HelloAGENTS 规则执行；本 skill 负责补充实现前定位、实现约束，以及进入 `~qa` / 收尾前的实现边界。
`.helloagents/` 在本 skill 中统一按项目级存储路径理解：状态文件只使用 `state_path`；会话证据使用当前 `state_path` 所在目录下的 `artifacts/*.json`；若 `project_store_mode=repo-shared`，知识库、`DESIGN.md`、`verify.yaml` 与方案包按当前上下文中已注入的项目知识/方案目录解析。

## 铁律
- 默认先定位上下文与范围，再修改代码
- 已有方案包时，优先按方案包执行，不重复发明方案
- 没有运行验证，不能报告完成
- 遇到高风险或阻塞情况立即停下确认

## 流程

### 1. 恢复与定位

- 优先按当前已加载的 HelloAGENTS 规则恢复当前任务，并遵循“.helloagents/ 文件读取优先级”；若当前消息明确要继续上次任务、会话刚经历恢复 / 压缩，或当前运行在 Codex active goal 下，先读取 `state_path`，再用当前用户消息、活跃方案包 / PRD 与代码事实确认当前任务
- 若存在最近的活跃方案包，读取对应的：
  - `requirements.md`
  - `plan.md`
  - `tasks.md`
  - `contract.json`
  - 实现时优先把 `tasks.md` 中每个任务的“完成标准”当作本次实现约束，不要只按任务标题猜测范围
  - `contract.json` 存在时，优先按其中的 `qaMode`、`qaFocus` 理解后续质量闭环边界
- 若当前运行在 Codex active goal 下，按 `tasks.md` 未完成项、`contract.json` 与 `state_path` 恢复实现位置；不要自动创建新 goal，也不要把 goal 目标原文替代方案包
- 若当前上下文中已注入“当前工作流约束”或“当前推荐下一命令”，先服从它；只有推荐仍为 `~build`，或用户明确提出新增实现范围时，才继续 `~build`
- 其余项目知识库与相关代码文件，按 HelloAGENTS 项目上下文要求读取
- 若任务涉及 UI，按以下优先级读取并遵循：当前活跃 `plan.md` / PRD 中的 UI 决策 > 逻辑 `.helloagents/DESIGN.md`（实际路径按当前项目存储模式解析） > 已读取的 `hello-ui` 规则；同时所有 UI 任务都必须满足 UI 质量基线
- 若当前项目已有本地项目存储，且当前任务属于整页新建、设计系统改造、或跨多个组件的视觉重做，但逻辑 `.helloagents/DESIGN.md` 不存在，先按模板创建最小设计契约，再继续大规模实现

如果 `.helloagents/` 不存在：
- 按当前已加载的 HelloAGENTS 规则创建 `.helloagents/` 与最小流程状态
- 仅补足执行当前任务所需的最小状态，不自动展开完整知识库

### 2. 需求与范围确认

- 若用户提供的是明确执行任务，直接确认范围
- 若当前活跃方案包已能覆盖需求，按方案执行
- 若仍存在真实歧义，仅询问阻塞执行的关键决策

### 3. 执行实现

- 根据任务拆解逐步修改
- 按当前实现需要读取对应的 hello-* 技能，并遵循其规范
- 编码任务遵循：
  - 先补测试或最小验证手段，再写实现
  - 每次编辑后主动跑确定性检查
- 可并行任务通过子代理执行，但不同子代理不得改同一文件

### 4. 局部验证与修复循环

- 按当前任务与 `tasks.md` 中的“验证方式”运行 lint / typecheck / test / build 等局部验证
- 若失败，修复后重跑
- 若当前实现已接近交付，主动对照 `qaFocus` 自检本次改动是否覆盖关键风险

### 5. 交付前处理

- 有方案包时，只同步本次实现直接影响的任务状态；未完成项保持打开
- 当前实现已闭合、且需要进入交付或收尾时，转入 `~qa`
- 若 Codex active goal 仍有未完成 AFK 任务，继续下一项可执行任务；若目标已满足，先转入 `~qa` 与 HelloAGENTS 收尾，再标记 goal complete
- 状态文件、知识库、`CHANGELOG.md`、modules 文档与归档边界，按当前已加载的 HelloAGENTS 规则进入 QA / CONSOLIDATE
- 不在 `~build` 内把仍未闭合的方案包整体报告为已完成
