---
name: dev-expert
description: |
  编程专家综合技能套件，含17个子技能：软件项目总控、网站项目总控、API设计、Bug诊断、代码生成、代码审查、重构建议、测试用例生成、技术选型、文档生成、任务拆解与执行、Spec驱动开发、Karpathy编码规范、项目记忆管理、CMS二次开发、前端设计、MySQL数据库。按用户输入关键词路由到对应子技能模板执行。
  关键词路由：软件项目总控(软件项目/API服务/后端服务/后台模块/CLI工具/数据脚本/自动化任务/插件项目/完整功能/项目交付/部署/发布/上线/回滚/运维/监控/告警/巡检)；网站项目总控(做网站/建站/企业官网/营销页/CMS网站/网站上线/网站交付)；API设计(RESTful/GraphQL/接口规范/AJAX防卡死/Init-Step-Poll/长任务接口/轮询接口)；Bug诊断(debug/异常堆栈/报错)；代码生成(写代码/实现功能)；代码审查(code review/安全漏洞/代码缺陷)；重构建议(重构/坏味道/代码异味/可维护性)；测试用例生成(单元测试/集成测试/安全测试/性能测试/长任务测试)；技术选型(技术栈/框架选型)；文档生成(API文档/README/技术文档/部署说明/回滚说明/运维文档)；任务拆解与执行(任务分解/Wave执行)；Spec驱动开发(spec/需求对齐/需求规格)；Karpathy编码规范(Karpathy/编码哲学/简洁优先)；项目记忆管理(项目记忆/跨会话/上下文沉淀)；CMS二次开发(CMS/帝国CMS/WordPress/ThinkPHP/PHP8兼容/二次开发/插件开发/模板开发/批量任务/导入导出/生成静态页)；前端设计(UI设计/UX/交互设计/响应式/设计系统/可访问性/页面视觉/浏览器验证/品牌设计/Banner/图标/社媒图/进度条/轮询状态)；MySQL数据库(MySQL/数据库设计/SQL/索引/事务/慢查询/EXPLAIN/DDL/迁移/表结构/SQL优化)。
version: "1.5.1"
author: "智慧半岛"
---

# dev-expert -- 编程专家综合技能

本技能是一个综合技能套件，包含多个子技能。接到用户请求后，按以下流程执行。

## 执行流程

### Step 1: 意图识别与路由匹配

分析用户输入，与下方路由表逐一比对。匹配规则：

- 用户输入中包含路由表中「子技能」列的关键词 → 匹配该子技能
- 用户输入中包含路由表中「功能说明」列中提到的场景 → 匹配该子技能
- 多个子技能同时匹配时，先按「子技能优先级矩阵」组合路由；无法组合时再选择匹配度最高的
- 无法唯一确定时，向用户确认意图

### Step 2: 加载子技能模板

匹配到子技能后，根据子技能索引表找到对应的文件路径，**必须**使用 `Read` 工具读取 `references/` 目录下的完整执行模板。

### Step 3: 按模板执行

严格按照加载的模板逐步执行。模板中定义了：

- 输入要求（用户需要提供什么）
- 执行步骤（每一步做什么、如何判断）
- 输出格式（最终产出的结构和规范）
- 质量标准（产出必须满足的底线）

### Step 4: 输出结果

按模板规定的格式输出结果。如果模板要求生成文件，写入后声明产出物。

## 约束规则

1. **必须先读模板再执行**：匹配到子技能后，严禁凭记忆或猜测执行，必须先读取对应的 references 文件
2. **严格遵循模板**：不得跳过步骤、不得省略检查项、不得自行简化流程
3. **输入不足时主动索取**：模板中标注「必填」的输入项缺失时，向用户索取
4. **质量底线不妥协**：模板中的质量标准必须逐条满足

## 本包特色

