Skill: wumaohua233/business-to-dev-smart (version 1.0.0)

--- name: business-to-dev-smart description: Smart business-to-dev requirement translator. AI first analyzes and memorizes project structure, then understands business requirements, references actual code, and generates implementation-ready developer documents. Universal - works with any tech stack. --- # Business-to-Dev Smart 智能业务需求转研发需求文档工具。AI 自主分析项目结构，理解业务需求，参考实际代码，生成可直接执行的研发文档。 ## 核心特点 - 🧠 **自主项目理解** - AI 自动探索代码库，理解项目类型和架构 - 💾 **项目记忆** - 存储项目概述和结构，后续复用 - 🎯 **需求智能分析** - 结合项目上下文理解业务需求 - 🔍 **代码精准参考** - 自动查找相关代码作为实现参考 - 📝 **生成完整文档** - 需求概述、页面原型、接口设计、任务拆分 ## 工作流程 ### Phase 1: 项目分析（首次使用） 当遇到新项目时，AI 会： 1. **探索项目根目录** - 识别项目类型和技术栈 2. **分析关键文件** - package.json, README, 配置文件等 3. **理解项目架构** - 目录结构、模块划分、代码组织方式 4. **存储项目记忆** - 保存项目概述和结构到 `.ai-memory/` ``` 项目分析输出示例： 【项目概述】 - 项目名称：电商订单管理系统 (OMS) - 技术栈：Vue3 + Element Plus + Java Spring Boot - 项目类型：B端管理系统 - 主要模块：订单、库存、客户、报表 【项目结构】 frontend/ - src/views/ # 页面：按模块组织 - src/components/ # 公共组件 - src/api/ # API 接口 - src/router/ # 路由配置 backend/ - controller/ # REST API - service/ # 业务逻辑 - entity/ # 数据模型 - mapper/ # 数据访问 【代码风格】 - 前端：Composition API, 模块化组织 - 后端：分层架构，RESTful 风格 - 命名：驼峰命名，模块前缀 ``` ### Phase 2: 需求分析 用户提供： 1. **业务描述**（文字） 2. **UI 截图**（可选，图片路径） AI 会： 1. 理解业务目标和场景 2. 分析 UI 截图中的功能点 3. 结合项目上下文判断实现方式 4. 识别需要修改/新增的模块 ### Phase 3: 代码参考 AI 自动在项目中查找： 1. **相似功能实现** - 查找类似页面的代码 2. **API 调用模式** - 了解前后端交互方式 3. **组件使用方式** - 查看常用 UI 组件 4. **数据模型定义** - 参考现有实体类 ### Phase 4: 生成需求文档 输出包含： ```markdown # [需求标题] 研发需求文档 ## 1. 需求概述 - 业务背景：... - 用户场景：... - 预期效果：... ## 2. 功能需求 ### 2.1 功能点列表 - [ ] 功能1：... - [ ] 功能2：... ### 2.2 交互流程 1. 用户操作... 2. 系统响应... ## 3. 页面设计 ### 3.1 页面结构（HTML 原型） ```html <div style="border:1px solid #ccc; padding:10px;"> <h4>页面标题</h4> <!-- 简单框线图 --> </div> ``` ### 3.2 关键交互 - 点击...触发... - 选择...后... ## 4. 接口设计 ### 4.1 新增/修改接口 | 接口 | 方法 | 路径 | 描述 | |------|------|------|------| | 接口1 | POST | /api/xxx | ... | ### 4.2 请求/响应示例 ```json { "code": 200, "data": {...} } ``` ## 5. 数据模型 ### 5.1 新增/修改实体 ```java // 参考现有代码风格 public class XxxEntity { // 字段定义 } ``` ## 6. 实现参考 ### 6.1 参考代码 - 相似功能：`src/views/xxx/IndexView.vue`（第 45-78 行） - API 调用：`src/api/xxx.js`（参考 getList 方法） - 组件使用：参考 `components/XxxComponent.vue` ### 6.2 建议实现步骤 1. **前端**：在 `views/xxx/` 目录新增/修改... 2. **后端**：在 `controller/` 添加接口，在 `service/` 实现逻辑... 3. **数据库**：在 `entity/` 定义模型... ## 7. 开发任务 - [ ] 前端：页面开发（预计 x 小时） - [ ] 后端：接口开发（预计 x 小时） - [ ] 联调：前后端对接 - [ ] 测试：功能验证 ``` ## 使用方法 ### 首次使用（项目分析） ```bash # AI 会自动分析项目并保存记忆 kimi "帮我理解这个项目：项目路径 ~/projects/my-app" ``` ### 日常需求分析 ```bash # 基础用法 kimi "分析需求：在订单列表增加批量导出功能，截图在 ~/screenshot.png" # 完整用法 kimi "分析需求： 业务：客户希望在订单列表增加批量导出功能，可以选择时间范围和状态筛选后导出 Excel。 截图：/Users/xxx/screenshots/order_list.png 项目：~/projects/my-app" ``` ## 项目记忆存储 项目分析结果存储在： ``` 项目根目录/ └── .ai-memory/ └── project-profile.md # 项目概述和结构 ``` 用户可以随时查看或更新： ```bash # 查看项目记忆 kimi "查看这个项目的记忆" # 更新项目记忆（代码结构变化后） kimi "重新分析这个项目，更新记忆" ``` ## 最佳实践 1. **首次使用先让 AI 理解项目** - 项目分析质量决定后续输出质量 2. **提供清晰的业务描述** - 说明用户是谁、要解决什么问题 3. **UI 截图很有用** - 帮助 AI 理解页面布局和功能点 4. **查看生成的参考代码** - 确保建议符合实际代码风格 5. **迭代优化** - 如果需求复杂，可以多次对话完善文档 ## 注意事项 - AI 会尽量理解项目，但复杂项目可能需要人工补充说明 - 生成的代码参考是示意性的，需要根据实际情况调整 - 对于全新项目类型，AI 可能需要更多上下文 - 建议定期更新项目记忆（当项目结构重大变化时）

