# DDS-to-Skill 转换实例：完整系统（多模块）

本文展示将一个包含多模块的 DDS 文档转换为完整 Skill 套件的过程。

---

## 1. 系统概述（模拟 DDS）

```
系统名称：ProjectMoneyX（个人财务管理系统）
技术栈：Go + Gin + GORM / Vue3 + TypeScript + Vuetify3
模块列表：
  - 账单导入模块（bill-import）
  - 多维分析模块（analysis）
  - 预算管理模块（budget）
  - 账户管理模块（account）
  - 规则引擎模块（rules）
```

---

## 2. Skill 套件规划

### 2.1 Skills 清单

| 类型 | Skill Name | 职责 |
|------|-----------|------|
| 系统级 | `developing-moneyx-system` | 跨模块架构、技术栈规范、依赖管理 |
| 模块级 | `developing-bill-import` | 账单导入 ETL 流水线 |
| 模块级 | `developing-analysis` | 多维财务分析与图表 |
| 模块级 | `developing-budget` | 预算创建与跟踪 |
| 模块级 | `developing-account` | 账户 CRUD 与余额同步 |
| 模块级 | `developing-rules` | 分类规则引擎 |
| 横切 | `designing-contracts` | API/DTO 契约规范 |
| 横切 | `managing-db-migrations` | 数据库迁移策略 |
| 横切 | `managing-observability` | 日志、错误追踪 |

### 2.2 总目录树

```
1-AgentSkills/
├── developing-moneyx-system/
│   ├── SKILL.md
│   ├── reference/
│   │   ├── 01-architecture/
│   │   │   └── dependencies.md
│   │   └── 02-tech-stack/
│   │       └── conventions.md
│   └── scripts/
│       └── verify.sh
├── developing-bill-import/
│   ├── SKILL.md
│   ├── reference/
│   │   ├── 01-etl-pipeline/
│   │   │   └── pipeline-design.md
│   │   ├── 02-api-design/
│   │   │   └── apis.md
│   │   └── 03-data-model/
│   │       └── db-schema.md
│   ├── examples/
│   │   └── etl-processor.go
│   └── scripts/
│       └── verify.sh
├── developing-analysis/
│   ├── ...（同上结构）
├── developing-budget/
│   ├── ...
├── developing-account/
│   ├── ...
├── developing-rules/
│   ├── ...
├── designing-contracts/
│   ├── SKILL.md
│   ├── reference/
│   │   └── api-response-spec.md
│   └── scripts/
│       └── verify.sh
├── managing-db-migrations/
│   ├── SKILL.md
│   ├── reference/
│   │   └── migration-conventions.md
│   └── scripts/
│       └── verify.sh
└── managing-observability/
    ├── SKILL.md
    ├── reference/
    │   └── logging-standards.md
    └── scripts/
        └── verify.sh
```

---

## 3. 关键转换决策

### 3.1 模块边界划分

> **决策依据**：DDS 中每个"章节"对应一个业务域，每个业务域生成一个模块级 Skill。

### 3.2 横切关注点识别

从 DDS 全文 grep 识别跨模块使用的技术点：

```bash
# 发现所有模块都用了统一响应格式 → designing-contracts
grep -c "ResponseError\|ResponseSuccess" *.go

# 发现多个模块有 migration 文件 → managing-db-migrations
find . -name "*migration*" -o -name "*migrate*"

# 发现多个模块有日志调用 → managing-observability
grep -rn "log\.\(Info\|Error\|Debug\)" --include="*.go" | wc -l
```

### 3.3 Reference 深度决策

| 要素 | 模块 | DDS 覆盖度 | reference 策略 |
|------|------|-----------|---------------|
| API | bill-import | 完整 | 全量抽取到 apis.md |
| DB Schema | budget | 部分 | 抽取已有 + [TBD] 标注缺失 |
| 事件 | analysis | 无 | 跳过，无需创建事件 reference |
| 状态机 | bill-import | 完整 | ETL 状态流转到 state-machine.md |

---

## 4. 输出示例：系统级 Skill

```yaml
---
name: developing-moneyx-system
description: >
  指导 ProjectMoneyX 个人财务管理系统的全局架构决策与跨模块一致性（Guides system-level architecture for ProjectMoneyX personal finance system）。
  包含：模块注册、技术栈规范、依赖管理、响应格式统一。
  触发场景 Trigger: 新增模块 / 跨模块变更 / 架构决策 / 技术栈选型。
  关键词 Keywords: moneyx, system, architecture, 架构, 财务, finance, 模块, cross-module。
---
```