- **软件项目总控**：面向 API 服务、后台模块、插件、CLI 工具、数据脚本和自动化任务等非网站项目，先定义项目边界、行为契约、架构、数据/API/集成、发布回滚、监控告警、巡检运维和交付沉淀，再进入 Wave 执行
- **网站项目总控**：面向做网站/建站/CMS网站/企业官网/营销页等完整项目，先定义项目启动、站点规划、内容SEO、前端设计、CMS/API/数据、任务Wave、测试安全、性能部署、验收交接和运维沉淀，再调用任务拆解与执行落地
- **CMS二次开发**：PHP+MySQL CMS 二次开发子技能提供 CMS 自动探测、PHP 版本选型矩阵、数据库操作规范、PHP 8.x 兼容性检查、安全红线、插件开发标准，与代码生成/Bug诊断/代码审查/技术选型深度联动
- **前端设计**：融合 UI/UX Pro Max 规则，覆盖设计思维、信息架构、视觉 token、字体配对、品牌规范、Banner、图标、社媒图、组件状态、响应式、可访问性、CMS模板页面和浏览器验证
- **MySQL数据库**：独立覆盖表结构设计、SQL安全、索引、事务、慢查询、迁移回滚和 PHP/CMS 数据访问约束
- **AJAX 渐进式防卡死**：长任务强制采用 Init → Step → Poll 架构，覆盖 CMS 批处理、导入导出、静态生成、采集同步、前端进度轮询和 API 契约

- **Karpathy编码哲学**：所有代码产出遵循'先思考、简洁优先、避免浪费、手工胜于模板'原则，代码生成前必须先完成逻辑推演
- **Wave执行模式**：任务拆解与执行子技能按依赖分Wave串行执行，每Wave完成后验证再进入下一Wave，上下文隔离避免污染
- **Spec驱动开发**：Spec驱动开发子技能在编码前强制对齐需求规格，用artifact flow分离提案/实施/验证三阶段

## 路由表

| 子技能           | 功能说明                                                                                                       |
| ---------------- | -------------------------------------------------------------------------------------------------------------- |
| 软件项目总控     | 通用软件项目从需求到交付的总控：边界、行为契约、架构、数据/API/集成、测试、安全、发布、回滚和沉淀。            |
| 网站项目总控     | 从需求到上线的建站项目总控：站点规划、内容SEO、前端设计、CMS/API/数据、测试安全、性能部署、验收运维。          |
| API设计          | 根据业务需求设计RESTful或GraphQL API接口...                                                                    |
| Bug诊断          | 分析错误日志、异常堆栈和代码，定位Bug根因并给出修复方案。                                                      |
| Karpathy编码规范 | Karpathy编码哲学：先思考、简洁优先、避免浪费、手工胜于模板。                                                   |
| Spec驱动开发     | 编码前对齐需求规格，用OpenSpec的artifact flow分离提案。                                                        |
| 代码审查         | 审查代码质量，发现潜在Bug、安全漏洞、性能问题和代码异味...                                                     |
| 代码生成         | 根据功能需求生成高质量代码实现，支持多种编程语言和框架，包含错误处理和边界条件。                               |
| 任务拆解与执行   | 将复杂需求拆分为原子任务，按依赖分Wave执行，上下文隔离。                                                       |
| 技术选型         | 根据项目需求、团队能力和约束条件，推荐合适的技术栈、框架和工具...                                              |
| 文档生成         | 根据代码生成技术文档，包括函数文档、README、API文档和架构说明...                                               |
| 测试用例生成     | 根据代码逻辑生成单元测试、集成测试和边界条件测试，覆盖正常路径和异常路径。                                     |
| 重构建议         | 分析代码结构，识别坏味道，提供具体的重构方案和步骤，提升代码可维护性。                                         |
| 项目记忆管理     | 捕获会话上下文、技术决策和项目规范，实现跨会话项目记忆沉淀与恢复。                                             |
| CMS二次开发      | PHP+MySQL CMS 二次开发全链路指引：CMS探测、PHP版本选型、数据库规范、PHP8兼容、安全红线、插件开发。             |
| 前端设计         | UI/UX 与前端实现设计：设计思维、信息架构、视觉规范、品牌、Banner、图标、社媒图、响应式、可访问性、浏览器验证。 |
| MySQL数据库      | MySQL 数据建模、SQL安全、索引设计、事务边界、慢查询诊断、迁移回滚和数据安全。                                  |

## 子技能索引

