# Skill: Agent-Driven 从 0 到 1 落地复杂前端项目 ## 适用场景 - 从设计文档(design.md / PRD)出发,构建完整的组件库 / 应用 - 项目涉及多个 package / 多层架构(theme → utils → components → docs) - 需要达到「生产级」视觉和代码质量 - 单人操作但希望并行推进多个模块 --- ## 核心工作流(5 阶段) ``` 需求分析 → 技术规划 → 并行实施 → 视觉验证 → 设计复评 ↑ | └──── 如果复评 < 目标分 → 回到规划 ────────────┘ ``` --- ## 阶段 1:需求分析(不写代码) ### 1.1 读蓝本,提炼决策点 读 design.md,列出所有需要用户决策的方向性问题(不超过 4 个)。用 `AskUserQuestion` 一次性收集,避免来回。 **关键决策点模板**: - 视觉风格基调?(给 2-3 个带 ASCII preview 的选项) - 核心技术机制?(给 2-3 个方案对比) - 交付物范围?(MVP vs 完整版) - 现有代码处理?(保留 / 重写 / 增量) ### 1.2 派发探索 Agent(只读) 并行派 2 个 Explore agent: - Agent A:探索现有代码结构、工具链版本、可复用的好东西 - Agent B:做领域调研(视觉系统 / 技术方案 / 竞品参考) **产出**:结构化报告(缺口矩阵 + 可复用清单 + 调研结论) --- ## 阶段 2:技术规划(Plan Mode) ### 2.1 进入 Plan Mode 用 `EnterPlanMode`,基于阶段 1 的探索结果写 plan 文件。 ### 2.2 Plan 文件结构 ```markdown # 项目名 重做/新建 计划 ## Context(为什么做、做什么、预期结果) ## 范围与边界(保留什么 / 重写什么 / 不做什么) ## 1-N. 各 Package 详细设计 - 文件清单 - 关键代码模板(不是伪代码,是可直接落地的 TSX) - 依赖关系 ## 实施顺序(Stage 1 → N,标注串行/并行) ## 验证方案(自动化 + 视觉清单) ## 风险与权衡 ``` ### 2.3 关键原则 - **Plan 里写真实代码模板**,不写「大概这样做」。Agent 执行时直接复制粘贴,减少发挥空间 - **标注依赖关系**:哪些 Stage 可并行、哪些必须串行 - **验证清单要具体**:不写「检查样式是否正确」,写「Headline fontSize ≥ 48px, fontWeight === 600」 --- ## 阶段 3:并行实施 ### 3.1 任务拆分 用 `TaskCreate` 按 Stage 建任务,用 `addBlockedBy` 标注依赖: ``` Stage 1 (基础设施) ← 无依赖,先做 Stage 2 (组件层) ← blocked by Stage 1 Stage 3 (Demo) ← blocked by Stage 2 Stage 4 (文档) ← blocked by Stage 2(可与 Stage 3 并行) Stage 5 (验证) ← blocked by Stage 3 + 4 ``` ### 3.2 Agent 派发策略 | 场景 | 做法 | |---|---| | 有依赖的 Stage | 串行:等前一个 Agent 完成再派下一个 | | 无依赖的 Stage | 并行:同一条消息里派多个 Agent | | Agent 需要协调 | 用 `SendMessage` 通知另一个 Agent 上游已就绪 | ### 3.3 Agent Prompt 黄金模板 ``` 你需要在 [路径] 实现 [什么]。 ## 上游依赖(已就绪) [列出可 import 的模块和 API] ## 任务 ### 1. [具体文件] — [完整代码] ### 2. [具体文件] — [完整代码] ... ## 验证步骤 [具体命令 + 期望输出] ## 约束 - 严格按上面代码写,不要发挥 - 不引入新依赖 - 完成后直接报告,不要询问 ``` **关键**:给 Agent 的 prompt 越具体、代码越完整,产出质量越高。不要给 Agent 留设计决策空间。 ### 3.4 每个 Stage 完成后 - 跑 `pnpm build` + `pnpm test` 确认不破坏 - 标记 TaskUpdate status=completed - 解锁下游 Stage --- ## 阶段 4:视觉验证 ### 4.1 自动化验证 ```bash pnpm build # 全包构建 pnpm test # 全测试通过 pnpm dev # 启动 dev server ``` ### 4.2 Playwright DOM 实测 不依赖截图肉眼判断,用 `browser_evaluate` 直接读 computed style: ```javascript // 验证字体、字号、颜色、布局属性 const cs = getComputedStyle(element); return { fontFamily: cs.fontFamily, fontSize: cs.fontSize, fontWeight: cs.fontWeight, columnCount: cs.columnCount, backgroundColor: cs.backgroundColor, }; ``` ### 4.3 视觉验收清单 提前在 Plan 里写好 10-15 项具体的验收条件,每项都是可自动化检测的: ``` - [ ] Masthead fontFamily 包含 "Cormorant Garamond" - [ ] Headline fontSize >= 48px - [ ] BodyText columnCount === "3" - [ ] body backgroundColor === "rgb(247, 244, 237)" ``` --- ## 阶段 5:设计复评 ### 5.1 派发 UI Designer Agent 给 Designer Agent: - 截图路径 - 关键文件路径 - 第一次评估结果(如果是迭代) - 明确的评分维度和输出格式 ### 5.2 目标分数 - 首次实现目标:≥ 8/10 - 迭代后目标:≥ 9/10 - 如果 < 目标分,回到阶段 2 重新规划问题区域 --- ## 反模式(避免) | 反模式 | 正确做法 | |---|---| | 给 Agent 模糊指令「实现组件库」 | 给完整代码模板 + 文件路径 | | 一个 Agent 做所有事 | 按 Stage 拆分,每个 Agent 职责单一 | | 先写代码再想设计 | Plan Mode 先对齐,用户批准再动手 | | 只跑 build 就算完成 | Playwright 实测 computed style | | 截图肉眼看「差不多」 | 量化验收清单(字号/颜色/布局属性) | | 一次性全部并行 | 按依赖关系分层,基础设施必须先完成 | | Agent 报错就放弃 | 分析根因,调整 prompt 重试(最多 3 次) | --- ## 时间分配参考 | 阶段 | 占比 | 说明 | |---|---|---| | 需求分析 + 探索 | 15% | 磨刀不误砍柴工 | | 技术规划 | 20% | Plan 越详细,实施越快 | | 并行实施 | 45% | Agent 并行,人只做协调 | | 验证 + 复评 | 15% | 量化验收,不靠感觉 | | 迭代修复 | 5% | 如果规划到位,这步很轻 | --- ## 可复用的 Agent 类型 | Agent 类型 | 用途 | |---|---| | Explore | 只读探索代码结构、生成报告 | | UI Designer | 视觉系统调研、设计复评打分 | | Frontend Developer | 写代码、跑构建、跑测试 | | Minimal Change Engineer | 精准修复特定问题,不扩大范围 | --- ## Checklist:启动新项目时 1. [ ] 有 design.md / PRD 蓝本? 2. [ ] 用 AskUserQuestion 收集 3-4 个方向性决策? 3. [ ] 派 Explore agent 做现状分析 + 领域调研? 4. [ ] 进入 Plan Mode 写详细计划(含代码模板)? 5. [ ] 用户批准 plan? 6. [ ] 按依赖关系拆 TaskCreate + addBlockedBy? 7. [ ] Stage 1 基础设施先串行完成? 8. [ ] Stage 2+ 尽量并行派发? 9. [ ] 每个 Stage 完成后跑 build + test? 10. [ ] Playwright 量化验收 10+ 项? 11. [ ] Designer Agent 复评 ≥ 目标分? 12. [ ] 同步 design.md / README?