path: EXAMPLE.md
content: # 使用示例

## 示例 1: 首次使用（项目分析）

### 用户输入
```
帮我理解这个项目：~/projects/skye-oms
```

### AI 执行
```
🔍 正在分析项目结构...

📁 发现项目结构：
  ├─ skye-oms-vue/          # Vue3 前端项目
  ├─ skye-wms-java/         # Java 后端项目
  └─ README.md

🔧 技术栈识别：
  前端: Vue3 + Element Plus + Vite
  后端: Java + Spring Boot + MyBatis

📊 架构分析：
  - B端管理系统（订单管理 OMS）
  - 模块化组织（order/inventory/customer）
  - RESTful API 设计
  - 分层后端架构

💾 项目记忆已保存到 ~/projects/skye-oms/.ai-memory/project-profile.md

【项目概述】
这是一个电商订单管理系统（OMS），采用前后端分离架构...

【主要模块】
- 订单管理（order）
- 库存管理（inventory）
- 客户管理（customer）
...
```

---

## 示例 2: 需求分析

### 用户输入
```
分析需求：
业务：客户希望在订单列表增加批量导出功能，可以选择时间范围和状态筛选后导出 Excel。
截图：~/screenshots/order-export.png
```

### AI 执行

**Step 1: 读取项目记忆**
```
💾 读取项目记忆: skye-oms
技术栈: Vue3 + Element Plus + Java Spring Boot
模块: order/inventory/customer
```

**Step 2: 分析需求**
```
🎯 需求理解：
- 功能：订单批量导出
- 筛选条件：时间范围、订单状态
- 输出格式：Excel
- 触发位置：订单列表页面
```

**Step 3: 查找参考代码**
```
🔍 在代码库中查找：

✓ 找到列表页面：
  skye-oms-vue/src/views/order/IndexView.vue
  - 使用 el-table，已有选择框功能
  - 工具栏有导出按钮（单个订单）

✓ 找到导出工具：
  skye-oms-vue/src/utils/exportUtil.ts
  - exportExcel() 函数已实现

✓ 找到 API 模式：
  skye-oms-vue/src/api/order.ts
  - 使用 createAxios 封装
```

**Step 4: 生成文档**
```markdown
# 订单批量导出功能 研发需求文档

## 1. 需求概述
在订单列表页面增加批量导出功能，支持按时间范围和状态筛选后导出 Excel。

## 2. 功能需求
### 2.1 筛选条件
- 时间范围：开始日期 ~ 结束日期
- 订单状态：多选（待处理、已发货、已完成等）

### 2.2 导出流程
1. 用户在订单列表选择记录（复选框）
2. 点击"批量导出"按钮
3. 弹出确认对话框，显示选中数量
4. 确认后下载 Excel 文件

## 3. 页面设计
```html
<!-- 工具栏新增按钮 -->
<div class="toolbar">
  <el-button type="primary" @click="handleBatchExport">
    <el-icon><Download /></el-icon>
    批量导出
  </el-button>
</div>