| 子技能           | 英文标识                           | 文件                                                                                               |
| ---------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------- |
| 软件项目总控     | `software-project`                 | [references/software-project.md](./references/software-project.md)                                 |
| 网站项目总控     | `website-project`                  | [references/website-project.md](./references/website-project.md)                                   |
| API设计          | `api-design`                       | [references/api-design.md](./references/api-design.md)                                             |
| Bug诊断          | `bug-diagnosis`                    | [references/bug-diagnosis.md](./references/bug-diagnosis.md)                                       |
| Karpathy编码规范 | `karpathy-coding-guidelines`       | [references/karpathy-coding-guidelines.md](./references/karpathy-coding-guidelines.md)             |
| Spec驱动开发     | `spec-driven-development`          | [references/spec-driven-development.md](./references/spec-driven-development.md)                   |
| 代码审查         | `code-review`                      | [references/code-review.md](./references/code-review.md)                                           |
| 代码生成         | `code-generation`                  | [references/code-generation.md](./references/code-generation.md)                                   |
| 任务拆解与执行   | `task-decomposition-and-execution` | [references/task-decomposition-and-execution.md](./references/task-decomposition-and-execution.md) |
| 技术选型         | `tech-selection`                   | [references/tech-selection.md](./references/tech-selection.md)                                     |
| 文档生成         | `doc-generation`                   | [references/doc-generation.md](./references/doc-generation.md)                                     |
| 测试用例生成     | `test-generation`                  | [references/test-generation.md](./references/test-generation.md)                                   |
| 重构建议         | `refactoring`                      | [references/refactoring.md](./references/refactoring.md)                                           |
| 项目记忆管理     | `project-memory-management`        | [references/project-memory-management.md](./references/project-memory-management.md)               |
| CMS二次开发      | `cms-development`                  | [references/cms-development.md](./references/cms-development.md)                                   |
| 前端设计         | `frontend-design`                  | [references/frontend-design.md](./references/frontend-design.md)                                   |
| MySQL数据库      | `mysql-database`                   | [references/mysql-database.md](./references/mysql-database.md)                                     |

## 子技能优先级矩阵

当用户输入同时匹配多个子技能时，按以下优先级路由：

| 场景                                                  | 优先子技能                       | 理由                                                                    |
| ----------------------------------------------------- | -------------------------------- | ----------------------------------------------------------------------- |
| "做网站/建站/企业官网/营销页"                         | 网站项目总控                     | 网站项目需要先覆盖项目启动、站点规划、SEO、部署、验收和运维，再拆解执行 |
| "API服务/后端服务/CLI工具/数据脚本/插件项目/完整功能" | 软件项目总控                     | 非网站类完整项目需要先覆盖边界、架构、验证、发布和交付，再拆解执行      |
| "帮我看看这段代码有什么问题"                          | 代码审查                         | 通用审查优先于专项重构                                                  |
| "这段代码有坏味道/代码异味"                           | 重构建议                         | 专项关键词触发专项技能                                                  |
| "帮我修复这个Bug"                                     | Bug诊断                          | 明确修复意图优先于审查                                                  |
| "帮我写段代码" + 提到测试                             | 代码生成                         | 先生成主代码，再生成测试（代码生成→测试用例生成 协同）                  |
| "设计API" + 提到技术选型                              | 技术选型                         | 选型先于设计（技术选型→API设计 协同）                                   |
| "重构" + 提到测试                                     | 重构建议                         | 先重构，再补测试（重构建议→测试用例生成 协同）                          |
| "写文档" + 提到API                                    | 文档生成                         | 通用文档优先，API专项由 API设计 协同                                    |
| 任何子技能 + "记录决策"                               | 当前子技能 + 项目记忆管理        | 主任务优先，记忆作为附属步骤                                            |
| "CMS二次开发" + "写代码"                              | CMS二次开发 + 代码生成           | CMS规范优先，代码生成遵循CMS数据访问层和安全红线                        |
| "帝国CMS/WordPress" + "报错"                          | Bug诊断                          | CMS关键词触发Bug诊断时自动加载CMS常见Bug模式                            |
| "PHP" + "代码审查"                                    | 代码审查 + CMS二次开发(自动)     | 审查PHP代码时自动追加CMS安全审查清单                                    |
| "MySQL/数据库/SQL/索引/慢查询/EXPLAIN"                | MySQL数据库                      | 数据结构、SQL安全和性能问题优先走数据库专项模板                         |
| "PHP/CMS" + "数据库/SQL"                              | CMS二次开发 + MySQL数据库        | 先确认CMS访问层和表前缀，再进行SQL/索引/迁移设计                        |
| "部署/发布/上线/回滚/运维/监控/告警/巡检"             | 软件项目总控 + 文档生成          | 发布运维类请求必须输出发布步骤、回滚方案、观测指标、告警和巡检清单      |
| "前端/页面/UI" + "设计"                               | 前端设计                         | 视觉、交互、响应式和可访问性优先于直接写代码                            |
| "品牌/Banner/图标/社媒图"                             | 前端设计                         | 视觉资产类请求由前端设计输出规格、风格、尺寸和验收标准                  |
| "前端设计" + "写代码"                                 | 前端设计 + 代码生成              | 先定义页面结构/组件状态/响应式，再生成实现代码                          |
| "CMS模板" + "页面设计"                                | 前端设计 + CMS二次开发           | 同时约束视觉实现、模板变量、输出转义和缓存策略                          |
| "AJAX防卡死/Init-Step-Poll/长任务/轮询"               | API设计 + 前端设计 + CMS二次开发 | 长任务必须先定义 Init/Step/Poll 接口契约，再实现前端轮询和 CMS 分批处理 |

