sdd-full 4.0.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin.js +31 -63
- package/package.json +1 -1
- package/skills/README.md +97 -0
- package/skills/call-adaptation/SKILL.md +23 -0
- package/skills/call-adaptation/call-adaptation-guide.md +136 -0
- package/skills/call-adaptation/claude-code-call-spec.md +50 -0
- package/skills/call-adaptation/trae-call-spec.md +56 -0
- package/skills/checklist.md +154 -0
- package/skills/design-planning/ai-coding-rules/SKILL.md +52 -0
- package/skills/design-planning/design-to-code/SKILL.md +53 -0
- package/skills/design-planning/enterprise-spec/SKILL.md +54 -0
- package/skills/design-planning/flutter-av/SKILL.md +54 -0
- package/skills/design-planning/flutter-map/SKILL.md +54 -0
- package/skills/design-planning/function-sdd/SKILL.md +54 -0
- package/skills/design-planning/sdd-code/SKILL.md +347 -0
- package/skills/design-planning/sdd-deploy/SKILL.md +501 -0
- package/skills/design-planning/sdd-ops/SKILL.md +306 -0
- package/skills/design-planning/sdd-test/SKILL.md +383 -0
- package/skills/design-planning/ui-sdd/SKILL.md +291 -0
- package/skills/design-planning/ui-sdd-specialized/SKILL.md +56 -0
- package/skills/design-planning/writing-plans/SKILL.md +144 -0
- package/skills/development-execution/flutter-errors/SKILL.md +54 -0
- package/skills/development-execution/sdd-add/SKILL.md +540 -0
- package/skills/development-execution/systematic-debugging/SKILL.md +298 -0
- package/skills/development-execution/test-driven-development/SKILL.md +373 -0
- package/skills/development-execution/verification-before-completion/SKILL.md +141 -0
- package/skills/knowledge-precipitation/claudeception/SKILL.md +96 -0
- package/skills/knowledge-precipitation/mempalace-auto-saver/SKILL.md +302 -0
- package/skills/quality-assurance/bdd-acceptance/SKILL.md +56 -0
- package/skills/quality-assurance/flutter-test/SKILL.md +56 -0
- package/skills/quality-assurance/quality-gate/SKILL.md +350 -0
- package/skills/quality-assurance/security-audit/SKILL.md +386 -0
- package/skills/release-ops/finishing-a-development-branch/SKILL.md +202 -0
- package/skills/release-ops/release-flow/SKILL.md +404 -0
- package/skills/requirement-analysis/brainstorming/SKILL.md +166 -0
- package/skills/requirement-analysis/competitive-brief/SKILL.md +121 -0
- package/skills/requirement-analysis/market-research/SKILL.md +143 -0
- package/skills/requirement-analysis/prd-write/SKILL.md +111 -0
- package/skills/requirement-analysis/requirement-completion-officer/SKILL.md +124 -0
- package/skills/requirement-analysis/sdd/SKILL.md +1044 -0
- package/skills/requirement-analysis/sdd-full/SKILL.md +735 -0
- package/skills/requirement-analysis/unified-flow/SKILL.md +147 -0
- package/skills/rules/project_rules.md +167 -0
- package/skills/rules/user_rules.md +254 -0
- package/skills/special-tools/env-check/SKILL.md +53 -0
- package/skills/special-tools/receiving-code-review/SKILL.md +215 -0
- package/skills/special-tools/requesting-code-review/SKILL.md +107 -0
- package/skills/special-tools/using-superpowers/SKILL.md +117 -0
- package/skills/templates/API-SDD.md +31 -0
- package/skills/templates/Andrej Karpathy AI/347/274/226/347/240/201/350/247/204/345/210/231/350/220/275/345/234/260SDD.md" +117 -0
- package/skills/templates/BDD/351/243/216/346/240/274/351/252/214/346/224/266/346/240/207/345/207/206SDD.md +147 -0
- package/skills/templates/Base-SDD.md +38 -0
- package/skills/templates/Brain-SDD.md +36 -0
- package/skills/templates/Code-SDD.md +41 -0
- package/skills/templates/Competitor-SDD.md +34 -0
- package/skills/templates/Env-SDD.md +37 -0
- package/skills/templates/Flutter/345/205/250/347/261/273/345/236/213/346/265/213/350/257/225/347/255/226/347/225/245SDD.md +162 -0
- package/skills/templates/Flutter/345/234/260/345/233/276/345/257/274/350/210/252/344/270/232/345/212/241SDD.md +136 -0
- package/skills/templates/Flutter/345/270/270/350/247/201/345/274/202/345/270/270/344/270/223/351/241/271SDD.md +159 -0
- package/skills/templates/Flutter/351/237/263/350/247/206/351/242/221/345/205/250/346/240/210SDD.md +121 -0
- package/skills/templates/PRD-SDD.md +45 -0
- package/skills/templates/SKILL.md +91 -0
- package/skills/templates/Test-SDD.md +34 -0
- package/skills/templates/UI-SDD.md +38 -0
- package/skills/templates/UI-SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +141 -0
- package/skills/templates/UI/350/265/204/346/272/220/346/217/220/347/244/272/350/257/215/347/224/237/346/210/220SDD.md +67 -0
- package/skills/templates//344/274/201/344/270/232/347/272/247/345/205/250/346/240/210/345/267/245/347/250/213/350/247/204/350/214/203SDD.md +152 -0
- package/skills/templates//345/205/250/346/265/201/347/250/213SDD/350/236/215/345/220/210/344/275/223/347/263/273.md +198 -0
- package/skills/templates//345/212/237/350/203/275SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +132 -0
- package/skills/templates//347/216/257/345/242/203/351/242/204/346/243/200/346/240/207/345/207/206/345/214/226SDD.md +153 -0
- package/skills/templates//351/253/230/344/277/235/347/234/237/350/256/276/350/256/241/350/275/254/344/273/243/347/240/201SDD.md +119 -0
- package/skills//345/256/214/346/225/264/345/274/200/345/217/221/346/265/201/347/250/213/346/211/213/345/206/214.md +408 -0
- package/skills//346/212/200/350/203/275/344/275/223/347/263/273/345/256/214/345/226/204/345/273/272/350/256/256.md +305 -0
- package/skills//346/212/200/350/203/275/344/275/277/347/224/250/346/214/207/345/215/227.md +285 -0
- package/skills//346/212/200/350/203/275/345/206/263/347/255/226/346/240/221.md +320 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: Andrej Karpathy AI编码规则落地SDD
|
|
2
|
+
description: 编码约束、开源/商用方案对比范式、禁止自由发挥落地细则
|
|
3
|
+
author:
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
trigger:
|
|
6
|
+
- AI编码规则
|
|
7
|
+
- Karpathy规则
|
|
8
|
+
- 编码规范
|
|
9
|
+
tags:
|
|
10
|
+
- 编码规范
|
|
11
|
+
- AI编码
|
|
12
|
+
- 开发规范
|
|
13
|
+
|
|
14
|
+
【claude code调用标识:Andrej Karpathy AI编码规则落地SDD】【trae调用标识:Andrej Karpathy AI编码规则落地SDD+编码规范】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代】
|
|
15
|
+
|
|
16
|
+
## 功能描述
|
|
17
|
+
|
|
18
|
+
本技能提供Andrej Karpathy AI编码规则落地SDD模板,包含编码约束、开源/商用方案对比范式和禁止自由发挥落地细则。
|
|
19
|
+
|
|
20
|
+
## 调用方式
|
|
21
|
+
|
|
22
|
+
### Claude Code调用
|
|
23
|
+
```
|
|
24
|
+
调用 Andrej Karpathy AI编码规则落地SDD 项目名称=AI助手APP
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Trae调用
|
|
28
|
+
```
|
|
29
|
+
trae调用 Andrej Karpathy AI编码规则落地SDD 项目名称=AI助手APP 团队规模=10人 流程场景=完整3阶段SDD流程
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 参数说明
|
|
33
|
+
|
|
34
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
35
|
+
|--------|------|------|------|
|
|
36
|
+
| 项目名称 | string | 是 | 项目名称 |
|
|
37
|
+
| 团队规模 | string | 否 | 团队人数 |
|
|
38
|
+
| 项目类型 | string | 否 | 企业级/开源/个人 |
|
|
39
|
+
|
|
40
|
+
## 输出内容
|
|
41
|
+
|
|
42
|
+
1. 编码约束(THINK BEFORE YOU CODE、MAKE SURGICAL CHANGES、KEEP IT SIMPLE等)
|
|
43
|
+
2. 开源/商用方案对比范式(对比维度、选择原则、决策流程)
|
|
44
|
+
3. 禁止自由发挥落地细则(禁止项清单、审批流程、变更控制)
|
|
45
|
+
4. 验收标准(编码规范验证、代码质量验证)
|
|
46
|
+
|
|
47
|
+
## 适用场景
|
|
48
|
+
|
|
49
|
+
- 编码规范制定
|
|
50
|
+
- 团队开发规范
|
|
51
|
+
- AI辅助开发
|
|
52
|
+
- 代码质量保障
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: 高保真设计转代码SDD
|
|
2
|
+
description: Rive动画、Figma设计稿转Flutter 1:1还原交付规范
|
|
3
|
+
author:
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
trigger:
|
|
6
|
+
- 设计转代码
|
|
7
|
+
- Rive动画
|
|
8
|
+
- Figma转Flutter
|
|
9
|
+
tags:
|
|
10
|
+
- 设计转代码
|
|
11
|
+
- Rive动画
|
|
12
|
+
- Figma
|
|
13
|
+
- Flutter
|
|
14
|
+
|
|
15
|
+
【claude code调用标识:高保真设计转代码SDD】【trae调用标识:高保真设计转代码SDD+设计转代码】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代】
|
|
16
|
+
|
|
17
|
+
## 功能描述
|
|
18
|
+
|
|
19
|
+
本技能提供高保真设计转代码SDD模板,包含Rive动画集成和Figma设计稿转Flutter的1:1还原交付规范。
|
|
20
|
+
|
|
21
|
+
## 调用方式
|
|
22
|
+
|
|
23
|
+
### Claude Code调用
|
|
24
|
+
```
|
|
25
|
+
调用 高保真设计转代码SDD 项目名称=UI组件库
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Trae调用
|
|
29
|
+
```
|
|
30
|
+
trae调用 高保真设计转代码SDD 项目名称=UI组件库 设计稿链接=https://figma.com/xxx 流程场景=完整3阶段SDD流程
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 参数说明
|
|
34
|
+
|
|
35
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
36
|
+
|--------|------|------|------|
|
|
37
|
+
| 项目名称 | string | 是 | 项目名称 |
|
|
38
|
+
| 设计稿链接 | string | 否 | Figma设计稿链接 |
|
|
39
|
+
| 目标平台 | string | 否 | iOS/Android/Web |
|
|
40
|
+
|
|
41
|
+
## 输出内容
|
|
42
|
+
|
|
43
|
+
1. Rive动画集成(配置说明、依赖配置、集成流程、注意事项)
|
|
44
|
+
2. Figma设计稿转Flutter(工具配置、1:1还原规范、转换流程、组件拆分原则)
|
|
45
|
+
3. 交付标准(视觉还原度、交互还原度、代码质量)
|
|
46
|
+
4. 验收标准(视觉验证、交互验证、代码验证)
|
|
47
|
+
|
|
48
|
+
## 适用场景
|
|
49
|
+
|
|
50
|
+
- UI组件开发
|
|
51
|
+
- 动画效果实现
|
|
52
|
+
- 设计稿还原
|
|
53
|
+
- 视觉开发
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: 企业级全栈工程规范SDD
|
|
2
|
+
description: 环境预检前置、项目目录、版本管理、交付物统一标准
|
|
3
|
+
author:
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
trigger:
|
|
6
|
+
- 企业级工程规范
|
|
7
|
+
- 项目规范
|
|
8
|
+
- 工程标准
|
|
9
|
+
tags:
|
|
10
|
+
- 工程规范
|
|
11
|
+
- 项目管理
|
|
12
|
+
- 交付标准
|
|
13
|
+
|
|
14
|
+
【claude code调用标识:企业级全栈工程规范SDD】【trae调用标识:企业级全栈工程规范SDD+工程规范】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目】
|
|
15
|
+
|
|
16
|
+
## 功能描述
|
|
17
|
+
|
|
18
|
+
本技能提供企业级全栈工程规范SDD模板,包含环境预检前置、项目目录结构、版本管理和交付物统一标准。
|
|
19
|
+
|
|
20
|
+
## 调用方式
|
|
21
|
+
|
|
22
|
+
### Claude Code调用
|
|
23
|
+
```
|
|
24
|
+
调用 企业级全栈工程规范SDD 项目名称=电商平台
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Trae调用
|
|
28
|
+
```
|
|
29
|
+
trae调用 企业级全栈工程规范SDD 项目名称=电商平台 项目类型=企业级 流程场景=从零开始新项目
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 参数说明
|
|
33
|
+
|
|
34
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
35
|
+
|--------|------|------|------|
|
|
36
|
+
| 项目名称 | string | 是 | 项目名称 |
|
|
37
|
+
| 项目类型 | string | 否 | 企业级/中小型/个人 |
|
|
38
|
+
| 团队规模 | string | 否 | 团队人数 |
|
|
39
|
+
|
|
40
|
+
## 输出内容
|
|
41
|
+
|
|
42
|
+
1. 环境预检前置(本机配置、依赖工具、网络环境)
|
|
43
|
+
2. 项目目录结构(标准结构、命名规范)
|
|
44
|
+
3. 版本管理(分支策略、提交规范、版本命名)
|
|
45
|
+
4. 交付物统一标准(代码交付、文档交付、部署交付)
|
|
46
|
+
5. 质量保障(代码审查、安全审计)
|
|
47
|
+
6. 验收标准(工程规范验证、交付物验证)
|
|
48
|
+
|
|
49
|
+
## 适用场景
|
|
50
|
+
|
|
51
|
+
- 新项目初始化
|
|
52
|
+
- 团队规范制定
|
|
53
|
+
- 项目重构
|
|
54
|
+
- 质量保障
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: Flutter音视频全栈SDD
|
|
2
|
+
description: 离线ASR语音转写、TTS语音合成、OCR文字识别接入规范
|
|
3
|
+
author:
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
trigger:
|
|
6
|
+
- Flutter音视频
|
|
7
|
+
- ASR语音转写
|
|
8
|
+
- TTS语音合成
|
|
9
|
+
- OCR识别
|
|
10
|
+
tags:
|
|
11
|
+
- Flutter
|
|
12
|
+
- 音视频
|
|
13
|
+
- ASR
|
|
14
|
+
- TTS
|
|
15
|
+
- OCR
|
|
16
|
+
|
|
17
|
+
【claude code调用标识:Flutter音视频全栈SDD】【trae调用标识:Flutter音视频全栈SDD+音视频集成】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
|
|
18
|
+
|
|
19
|
+
## 功能描述
|
|
20
|
+
|
|
21
|
+
本技能提供Flutter音视频全栈SDD模板,包含离线ASR语音转写、TTS语音合成、OCR文字识别的接入规范,帮助团队规范音视频功能开发。
|
|
22
|
+
|
|
23
|
+
## 调用方式
|
|
24
|
+
|
|
25
|
+
### Claude Code调用
|
|
26
|
+
```
|
|
27
|
+
调用 Flutter音视频全栈SDD 项目名称=语音助手APP
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Trae调用
|
|
31
|
+
```
|
|
32
|
+
trae调用 Flutter音视频全栈SDD 项目名称=语音助手APP 功能模块=ASR 流程场景=从零开始新项目
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## 参数说明
|
|
36
|
+
|
|
37
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
38
|
+
|--------|------|------|------|
|
|
39
|
+
| 项目名称 | string | 是 | 项目名称 |
|
|
40
|
+
| 功能模块 | string | 否 | ASR/TTS/OCR |
|
|
41
|
+
|
|
42
|
+
## 输出内容
|
|
43
|
+
|
|
44
|
+
1. 离线ASR(SDK集成、配置说明、核心功能、权限配置)
|
|
45
|
+
2. TTS语音合成(SDK集成、配置说明、核心功能、平台差异)
|
|
46
|
+
3. OCR文字识别(SDK集成、配置说明、核心功能、权限配置)
|
|
47
|
+
4. 验收标准(ASR验收、TTS验收、OCR验收)
|
|
48
|
+
|
|
49
|
+
## 适用场景
|
|
50
|
+
|
|
51
|
+
- 语音助手开发
|
|
52
|
+
- 文字识别应用
|
|
53
|
+
- 音视频功能集成
|
|
54
|
+
- 多媒体应用开发
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: Flutter地图导航业务SDD
|
|
2
|
+
description: 高德SDK集成、Marker警告处理、地图不显示问题落地规范
|
|
3
|
+
author:
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
trigger:
|
|
6
|
+
- Flutter地图导航
|
|
7
|
+
- 高德地图集成
|
|
8
|
+
- 地图开发
|
|
9
|
+
tags:
|
|
10
|
+
- Flutter
|
|
11
|
+
- 地图
|
|
12
|
+
- 高德SDK
|
|
13
|
+
- 导航
|
|
14
|
+
|
|
15
|
+
【claude code调用标识:Flutter地图导航业务SDD】【trae调用标识:Flutter地图导航业务SDD+地图集成】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
|
|
16
|
+
|
|
17
|
+
## 功能描述
|
|
18
|
+
|
|
19
|
+
本技能提供Flutter地图导航业务SDD模板,包含高德SDK集成、Marker处理和常见问题解决方案,帮助团队规范地图功能开发。
|
|
20
|
+
|
|
21
|
+
## 调用方式
|
|
22
|
+
|
|
23
|
+
### Claude Code调用
|
|
24
|
+
```
|
|
25
|
+
调用 Flutter地图导航业务SDD 项目名称=骑手端APP
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Trae调用
|
|
29
|
+
```
|
|
30
|
+
trae调用 Flutter地图导航业务SDD 项目名称=骑手端APP SDK版本=10.0.0 流程场景=从零开始新项目
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 参数说明
|
|
34
|
+
|
|
35
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
36
|
+
|--------|------|------|------|
|
|
37
|
+
| 项目名称 | string | 是 | 项目名称 |
|
|
38
|
+
| SDK版本 | string | 否 | 高德SDK版本号 |
|
|
39
|
+
| 功能范围 | string | 否 | 功能模块范围 |
|
|
40
|
+
|
|
41
|
+
## 输出内容
|
|
42
|
+
|
|
43
|
+
1. SDK集成(版本锁定、依赖配置、初始化时机)
|
|
44
|
+
2. 核心功能(地图显示、定位服务、导航功能)
|
|
45
|
+
3. Marker处理(创建、警告处理、自定义样式)
|
|
46
|
+
4. 常见问题(地图不显示、定位失败、导航异常)
|
|
47
|
+
5. 验收标准(功能验证、性能指标、稳定性测试)
|
|
48
|
+
|
|
49
|
+
## 适用场景
|
|
50
|
+
|
|
51
|
+
- 地图功能开发
|
|
52
|
+
- 骑手端导航
|
|
53
|
+
- LBS应用开发
|
|
54
|
+
- 地图SDK集成
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: 功能SDD专用模板
|
|
2
|
+
description: 业务功能专属SDD模板、章节结构、必填项规范
|
|
3
|
+
author:
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
trigger:
|
|
6
|
+
- 功能SDD专用模板
|
|
7
|
+
- 业务功能模板
|
|
8
|
+
- 功能设计规范
|
|
9
|
+
tags:
|
|
10
|
+
- 功能设计
|
|
11
|
+
- SDD模板
|
|
12
|
+
- 业务规范
|
|
13
|
+
|
|
14
|
+
【claude code调用标识:功能SDD专用模板】【trae调用标识:功能SDD专用模板+功能设计规范】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代、4.Bug处理】
|
|
15
|
+
|
|
16
|
+
## 功能描述
|
|
17
|
+
|
|
18
|
+
本技能提供业务功能专属SDD模板,包含完整的章节结构和必填项规范,帮助团队规范功能设计流程。
|
|
19
|
+
|
|
20
|
+
## 调用方式
|
|
21
|
+
|
|
22
|
+
### Claude Code调用
|
|
23
|
+
```
|
|
24
|
+
调用 功能SDD专用模板 功能模块名称=用户登录
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Trae调用
|
|
28
|
+
```
|
|
29
|
+
trae调用 功能SDD专用模板 功能模块名称=用户登录 流程场景=小型功能迭代
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 参数说明
|
|
33
|
+
|
|
34
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
35
|
+
|--------|------|------|------|
|
|
36
|
+
| 功能模块名称 | string | 是 | 功能模块名称 |
|
|
37
|
+
| 用户角色 | string | 否 | 目标用户角色 |
|
|
38
|
+
| 功能范围 | string | 否 | 功能包含/不包含内容 |
|
|
39
|
+
|
|
40
|
+
## 输出内容
|
|
41
|
+
|
|
42
|
+
1. 需求描述(功能概述、用户故事、验收标准)
|
|
43
|
+
2. 业务流程(流程图、状态转换、异常分支)
|
|
44
|
+
3. 数据结构(实体定义、API接口、数据库设计)
|
|
45
|
+
4. 界面设计(页面原型、交互逻辑、权限控制)
|
|
46
|
+
5. 非功能需求(性能、安全、兼容性)
|
|
47
|
+
6. 交付物清单(文档、代码、测试)
|
|
48
|
+
|
|
49
|
+
## 适用场景
|
|
50
|
+
|
|
51
|
+
- 功能开发设计
|
|
52
|
+
- 需求评审
|
|
53
|
+
- 技术方案设计
|
|
54
|
+
- Bug修复分析
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
【claude code调用标识:sdd-code】【trae调用标识:sdd-code+功能实现SDD拆分】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代、4.Bug处理】
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: "sdd-code"
|
|
5
|
+
description: "功能实现逻辑SDD拆分,将用户故事拆分为独立可交付的功能实现SDD,按语言架构特性适配。Invoke when needing to split user stories into implementation-level SDDs after basic SDD split."
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 功能实现逻辑SDD拆分技能
|
|
9
|
+
|
|
10
|
+
本技能定义「功能实现逻辑SDD拆分」为独立技能,核心解决「功能实现逻辑如何拆分、拆分多少个SDD、不同场景下如何适配」的核心问题,可直接嵌入原有开发流程。
|
|
11
|
+
|
|
12
|
+
## 核心原则
|
|
13
|
+
|
|
14
|
+
**1个最小可独立实现的功能逻辑单元 = 1个SDD**,拆分数量由「功能复杂度、代码耦合度、语言架构特性、项目用途」四大维度决定。
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# 一、通用基础拆分规则
|
|
19
|
+
|
|
20
|
+
## 1.1 核心拆分原则
|
|
21
|
+
|
|
22
|
+
- **独立可交付**:每个SDD对应1个最小可独立实现的功能逻辑单元,可单独开发、测试、交付。
|
|
23
|
+
- **低耦合高内聚**:SDD内部逻辑闭环,仅聚焦自身核心功能。
|
|
24
|
+
- **粒度适配场景**:拆分粒度需贴合项目语言、架构、用途。
|
|
25
|
+
- **逻辑闭环完整**:每个SDD需覆盖「正常流程+关键异常流程」。
|
|
26
|
+
- **衔接原有流程**:需严格关联基础SDD拆分产出的用户故事、UI设计、接口契约。
|
|
27
|
+
|
|
28
|
+
## 1.2 拆分数量判定核心公式
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
拆分数量 = 核心功能逻辑单元数 + 异常处理逻辑单元数(可选) - 可合并逻辑单元数
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 1.3 禁止拆分与必须拆分场景
|
|
35
|
+
|
|
36
|
+
### 1.3.1 禁止拆分场景
|
|
37
|
+
- 单一简单操作(如按钮点击事件)
|
|
38
|
+
- 高度耦合的逻辑(如「数据查询+数据渲染」)
|
|
39
|
+
- 重复逻辑(如多个SDD共用的工具函数)
|
|
40
|
+
|
|
41
|
+
### 1.3.2 必须拆分场景
|
|
42
|
+
- 多分支业务逻辑(如订单支付的多种支付方式)
|
|
43
|
+
- 跨模块依赖逻辑(如「用户登录验证」)
|
|
44
|
+
- 复杂异常处理(如数据入库的多类异常)
|
|
45
|
+
- 前后端分离场景中,前端渲染、前端交互、后端接口实现、后端业务逻辑
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
# 二、按项目语言架构拆分细则
|
|
50
|
+
|
|
51
|
+
## 2.1 纯前端项目(Vue/React/Angular等)
|
|
52
|
+
|
|
53
|
+
核心拆分维度:页面渲染 → 交互逻辑 → 数据请求/处理 → 公共逻辑
|
|
54
|
+
|
|
55
|
+
- **简单页面**:拆分2-3个SDD
|
|
56
|
+
- 页面渲染逻辑SDD
|
|
57
|
+
- 核心交互逻辑SDD
|
|
58
|
+
- 数据请求逻辑SDD(可选)
|
|
59
|
+
|
|
60
|
+
- **复杂页面**:拆分3-5个SDD
|
|
61
|
+
- 在简单页面基础上,新增表单校验逻辑SDD、异常提示逻辑SDD
|
|
62
|
+
- 若有独立组件,可新增组件渲染与交互SDD
|
|
63
|
+
|
|
64
|
+
## 2.2 纯后端项目(Java/Node.js/Go等)
|
|
65
|
+
|
|
66
|
+
核心拆分维度:接口实现 → 业务逻辑 → 数据访问 → 公共逻辑
|
|
67
|
+
|
|
68
|
+
- **简单接口**:拆分2个SDD
|
|
69
|
+
- 接口实现逻辑SDD
|
|
70
|
+
- 数据访问逻辑SDD
|
|
71
|
+
|
|
72
|
+
- **复杂接口**:拆分3-4个SDD
|
|
73
|
+
- 接口实现逻辑SDD
|
|
74
|
+
- 业务逻辑SDD
|
|
75
|
+
- 数据访问逻辑SDD
|
|
76
|
+
- 异常处理逻辑SDD
|
|
77
|
+
|
|
78
|
+
## 2.3 Flutter项目(MVVM架构为主)
|
|
79
|
+
|
|
80
|
+
核心拆分维度:UI渲染(Widget)→ 交互逻辑 → 状态管理 → 数据请求/处理 → 公共逻辑
|
|
81
|
+
|
|
82
|
+
- **简单页面/组件**:拆分2-3个SDD
|
|
83
|
+
- UI渲染逻辑SDD
|
|
84
|
+
- 核心交互逻辑SDD
|
|
85
|
+
- 数据请求逻辑SDD(可选)
|
|
86
|
+
|
|
87
|
+
- **复杂页面/组件**:拆分3-5个SDD
|
|
88
|
+
- 在简单页面基础上,新增状态管理逻辑SDD、异常处理逻辑SDD
|
|
89
|
+
- 涉及元素渲染特殊处理的场景,可新增渲染辅助逻辑SDD
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
# 三、代码规范与技术债务管理
|
|
94
|
+
|
|
95
|
+
## 3.1 代码规范要求
|
|
96
|
+
|
|
97
|
+
### 3.1.1 通用编码规范
|
|
98
|
+
- **命名规范**
|
|
99
|
+
- 类名:大驼峰(PascalCase),如 `UserService`
|
|
100
|
+
- 函数名:小驼峰(camelCase),如 `getUserInfo`
|
|
101
|
+
- 变量名:小驼峰(camelCase),如 `userName`
|
|
102
|
+
- 常量名:全大写下划线分隔(UPPER_SNAKE_CASE),如 `MAX_RETRY_COUNT`
|
|
103
|
+
- 文件名:语义化命名,如 `user_service.dart`
|
|
104
|
+
|
|
105
|
+
- **注释规范**
|
|
106
|
+
- 公共API必须有文档注释
|
|
107
|
+
- 复杂逻辑必须有注释说明思路
|
|
108
|
+
- 注释不要重复代码本身的意思
|
|
109
|
+
- TODO/FIXME必须有注释说明原因和计划
|
|
110
|
+
|
|
111
|
+
- **代码风格**
|
|
112
|
+
- 统一使用项目约定的格式化工具
|
|
113
|
+
- 缩进统一(2空格或4空格,保持一致)
|
|
114
|
+
- 避免过长的函数(建议不超过50行)
|
|
115
|
+
- 单一职责原则,一个函数只做一件事
|
|
116
|
+
|
|
117
|
+
### 3.1.2 语言特定规范
|
|
118
|
+
- **Flutter/Dart**
|
|
119
|
+
- 遵循官方Dart风格指南
|
|
120
|
+
- 优先使用const常量
|
|
121
|
+
- 合理使用async/await
|
|
122
|
+
- Widget拆分合理,避免过于庞大
|
|
123
|
+
|
|
124
|
+
- **Web前端**
|
|
125
|
+
- 组件化设计
|
|
126
|
+
- 状态管理合理
|
|
127
|
+
- 组件Props类型定义完整
|
|
128
|
+
|
|
129
|
+
- **后端**
|
|
130
|
+
- 分层架构清晰
|
|
131
|
+
- 接口设计RESTful
|
|
132
|
+
- 错误处理统一
|
|
133
|
+
|
|
134
|
+
## 3.2 技术债务管理
|
|
135
|
+
|
|
136
|
+
### 3.2.1 技术债务识别
|
|
137
|
+
技术债务主要来源:
|
|
138
|
+
- 快速迭代时的临时方案
|
|
139
|
+
- 技术栈演进,旧代码未及时更新
|
|
140
|
+
- 性能瓶颈暂时未优化
|
|
141
|
+
- 安全隐患暂时未修复
|
|
142
|
+
- 代码可读性较差的部分
|
|
143
|
+
|
|
144
|
+
### 3.2.2 技术债务记录模板
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
# 技术债务记录
|
|
148
|
+
|
|
149
|
+
## 基本信息
|
|
150
|
+
- **债务ID**:TD-001
|
|
151
|
+
- **模块**:用户认证模块
|
|
152
|
+
- **优先级**:P1
|
|
153
|
+
- **识别日期**:2024-05-04
|
|
154
|
+
|
|
155
|
+
## 问题描述
|
|
156
|
+
- **问题类型**:代码质量/性能/安全/可维护性
|
|
157
|
+
- **具体问题**:密码使用MD5加密,不安全
|
|
158
|
+
- **影响范围**:用户账户安全
|
|
159
|
+
- **当前状态**:未修复/修复中/已修复
|
|
160
|
+
|
|
161
|
+
## 技术细节
|
|
162
|
+
- **问题代码位置**:lib/auth/password.dart:23-28
|
|
163
|
+
- **当前实现**:使用MD5加密密码
|
|
164
|
+
- **建议方案**:升级为bcrypt或Argon2加密
|
|
165
|
+
|
|
166
|
+
## 修复计划
|
|
167
|
+
- **预计工作量**:1天
|
|
168
|
+
- **计划修复时间**:2024-05-15前
|
|
169
|
+
- **风险评估**:低/中/高
|
|
170
|
+
- **回滚方案**:如有问题,可回滚到MD5(临时方案)
|
|
171
|
+
|
|
172
|
+
## 关联信息
|
|
173
|
+
- **关联SDD**:skill-sdd-story1-login-backend-api.md
|
|
174
|
+
- **关联测试**:test/password_encryption_test.dart
|
|
175
|
+
- **备注**:安全审计建议修复
|
|
176
|
+
|
|
177
|
+
## 更新记录
|
|
178
|
+
| 日期 | 更新内容 | 更新人 |
|
|
179
|
+
|------|---------|-------|
|
|
180
|
+
| | | |
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### 3.2.3 技术债务管理规范
|
|
184
|
+
- **优先级定义**
|
|
185
|
+
- P0:严重问题,必须立即修复
|
|
186
|
+
- P1:重要问题,近期修复
|
|
187
|
+
- P2:一般问题,计划修复
|
|
188
|
+
- P3:轻微问题,有空修复
|
|
189
|
+
|
|
190
|
+
- **管理流程**
|
|
191
|
+
- 识别技术债务 → 记录到技术债务清单 → 评估优先级 → 计划修复 → 修复验证 → 关闭债务
|
|
192
|
+
- 每个迭代预留10-20%时间偿还技术债务
|
|
193
|
+
- 定期回顾技术债务清单,调整优先级
|
|
194
|
+
|
|
195
|
+
## 3.3 重构计划
|
|
196
|
+
|
|
197
|
+
### 3.3.1 重构触发条件
|
|
198
|
+
- 代码难以理解和维护
|
|
199
|
+
- 频繁出现bug
|
|
200
|
+
- 性能不满足要求
|
|
201
|
+
- 技术栈更新需要适配
|
|
202
|
+
- 功能扩展困难
|
|
203
|
+
|
|
204
|
+
### 3.3.2 重构计划模板
|
|
205
|
+
|
|
206
|
+
```markdown
|
|
207
|
+
# 重构计划
|
|
208
|
+
|
|
209
|
+
## 基本信息
|
|
210
|
+
- **重构ID**:REF-001
|
|
211
|
+
- **模块**:订单处理模块
|
|
212
|
+
- **发起日期**:2024-05-04
|
|
213
|
+
- **优先级**:P1
|
|
214
|
+
|
|
215
|
+
## 重构原因
|
|
216
|
+
- **现状问题**:当前代码耦合度高,难以维护和测试
|
|
217
|
+
- **业务影响**:新功能开发效率低,bug修复周期长
|
|
218
|
+
- **重构目标**:提高代码可维护性,降低耦合度
|
|
219
|
+
|
|
220
|
+
## 重构范围
|
|
221
|
+
- **涉及文件**:lib/order/order_service.dart, lib/order/order_repository.dart
|
|
222
|
+
- **涉及功能**:订单创建、订单状态更新、订单查询
|
|
223
|
+
- **不涉及内容**:支付模块、用户模块
|
|
224
|
+
|
|
225
|
+
## 重构方案
|
|
226
|
+
- **重构策略**:增量重构/完全重写
|
|
227
|
+
- **技术方案**:
|
|
228
|
+
1. 拆分OrderService为多个职责单一的类
|
|
229
|
+
2. 引入Repository模式,分离数据访问逻辑
|
|
230
|
+
3. 添加单元测试,提高测试覆盖率
|
|
231
|
+
|
|
232
|
+
- **依赖关系**:
|
|
233
|
+
- 前置依赖:无
|
|
234
|
+
- 后置影响:需同步更新相关测试
|
|
235
|
+
|
|
236
|
+
## 时间计划
|
|
237
|
+
- **准备阶段**:2024-05-06 分析现有代码
|
|
238
|
+
- **重构阶段**:2024-05-07 到 2024-05-10
|
|
239
|
+
- **测试阶段**:2024-05-11 到 2024-05-12
|
|
240
|
+
- **上线阶段**:2024-05-13
|
|
241
|
+
|
|
242
|
+
## 风险评估
|
|
243
|
+
- **技术风险**:中/高
|
|
244
|
+
- **风险预案**:准备回滚方案,灰度发布
|
|
245
|
+
- **测试重点**:功能完整性、性能不下降
|
|
246
|
+
|
|
247
|
+
## 验收标准
|
|
248
|
+
- 代码可维护性提升
|
|
249
|
+
- 测试覆盖率达到80%以上
|
|
250
|
+
- 功能保持完整,无新增bug
|
|
251
|
+
- 性能不低于重构前
|
|
252
|
+
|
|
253
|
+
## 回滚方案
|
|
254
|
+
- **回滚条件**:出现严重bug,性能明显下降
|
|
255
|
+
- **回滚步骤**:
|
|
256
|
+
1. 停止新功能的开发
|
|
257
|
+
2. 从Git回滚代码
|
|
258
|
+
3. 验证回滚后的功能
|
|
259
|
+
4. 重新发布
|
|
260
|
+
|
|
261
|
+
## 备注
|
|
262
|
+
- 重构过程中,保持小步提交,便于回滚
|
|
263
|
+
- 每完成一个小重构,立即验证功能
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### 3.3.3 重构最佳实践
|
|
267
|
+
- **增量重构**:尽量避免大规模重写,采用小步迭代方式
|
|
268
|
+
- **测试先行**:重构前确保有充分的测试覆盖
|
|
269
|
+
- **保持功能**:重构过程中保持功能不变
|
|
270
|
+
- **频繁验证**:每一步重构后立即验证
|
|
271
|
+
- **记录过程**:记录重构的原因、过程、结果
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
# 四、SDD拆分落地流程
|
|
276
|
+
|
|
277
|
+
## 4.1 拆分前置条件
|
|
278
|
+
|
|
279
|
+
1. 已完成基础SDD拆分(Epic→Feature→用户故事)
|
|
280
|
+
2. 已完成UI设计、前后端架构拆分、数据库+接口拆分
|
|
281
|
+
3. 明确项目语言、架构、用途
|
|
282
|
+
|
|
283
|
+
## 4.2 拆分步骤(6步落地)
|
|
284
|
+
|
|
285
|
+
1. **梳理逻辑单元**:拆解每个用户故事对应的核心功能逻辑单元
|
|
286
|
+
2. **判定拆分数量**:结合项目语言、架构、用途,判定需拆分的SDD数量
|
|
287
|
+
3. **拆分SDD**:为每个功能逻辑单元分配独立SDD,明确核心范围、验收标准
|
|
288
|
+
4. **补充技术债务**:识别当前实现中的技术债务,记录到债务清单
|
|
289
|
+
5. **规划重构计划**:如需要重构,制定重构计划
|
|
290
|
+
6. **规范命名与存放**:按命名、目录规范,为每个SDD命名并放入对应目录
|
|
291
|
+
7. **自检优化**:按校验标准,自检SDD拆分合理性
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
# 五、输出文件结构
|
|
296
|
+
|
|
297
|
+
## 5.1 SDD目录结构
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
项目根/
|
|
301
|
+
├── docs/
|
|
302
|
+
│ └── tech-debt/ # 技术债务记录
|
|
303
|
+
│ ├── td-001.md
|
|
304
|
+
│ └── td-list.md
|
|
305
|
+
└── specs/
|
|
306
|
+
├── function-implementation-sdd/
|
|
307
|
+
│ ├── story1-login/
|
|
308
|
+
│ │ ├── skill-sdd-story1-login-frontend-render.md
|
|
309
|
+
│ │ ├── skill-sdd-story1-login-frontend-interact.md
|
|
310
|
+
│ │ └── skill-sdd-story1-login-backend-api.md
|
|
311
|
+
│ └── common/
|
|
312
|
+
└── refactor-plans/ # 重构计划
|
|
313
|
+
└── ref-001.md
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
# 六、拆分合理性校验标准
|
|
319
|
+
|
|
320
|
+
## 6.1 核心校验项(必过项)
|
|
321
|
+
|
|
322
|
+
- 独立可交付:每个SDD可单独开发、测试、交付
|
|
323
|
+
- 逻辑闭环:每个SDD覆盖正常流程+关键异常流程
|
|
324
|
+
- 粒度适配:无过度拆分、无拆分不足
|
|
325
|
+
- 技能衔接:与基础SDD拆分产出的用户故事、接口契约严格衔接
|
|
326
|
+
- 规范适配:SDD命名、目录符合规范要求
|
|
327
|
+
- 代码规范:SDD中明确代码规范要求
|
|
328
|
+
- 债务管理:技术债务已识别并记录
|
|
329
|
+
- 重构计划:如需重构,计划已制定
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
# 七、与其他技能的衔接
|
|
334
|
+
|
|
335
|
+
## 7.1 前置技能
|
|
336
|
+
- **sdd**:基础SDD拆分,输出用户故事、UI设计、接口契约
|
|
337
|
+
- **ui-sdd**:UI交互SDD,如需要
|
|
338
|
+
|
|
339
|
+
## 7.2 后置技能
|
|
340
|
+
- **sdd-test**:测试SDD拆分
|
|
341
|
+
- **sdd-add**:快速迭代补充(如需要)
|
|
342
|
+
- **子代理开发**:执行SDD开发
|
|
343
|
+
|
|
344
|
+
## 7.3 流程关系
|
|
345
|
+
```
|
|
346
|
+
sdd → ui-sdd → sdd-code → sdd-test → 开发
|
|
347
|
+
```
|