面向 API 服务、后台模块、插件、CLI 工具、数据处理脚本、自动化任务、中小型后端应用和非网站类功能项目。目标是在进入任务拆解前,先定义项目边界、架构方案、数据/API/集成、实现路径、验证、发布和沉淀,避免复杂需求直接落入零散代码生成。
本 Skill 不替代
task-decomposition-and-execution,而是在拆解前定义通用软件项目必须覆盖的阶段和验收项;随后调用task-decomposition-and-execution将阶段转为 Wave 任务。
website-project调用 spec-driven-development 输出需求规格,并补充:
按项目类型调用对应子技能:
api-designmysql-databasecms-developmentfrontend-designtech-selection必须明确:
Init → Step → Pollspec-driven-development 第四步 Design / tech-selection 第四步)。单一合理实现、低复杂度改动(如单文件小功能)不强制反选论证,避免违反"澄清过度"反模式;模糊 / 高影响决策仍须显式标注并交用户拍板。在进入 Wave 拆解前,对架构方案中涉及的模块边界进行合规审查,防止跨模块改动失控。
审查维度:
| 维度 | 检查项 | 违规信号 |
|---|---|---|
| 依赖方向 | 模块间依赖是否单向无环 | 循环依赖 / 底层模块反向依赖上层 |
| 接口契约 | 跨模块调用是否通过明确接口 | 跨模块直接访问内部实现 / 绕过接口调用私有方法 |
| 数据持有 | 每个数据实体是否有唯一归属模块 | 同一张表被多个模块直接写入 / 缓存键冲突 |
| 变更半径 | 单次改动是否需要同步修改 ≥ 3 个模块 | 一处业务规则变更需要同时改多个模块 |
| 术语一致性 | 跨模块是否对同一概念使用同一名称 | 同一概念在不同模块有不同命名 |
上表为工程边界维度。复杂业务系统(多子域/术语多义/跨上下文协作)应先加载
domain-driven-design提供限界上下文语义边界(同一术语在不同上下文可有不同模型),与工程边界互补——审查时先语义后工程。CRUD 为主的项目跳过语义边界,避免过度设计。
审查输出:
轻量模式(模块数 ≤ 3 时适用):仅检查依赖方向和接口契约两项,其余跳过。
调用 task-decomposition-and-execution,按依赖拆成可验证 Wave:
| Wave | 内容 | 验证 |
|---|---|---|
| Wave 1 | 环境、配置、入口、基础结构 | 能运行入口 |
| Wave 2 | 数据模型、接口契约、核心服务 | 数据读写/接口返回正确 |
| Wave 3 | 业务流程、权限、异常处理 | 主路径和异常路径通过 |
| Wave 4 | 测试、安全、性能、兼容 | 检查清单通过 |
| Wave 5 | 文档、部署、回滚、监控、巡检、交付 | 可交接可回滚可观测 |
轮次控制承接(引用主 SKILL.md「项目启动模板」和「轮次与收敛」章节):
code-generation 实现每个 Wave 的最小可验证切片karpathy-coding-guidelines:先推演、少抽象、避免模板化膨胀mysql-databasecms-developmentcode-review 检查安全、性能、可维护性、规范符合性test-generation 覆盖正常路径、异常路径、边界条件和回归路径证据格式(必填,对齐主流程 Step 4):
| 验证项 | 证据类型 | 最小字段 |
|---|---|---|
| 代码审查 | 命令+输出 | 审查命令 + 问题分级清单(阻塞/严重/一般/建议) |
| 单元/集成测试 | 测试报告 | 测试用例数、通过数、失败用例清单 |
| 安全验证 | 命令+输出 | 扫描命令 + 扫描结果 + 阻塞级问题清单 |
| 长任务验证 | API 响应 | Init 创建响应 + Step 进度响应 + Poll 最终状态 + Cancel 响应 + 失败重试响应 + 僵尸检测扫描结果(Poll 检测 running 超阈值 → 标记 failed/resume) |
未声明证据类型的验证视为未完成。
调用 project-memory-management 记录:
本节定义通用软件项目必须覆盖的构建、发布和回滚流水线要点,作为第七步的工程化落地。
| 阶段 | 输入 | 输出 | 验证 |
|---|---|---|---|
| 构建 | 源码、依赖锁文件、构建配置 | 可部署产物(包/镜像/静态文件) | 构建成功且产物校验通过 |
| 测试 | 产物 + 测试套件 | 测试报告(通过率/覆盖率) | 单元+集成测试通过,无阻塞失败 |
| 静态检查 | 源码 | lint/类型检查/安全扫描报告 | 无阻塞级问题 |
| 部署 | 产物 + 环境配置 | 线上版本 | 健康检查通过,旧版本可回退 |
| 验证 | 线上环境 | 烟雾测试结果 | 关键路径可达,错误率低于阈值 |
| 回滚 | 上一稳定版本 | 线上版本回退 | 健康检查通过 |
composer.lock / package-lock.json / pnpm-lock.yaml 等锁文件,禁止使用 latest / * / dev-main| 失败场景 | 回退动作 |
|---|---|
| 构建失败 | 不进入测试;修复依赖或构建配置后重试 |
| 测试失败 | 不进入部署;标注失败用例并修复 |
| 部署后健康检查失败 | 立即触发自动回滚到上一稳定版本 |
| 回滚后仍失败 | 切换到应急流程,通知负责人,保留现场日志 |
## 软件项目交付方案
### 1. 项目启动
- 项目类型:
- 业务目标:
- 成功标准:
- In scope:
- Out of scope:
### 2. 行为契约
| 场景 | 输入 | 输出 | 异常/错误 | 验收标准 |
| ---- | ---- | ---- | --------- | -------- |
### 3. 技术方案
| 层级 | 方案 | 说明 |
| ---- | --------------------- | ------ |
| 入口 | [API/CLI/插件/任务] | [说明] |
| 数据 | [MySQL/文件/外部服务] | [说明] |
| 集成 | [依赖服务] | [说明] |
### 4. Wave执行计划
| Wave | 任务 | 依赖 | 验证 |
| ---- | ---- | ---- | ---- |
### 5. 验证与发布
- 测试:
- 安全:
- 性能:
- 发布:
- 回滚:
- 监控:
- 告警:
- 巡检:
### 6. 交付材料
- 使用说明:
- 部署说明:
- 回滚说明:
- 运维说明:
- 已知限制:
mysql-databasecms-development| 步骤 | 失败条件 | 回退目标 | 最大重试 | 不可恢复时升级路径 |
|---|---|---|---|---|
| 第一步:项目启动与边界确认 | 类型或边界不清 | 输出澄清清单和默认假设 | 1 | 等待用户确认 |
| 第二步:需求规格与行为契约 | 输入输出不完整 | 生成最小行为契约草案 | 1 | 标注待确认字段 |
| 第三步:架构与技术方案 | 技术栈不确定 | 调用技术选型输出候选矩阵 | 1 | 由用户决策 |
| 第四步:实现计划与 Wave 拆解 | 依赖复杂或任务过大 | 重新按模块/入口/数据域拆分 | 2 | 输出依赖图 |
| 第五步:代码实现与自检 | 验证失败 | 缩小到最小可复现切片修复 | 2 | 标记阻塞 |
| 第六步:审查、测试与安全验证 | 环境不可用 | 输出手动验证清单 | 1 | 标注未实测项 |
| 第七步:发布、回滚、监控与交付 | 无发布权限、环境信息或监控接收人 | 输出部署包、回滚步骤和运维清单 | 1 | 由有权限人员执行并确认监控告警 |
| 第八步:项目记忆沉淀 | 项目记忆不可用 | 输出本地交付记录 | 1 | 标注未沉淀 |