**互斥规则**：

- 代码审查 vs 重构建议：用户说"问题/缺陷/漏洞" → 代码审查；用户说"坏味道/异味/重构" → 重构建议
- Bug诊断 vs 代码审查：用户说"报错/Bug/崩溃" → Bug诊断；用户说"审查/检查/review" → 代码审查
- 代码生成 vs 重构建议：用户说"实现/写/生成" → 代码生成；用户说"重构/优化/改" → 重构建议

**协同顺序规则**：

- 网站项目：网站项目总控 → Spec驱动开发 → 任务拆解与执行 → 前端设计/CMS二次开发/API设计 → 代码生成 → 代码审查 → 测试用例生成 → 文档生成 → 项目记忆管理
- 通用软件项目：软件项目总控 → Spec驱动开发 → 技术选型/API设计/MySQL数据库/CMS二次开发 → 任务拆解与执行 → 代码生成 → 代码审查 → 测试用例生成 → 文档生成/部署运维说明 → 项目记忆管理
- 需求→实现：Spec驱动开发 → 任务拆解与执行 → 代码生成 → 代码审查 → 测试用例生成 → 文档生成
- 页面→实现：前端设计 → 代码生成 → 代码审查 → 测试用例生成 → 文档生成
- CMS页面→实现：CMS二次开发 → 前端设计 → 代码生成 → 代码审查 → 浏览器验证
- 治理→沉淀：Bug诊断/重构建议 → 代码审查 → Karpathy编码规范 → 项目记忆管理

## 跨技能协同指引

编程专家为独立技能套件，暂无可直接联动的其他职业技能。如需在编程任务中集成外部数据或服务，可使用主Agent的web_search/web_fetch工具获取。

## 六步闭环工作流对齐

> 本章节使本技能包对齐「六步闭环工作流\_融合数字员工体系.md」标准，实现分析→方案→执行→验证→交付→复盘的全流程闭环。

### 一、六步闭环映射

本技能原有四步流程（意图识别→加载模板→按模板执行→输出结果）映射到六步闭环：

| 闭环步骤    | 对应本技能环节             | 具体动作                                                                                  |
| ----------- | -------------------------- | ----------------------------------------------------------------------------------------- |
| 1. 分析指令 | Step 1: 意图识别与路由匹配 | 提取用户需求中的目标、范围、技术约束；标注不确定信息；判断子技能匹配度                    |
| 2. 制定方案 | Step 2: 加载子技能模板     | 根据子技能索引读取模板；确认输入要求、执行步骤、输出格式；定义验收口径                    |
| 3. 执行任务 | Step 3: 按模板执行         | 严格按模板逐步执行；记录关键步骤和偏差；遵守Karpathy编码规范                              |
| 4. 验证结果 | Step 3 末尾 + 自查         | 代码编译/运行自检；对照模板质量标准逐条验证；未通过项返回修复                             |
| 5. 交付结果 | Step 4: 输出结果           | 按模板格式输出；附带验证结论和变更说明；标注已知限制                                      |
| 6. 复盘沉淀 | （新增）                   | 将本轮编码/架构中的修正经验固化为开发规范 → 更新代码模板库与最佳实践 → 形成可复用检查清单 |

### 二、数字员工角色配置

本技能包对应的角色分工如下：