<!-- 表格添加选择列 -->
<el-table @selection-change="handleSelectionChange">
  <el-table-column type="selection" width="55" />
  <!-- 其他列 -->
</el-table>
```

## 4. 接口设计
### POST /api/order/batchExport
Request:
```json
{
  "orderIds": [1, 2, 3],
  "startDate": "2024-01-01",
  "endDate": "2024-12-31",
  "statusList": ["pending", "shipped"]
}
```

Response:
```
Content-Type: application/vnd.ms-excel
Content-Disposition: attachment; filename=orders.xlsx
```

## 5. 实现参考
### 前端代码参考
**文件**: `src/views/order/IndexView.vue`
```typescript
// 已有功能参考（第 45-78 行）
const handleSelectionChange = (selection: Order[]) => {
  selectedOrders.value = selection
}

// 新增批量导出方法
const handleBatchExport = async () => {
  if (selectedOrders.value.length === 0) {
    ElMessage.warning('请至少选择一条记录')
    return
  }
  // 调用 API...
}
```

**复用工具函数**:
```typescript
// src/utils/exportUtil.ts（已存在）
import { exportExcel } from '@/utils/exportUtil'

exportExcel(response.data, '订单列表.xlsx')
```

### 后端代码参考
**Controller**: 参考 `OrderController.java` 第 34-56 行
**Service**: 参考 `OrderService.java` 的 `getOrderList` 方法

### 建议实现步骤
1. 前端：在 IndexView.vue 工具栏添加按钮（参考现有导出按钮）
2. 后端：OrderController 添加 batchExport 接口
3. 复用现有的 exportExcel 工具函数
4. 测试：验证筛选条件和导出数据正确性

## 6. 开发任务
- [ ] 前端：IndexView.vue 添加批量导出按钮（2h）
- [ ] 后端：OrderController 添加接口（2h）
- [ ] 后端：OrderService 实现导出逻辑（3h）
- [ ] 联调：前后端对接（1h）
```

---

## 示例 3: 复杂需求

### 用户输入
```
业务：我们要做一个新的"库存预警"功能。
当库存低于安全库存时，系统自动发送通知给采购人员，
并在后台生成补货建议。截图在 ~/screenshots/inventory-alert.png
```

### AI 输出关键部分

```markdown
## 6. 实现参考

基于项目代码库分析，建议参考以下实现：

### 定时任务参考
**文件**: `skye-wms-java/src/main/java/com/skye/job/InventoryCheckJob.java`
（假设存在，或参考类似定时任务实现）

```java
// 建议实现：每小时检查一次库存
@Scheduled(cron = "0 0 * * * ?")
public void checkInventoryAlert() {
    // 查询低于安全库存的商品
    // 发送通知
    // 生成补货建议
}
```

### 通知发送参考
**文件**: `skye-wms-java/src/main/java/com/skye/service/NotificationService.java`
```java
// 参考现有的通知发送方式
// 可能支持：站内信、邮件、企业微信等
```

### 前端页面参考
**文件**: `skye-oms-vue/src/views/inventory/IndexView.vue`
```vue
<!-- 在库存列表页面添加预警标识 -->
<el-table-column label="库存状态">
  <template #default="{ row }">
    <el-tag v-if="row.quantity < row.safeStock" type="danger">
      库存不足
    </el-tag>
  </template>
</el-table-column>
```

## 数据库设计
### 新增表：inventory_alert
```sql
-- 参考现有表命名规范
CREATE TABLE inventory_alert (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    product_id BIGINT NOT NULL,
    current_quantity INT NOT NULL,
    safe_stock INT NOT NULL,
    alert_type VARCHAR(20), -- 'LOW_STOCK', 'OUT_OF_STOCK'
    status VARCHAR(20), -- 'PENDING', 'NOTIFIED', 'RESOLVED'
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    -- ... 其他字段
);
```

## 任务拆分
- [ ] 数据库：设计库存预警相关表（1h）
- [ ] 后端：库存检查定时任务（4h）
- [ ] 后端：通知发送服务（3h）
- [ ] 后端：补货建议生成算法（4h）
- [ ] 前端：库存预警列表页面（4h）
- [ ] 前端：预警标识和提醒（2h）
- [ ] 测试：全流程验证（2h）
```

---

## 总结

这个 Skill 的核心价值：

1. **AI 像资深工程师一样理解项目** - 不只是读代码，而是理解架构和模式
2. **自动关联需求和代码** - 知道这个功能该参考哪里的实现
3. **生成可执行的文档** - 不只是描述，还告诉开发者具体怎么改

