/gen-design - 系统设计技能
技能 ID: gen-design
技能名称: 系统设计技能
版本: 1.4.0
描述: 基于领域知识库进行数据模型设计和集成设计,生成与 PRD 数据流对齐的设计文档
触发条件
- - INLINECODE1
- INLINECODE2
- INLINECODE3
- INLINECODE4
技能边界(防止误触发)
- - 本技能仅当用户明确要「根据 PRD/需求生成系统设计文档」时触发。
- 不得在以下场景触发本技能:
- 用户要「分析现有代码库」→ 应使用
analyze
- 用户要「从现有代码反推设计主线」→ 应使用
analyze --phase=deep
- - 若误触发:应说明「您当前意图是 XX,应使用 /analyze 或 /analyze --phase=deep」,并引导至正确技能。
前置条件
- - PRD 文档已生成,或用户已提供清晰的需求描述
- 领域知识库已准备就绪(
skills/libs/domain-knowledge/)
核心增强:领域知识库驱动
本技能基于领域知识库进行增强,实现:
- 1. 数据模型设计 — 参考知识库中的核心实体关系、数据库表设计
- 接口设计 — 参考知识库中的核心接口设计
- 集成设计 — 参考知识库中的常见集成点
- 非功能性需求 — 参考知识库中的约束条件和最佳实践
技能行为
阶段一:确认技术栈偏好
CODEBLOCK0
阶段二:设计方案呈现
CODEBLOCK1
阶段三:数据模型设计(基于知识库)
CODEBLOCK2
阶段四:接口设计(基于知识库)
CODEBLOCK3
阶段五:集成设计(基于知识库)
CODEBLOCK4
阶段六:生成设计文档
生成时必须同时填写「4. 数据流主线与集成点」节,不得留空。
阶段七:数据流主线与集成点必填与自动补全
- - 规则:生成设计文档后必须检查「4. 数据流主线与集成点」是否已填写完整。
- 若 PRD 中已有「核心数据流与闭环」:必须据此展开为本节的「数据流主线」与「集成点清单」。
- 若 PRD 中无或不足:根据「3. 模块划分」与「5. 接口设计」自动推断数据流路径与集成点。
- 参考知识库:从知识库「典型数据流骨架」提取集成点。
阶段八:生成完成与下一步引导
CODEBLOCK5
领域知识库使用规范
知识库使用方式
| 设计阶段 | 使用内容 | 用途 |
|---|
| 数据模型设计 | 核心实体关系、数据库表设计参考 | 设计表结构 |
| 接口设计 |
核心接口设计 | 设计 API 接口 |
| 集成设计 | 常见集成点 | 设计系统集成 |
| 非功能性需求 | 约束条件、最佳实践 | 补充设计约束 |
领域识别与知识库加载
CODEBLOCK6
数据模型设计规则
CODEBLOCK7
接口设计规则
CODEBLOCK8
集成设计规则
CODEBLOCK9
技术栈规范
前端技术栈(默认推荐)
CODEBLOCK10
后端技术栈(默认推荐)
CODEBLOCK11
AI 能力集成(如需要)
CODEBLOCK12
架构方案库
本技能支持根据用户需求推荐合适的架构方案。详细的架构方案模板见 libs/architecture-options.md,包含:
- - 方案 A:经典单体架构
- 方案 A+:单体 + 读写分离
- 方案 B:Spring Cloud 微服务
- 方案 C:标准前后端分离
- 方案 D:Serverless 架构
- 方案 E:高并发架构
架构选择决策树
CODEBLOCK13
输出文件
CODEBLOCK14
目录与写入:写入前须确保 docs/design/ 存在(空仓库时先创建 docs 与 docs/design),并将完整设计文档落盘,禁止仅对话展示。通用约定见 SKILLS-FILE-OUTPUT.md。
前后端分离:使用模板时须填写 「1.4 仓库与代码目录结构」 中的 {frontendRoot}、{backendRoot}(如 frontend/、backend/),供后续 /gen-code 将前后端代码分别写入对应根目录。
示例对话
示例:积分系统设计
CODEBLOCK15
相关技能
- - gen-prd: PRD 生成,本技能的前置技能
- design-review: 设计评审(可选),本技能产出后的质量加固
- validate: 设计验证(如
--mode=dataflow),本技能的后续验证 - gen-coding-specs: 固化技术栈与编码约定到
docs/coding-specs/,强烈建议在 gen-tasks / gen-code 前完成,与 SKILL-VALUE-CHAIN.md 一致 - contract-gen: 契约生成(可选,契约驱动时),本技能的后续技能
- gen-tasks: 任务拆解,本技能的后续技能
版本历史
| 版本 | 日期 | 变更说明 |
|---|
| 1.4.0 | 2026-03-07 | 新增数据流标注、契约生成集成 |
| 1.3.0 |
2026-03-05 | 新增功能单元设计 |
| 1.2.0 | 2026-03-03 | 新增API规范设计 |
| 1.1.0 | 2026-03-02 | 新增存量项目设计增强 |
| 1.0.0 | 2026-03-01 | 初始版本 |
本技能是 AI Speckits 技能体系的系统设计阶段,基于领域知识库增强。
/gen-design - 系统设计技能
技能 ID: gen-design
技能名称: 系统设计技能
版本: 1.4.0
描述: 基于领域知识库进行数据模型设计和集成设计,生成与 PRD 数据流对齐的设计文档
触发条件
- - /gen-design
- /design
- 生成设计文档
- 系统设计
技能边界(防止误触发)
- - 本技能仅当用户明确要「根据 PRD/需求生成系统设计文档」时触发。
- 不得在以下场景触发本技能:
- 用户要「分析现有代码库」→ 应使用
analyze
- 用户要「从现有代码反推设计主线」→ 应使用
analyze --phase=deep
- - 若误触发:应说明「您当前意图是 XX,应使用 /analyze 或 /analyze --phase=deep」,并引导至正确技能。
前置条件
- - PRD 文档已生成,或用户已提供清晰的需求描述
- 领域知识库已准备就绪(skills/libs/domain-knowledge/)
核心增强:领域知识库驱动
本技能基于领域知识库进行增强,实现:
- 1. 数据模型设计 — 参考知识库中的核心实体关系、数据库表设计
- 接口设计 — 参考知识库中的核心接口设计
- 集成设计 — 参考知识库中的常见集成点
- 非功能性需求 — 参考知识库中的约束条件和最佳实践
技能行为
阶段一:确认技术栈偏好
好的,让我了解一些设计相关的信息:
- 1. 技术栈确认
根据您的需求,推荐使用以下技术栈:
前端:Vue 3 + Ant Design Vue
后端:Spring Boot 3 + MyBatis-Plus
【如需要 AI 能力】LangChain4j + LangGraph4j
【如用户规模>10 万】Spring Cloud 微服务
是否采用此技术栈方案?
A) 采用推荐方案
B) 调整技术栈(请说明)
C) 使用其他技术栈(请说明)
- 2. 预期用户规模?
A) 日活<1 万(单体架构)
B) 日活 1-10 万(读写分离)
C) 日活>10 万(微服务架构)
- 3. 部署环境?
A) 云服务器(阿里云/腾讯云)
B) 容器化(K8s/Docker)
C) 本地服务器
阶段二:设计方案呈现
基于您的需求和技术栈确认,我推荐以下架构方案:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
推荐方案(单体架构):
【前端】
- - 框架:Vue.js 3.x(组合式 API)
- UI 库:Ant Design Vue 4.x
- 状态管理:Pinia
- 路由:Vue Router 4.x
- HTTP 客户端:Axios
【后端】
- - 框架:Spring Boot 3.x
- ORM:MyBatis-Plus 3.5.x
- 安全:Spring Security + JWT
- 文档:Knife4j(Swagger 3)
- 工具:Lombok, Hutool
【数据库】
- - MySQL 8.0(主从复制,读写分离)
- Redis 6.x(缓存热点数据)
【AI 能力】(如需要)
- - LangChain4j:大模型接入
- LangGraph4j:工作流编排
架构特点:
- - 前后端分离
- 读写分离(主从数据库)
- Redis 缓存热点数据
- 适合日活 1-10 万规模
优势:
- - 技术栈成熟稳定,团队容易上手
- 开发效率高,支持快速迭代
- 生态完善,问题容易解决
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
是否采用推荐方案?确认后生成详细设计文档。
阶段三:数据模型设计(基于知识库)
【数据模型设计增强】
基于领域知识库,设计数据模型:
- 1. 读取 PRD 中识别的领域
- 加载对应领域知识库
- 参考知识库中的「核心实体关系」
- 参考知识库中的「数据库表设计参考」
- 根据 PRD 功能需求调整
【实体关系设计】
从知识库提取核心实体:
| 实体 | 来源知识库 | 核心属性 | 关联实体 |
|---|
| {实体1} | {领域} | {属性列表} | {关联实体} |
| {实体2} |
{领域} | {属性列表} | {关联实体} |
【表结构设计】
参考知识库中的数据库表设计,结合业务需求调整:
- - 表名规范
- 字段类型
- 索引设计
- 分库分表策略(如需要)
阶段四:接口设计(基于知识库)
【接口设计增强】
基于领域知识库,设计 API 接口:
- 1. 参考知识库中的「核心接口设计」
- 参考知识库中的「常见集成点」
- 根据 PRD 数据流设计接口调用链
【接口分类】
| 分类 | 来源知识库 | 接口示例 |
|---|
| 核心业务接口 | {领域}知识库 | {接口列表} |
| 集成接口 |
知识库集成点 | {接口列表} |
| 管理接口 | 业务需求 | {接口列表} |
【接口规范】
参考知识库中的接口设计规范:
- - RESTful 风格
- 统一响应格式
- 异常处理规范
- 认证授权机制
阶段五:集成设计(基于知识库)
【集成设计增强】
基于领域知识库,设计系统集成:
- 1. 参考知识库中的「常见集成点」
- 根据 PRD 数据流设计集成方案
- 定义集成契约
【集成点清单】
| 集成点 | 集成类型 | 来源知识库 | 数据内容 | 触发时机 |
|---|
| {集成点1} | API/消息队列 | {领域}知识库 | {数据} | {触发条件} |
【集成契约】
每个集成点定义:
- - 接口/消息格式
- 数据字段
- 调用方式
- 异常处理
- 重试机制
阶段六:生成设计文档
生成时必须同时填写「4. 数据流主线与集成点」节,不得留空。
阶段七:数据流主线与集成点必填与自动补全
- - 规则:生成设计文档后必须检查「4. 数据流主线与集成点」是否已填写完整。
- 若 PRD 中已有「核心数据流与闭环」:必须据此展开为本节的「数据流主线」与「集成点清单」。
- 若 PRD 中无或不足:根据「3. 模块划分」与「5. 接口设计」自动推断数据流路径与集成点。
- 参考知识库:从知识库「典型数据流骨架」提取集成点。
阶段八:生成完成与下一步引导
正在生成 docs/design/YYYY-MM-DD-{project-name}-design.md...
✅ 设计文档已生成,包含:
- - 系统架构图
- 技术栈说明
- 模块划分(X 个模块)
- 数据模型设计(基于领域知识库)
- 接口设计(基于领域知识库)
- 集成设计(基于领域知识库)
- 数据流主线与集成点清单(与 PRD 数据流对齐)
- 部署方案
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下一步(请先执行验证再拆任务):
请执行以下命令完成数据流与闭环验证后,再执行 /gen-tasks:
/validate docs/design/YYYY-MM-DD-{project-name}-design.md
验证完成后再执行:/gen-tasks
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
自动继续:若平台支持技能链调用,用户回复「是」或未明确说「暂停」时,应代为调用 validate(传入本设计文档路径)。
领域知识库使用规范
知识库使用方式
| 设计阶段 | 使用内容 | 用途 |
|---|
| 数据模型设计 | 核心实体关系、数据库表设计参考 | 设计表结构 |
| 接口设计 |
核心接口设计 | 设计 API 接口 |
| 集成设计 | 常见集成点 | 设计系统集成 |
| 非功能性需求 |