| 职能类型 | 角色名称 | 职责                                                 |
| -------- | -------- | ---------------------------------------------------- |
| 中枢型   | 主控     | 调度子技能选择、判定交付质量、控制轮次节奏           |
| 分析型   | 架构师   | 需求拆解、意图识别、子技能路由、技术选型与架构设计   |
| 产出型   | 程序员   | 实际编码实现、Bug修复、代码重构、测试用例编写        |
| 验收型   | 测试员   | 代码审查、单元测试验证、功能测试、回归测试、安全审计 |

**角色间接口协议**：

- 主控 → 分析角色：传递用户原始需求，指明技术约束和性能要求
- 分析角色 → 产出角色：传递匹配的子技能模板路径、技术方案、接口规范和验收标准
- 产出角色 → 验收角色：传递代码产物、变更说明、自检结果和已知限制
- 验收角色 → 主控：传递测试报告（阻塞级/严重/一般/建议）、放行结论

### 三、轮次控制与收敛规则

| 参数             | 默认值                                    | 说明                                                 |
| ---------------- | ----------------------------------------- | ---------------------------------------------------- |
| 默认循环轮次     | 3                                         | 无终极功能时的标准结束轮次                           |
| 安全最大轮次     | 6                                         | 防无限迭代的硬上限                                   |
| 每轮最大改动点数 | 3                                         | 分析角色每轮最多提出改动点，主目标未完成时禁止P2优化 |
| 失败熔断         | 同一Bug 2轮未修复→标记已知限制不再循环    | 防止反复尝试无效修复                                 |
| 低收益检测       | 连续2轮仅做注释/命名等P2微调→建议提前结束 | 避免过度优化                                         |

**收敛判定逻辑**：

1. 终极功能完成且测试通过 → 正常结束
2. 无终极功能时，达到默认轮次且本轮测试通过 → 默认结束
3. 达到安全最大轮次 → 强制结束，输出未完成清单
4. 连续2轮仅做P2级微调且测试通过 → 建议提前结束

### 四、验收标准

每个子技能执行完毕后，必须对照以下检查项：

| 检查维度   | 检查项                                         | 判定标准                    |
| ---------- | ---------------------------------------------- | --------------------------- |
| 功能完整性 | 是否实现模板/需求所有必选功能                  | 全部必选功能可运行          |
| 代码质量   | 是否通过代码审查（安全/性能/可维护性）         | 无阻塞级代码问题            |
| 构建通过   | 代码能否成功编译/运行                          | 构建状态为成功              |
| 测试覆盖   | 单元测试/集成测试是否覆盖正常与异常路径        | 核心路径有测试用例          |
| 规范符合性 | 是否符合Karpathy编码规范和项目规范             | 无规范违规                  |
| 可追溯性   | 变更记录是否完整、已知限制是否明示             | 变更文件与影响范围可查      |
| 逻辑一致性 | 代码实现逻辑是否与需求对齐、架构推演是否无跳跃 | 需求→代码映射关系完整可追溯 |

### 五、模板化交付

关键产出的标准模板由各子技能的 `references/` 文件定义。本技能包级别的通用交付格式：

```markdown
## 任务交付说明

### 1. 子技能与路由

- **匹配子技能**：（名称）
- **路由依据**：（用户输入关键词/场景匹配）

### 2. 执行摘要

- **输入信息**：（用户提供的核心输入/技术约束）
- **执行过程**：（关键步骤简述）
- **产出清单**：（交付物列表，含文件路径）

### 3. 变更说明

| 改动点 | 涉及文件 | 变更摘要 | 已知限制 |
| ------ | -------- | -------- | -------- |

### 4. 验证结论

- **构建状态**：通过/失败
- **测试结果**：
  | 检查项 | 状态 | 备注 |
  |--------|:----:|------|
  | （逐条列出） | 通过/未通过 | （说明） |

### 5. 风险与建议

- **已知限制**：
- **技术债记录**：
- **后续建议**：

### 6. 复盘记录

- **本次经验**：（可复用的Bug模式/架构决策/需注意的陷阱）
```

### 六、项目启动模板

处理复杂编程任务时，启动前填写：

```markdown
## 项目启动信息

- **项目名称**：
- **初始需求**：（用户原始需求描述）
- **技术栈**：
- **是否存在终极功能**：是 / 否
- **终极功能定义**：（如有，可验证的一句话描述）
- **技术约束**：（性能要求/兼容性/安全约束等）
- **默认循环轮次**：3
- **安全最大轮次**：6
- **每轮最大改动点数**：3
- **角色配置**：主控 + 架构师 + 程序员 + 测试员
```
