forge-devlisted
Install: claude install-skill gldu/dev-forge
# forge-dev — 单任务开发
## Goal
在 fresh context 中执行 TASK.md 中的一个任务,保证代码质量、边界控制和可追溯性。
## Workflow
### 入口门禁(Artifact Preflight)
必须满足二选一:
1. 正式 `.specs/<id>/TASK.md` 中的当前 task
2. 用户显式提供的临时最小 TASK(含 id/name/read_files/write_files/action/verify/done)
AI 不允许自行编造临时 TASK。缺字段必须反问用户或回到 forge-task。
若 task 涉及前端/UI 文件,必须先确认 `UI-DESIGN.md` 存在。缺失时停止,回到 forge-ui-design。
### 1. 读取任务
从 TASK.md 取出对应 task 块,读懂 action/files/verify/done。有歧义停下来反问。
### 1.1 沿用既有抽象(强制 · R6.4)
返回 `process_symbols` 含文件位置 + 模块归属,直接定位既有实现。
**grep 回退**:针对 action 中每个能力执行 grep:
- HTTP 请求:`grep -rn "axios\|fetch\|httpClient\|apiClient" src/`
- 日期格式化:`grep -rn "format.*[Dd]ate\|date.*[Ff]ormat" src/utils src/lib`
- 状态管理:看 package.json
- Repository/DAO:`grep -rn "class.*Repository\|@Entity" src/`
- 错误处理:`grep -rn "ErrorBoundary\|errorHandler\|class.*Error" src/`
- 自定义 hooks:`find src -name 'use*.ts*'`
**必须**把搜索命令和结果贴入 SUMMARY「6 维自查」段。禁止"项目里好像没有"——必须有证据。
### 1.2 扫 LESSONS(强制 · R1.8)
进入实现前:
1. 用当前 task 的 files + action 关键词 grep `.specs/LESSONS.md`
2. 当出现特定领域问题时,可定向扫描 `.specs/lessons/` 下的分册(如 `code.md` / `architecture.md` / `security.md` / `test.md` / `performance.md` / `ux.md`)
3. 对每条命中且 active 的 L-NNN,在执行计划里显式声明���异或确认仍适用
4. 若计划方案与 active 条目完全相同 → 停下来回答差异,禁止盲目重试
5. 若 LESSONS.md 不存在 → 用模板创建空骨架
### 1.3 UI 任务额外检查(仅用户可见 UI)
判定:files 含 `.css/.tsx/.vue/.html/.svelte` 或 action 含 button/颜色/字体/卡片/布局/动画/主题。
命中时必须:
1. 加载 `UI-DESIGN.md`(必须存在)
2. 加载 `references/ui-anti-patterns.md`,按关键词 grep 相关章节
3. 加载 `references/frontend-engi