适合场景：
- ✅ 产品经理写需求时，需要技术实现参考
- ✅ 新成员快速理解项目，接手功能开发
- ✅ 外包项目，需要清晰的研发文档
- ✅ 复杂需求，需要梳理实现思路


path: README.md
content: # Business-to-Dev Smart

智能业务需求转研发需求文档工具。

## 理念

**AI 先理解项目，再理解需求，最后写文档。**

传统的需求文档工具需要人工指定项目结构、技术栈。
这个工具让 AI 自主探索代码库，像资深工程师一样理解项目，
然后结合业务需求，参考实际代码，生成可执行的研发文档。

## 特点

- 🧠 **自主理解** - AI 自动分析项目类型、技术栈、架构
- 💾 **项目记忆** - 一次分析，多次使用
- 🔍 **精准参考** - 自动查找相关代码作为实现参考
- 🌐 **完全通用** - 支持任何技术栈，不限定任何框架

## 快速开始

### Step 1: 让 AI 理解你的项目（只需一次）

```bash
kimi "帮我理解这个项目：~/projects/my-oms-system"
```

AI 会自动：
1. 探索项目目录结构
2. 分析技术栈和框架
3. 理解代码组织方式
4. 保存项目记忆到 `.ai-memory/project-profile.md`

### Step 2: 分析业务需求

```bash
kimi "分析需求：
业务：客户希望在订单列表增加批量导出功能
截图：~/screenshots/order-export.png"
```

AI 会：
1. 读取项目记忆
2. 理解业务需求和 UI 截图
3. 在项目中查找相似实现
4. 生成完整的需求文档

## 输出示例

### Phase 1: 项目分析输出

```
【项目理解完成】

项目类型：B端订单管理系统 (OMS)
技术栈：Vue3 + Element Plus + Java Spring Boot
主要模块：订单管理、库存管理、客户管理、报表统计

代码组织：
- 前端按模块划分页面，使用 Composition API
- 后端分层架构：Controller-Service-Mapper-Entity
- API 风格：RESTful，统一返回格式

项目记忆已保存到 .ai-memory/project-profile.md
```

### Phase 2: 需求分析输出

```markdown
# 订单批量导出 研发需求文档

## 1. 需求概述
客户需要在订单列表页面增加批量导出功能...

## 6. 实现参考
基于项目代码库分析：

**参考现有实现：**
- 列表页面：`src/views/order/IndexView.vue`（第 45-120 行）
  - 使用 `el-table` 展示数据
  - 已有选择框功能（`@selection-change`）
  - 工具栏按钮组织方式

- API 调用模式：`src/api/order.js`
  - 参考 `getOrderList()` 方法（第 12-28 行）
  - 统一使用 `createAxios` 封装

- 导出功能参考：`src/utils/exportUtil.js`
  - 已有 `exportExcel()` 工具函数
  - 使用 `Blob` 处理文件下载

**建议实现：**
1. 前端：在 IndexView.vue 工具栏添加"批量导出"按钮
2. 后端：在 OrderController 添加 `POST /api/order/export` 接口
3. 复用现有的表格选择功能和导出工具
```

## 技术无关性

这个工具不依赖任何特定技术：

| 你的项目 | AI 能理解 |
|---------|----------|
| React + Node.js | ✅ |
| Vue + Python Django | ✅ |
| Angular + Go | ✅ |
| 小程序 + Java | ✅ |
| 甚至混合项目 | ✅ |

AI 通过分析代码文件、目录结构、命名规范自主理解项目。

## 项目记忆

首次分析后，项目信息存储在 `.ai-memory/project-profile.md`：

```markdown
# Project Profile: my-oms-system

## Overview
- Type: B端管理系统
- Stack: Vue3 + Java Spring Boot
- Patterns: RESTful API, Modular structure

## Structure
frontend/src/
  - views/      # Module-based pages
  - components/ # Shared components
  - api/       # API clients
  
backend/src/
  - controller/ # REST endpoints
  - service/    # Business logic
  - entity/     # Data models

## Key Patterns
- API: createAxios wrapper
- Table: el-table with pagination
- Forms: el-form validation
```

## 对比

| 特性 | 传统工具 | Business-to-Dev Smart |
|------|---------|----------------------|
| 项目配置 | 手动指定路径 | AI 自动探索 |
| 技术栈 | 预设模板 | 自动识别 |
| 代码参考 | 人工查找 | AI 自动匹配 |
| 适用性 | 特定框架 | 完全通用 |

## License

MIT


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)