sdd-full 5.0.6 → 5.0.8

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.
Files changed (93) hide show
  1. package/.claude/SDD_ORCHESTRATOR_PROMPT.md +301 -0
  2. package/.claude/agents/orchestrator.md +83 -124
  3. package/.claude/commands/bug.md +2 -5
  4. package/.claude/commands/dev.md +2 -5
  5. package/.claude/commands/env.md +2 -5
  6. package/.claude/commands/flow.md +4 -8
  7. package/.claude/commands/full.md +2 -5
  8. package/.claude/commands/git.md +1 -4
  9. package/.claude/commands/release.md +2 -5
  10. package/.claude/commands/review.md +2 -5
  11. package/.claude/commands/save.md +2 -5
  12. package/.claude/commands/sdd.md +2 -5
  13. package/.claude/commands/ui.md +2 -5
  14. package/.claude/rules/project_rules.md +21 -17
  15. package/.claude/rules/trae-rules.md +50 -0
  16. package/.claude/settings.json +40 -0
  17. package/.claude/skills/README.md +31 -11
  18. package/.claude/skills/ai-coding-rules/SKILL.md +5 -1
  19. package/.claude/skills/bdd-acceptance/SKILL.md +5 -1
  20. package/.claude/skills/brainstorming/SKILL.md +5 -1
  21. package/.claude/skills/bug-reproduction-confirm/SKILL.md +5 -1
  22. package/.claude/skills/claudeception/SKILL.md +28 -53
  23. package/.claude/skills/competitive-brief/SKILL.md +5 -1
  24. package/.claude/skills/design-to-code/SKILL.md +5 -1
  25. package/.claude/skills/env-check/SKILL.md +5 -1
  26. package/.claude/skills/finishing-a-development-branch/SKILL.md +5 -1
  27. package/.claude/skills/flutter-add-integration-test/SKILL.md +5 -1
  28. package/.claude/skills/flutter-add-widget-preview/SKILL.md +5 -1
  29. package/.claude/skills/flutter-add-widget-test/SKILL.md +5 -1
  30. package/.claude/skills/flutter-apply-architecture-best-practices/SKILL.md +5 -1
  31. package/.claude/skills/flutter-build-responsive-layout/SKILL.md +5 -1
  32. package/.claude/skills/flutter-errors/SKILL.md +5 -1
  33. package/.claude/skills/flutter-fix-layout-issues/SKILL.md +5 -1
  34. package/.claude/skills/flutter-implement-json-serialization/SKILL.md +5 -1
  35. package/.claude/skills/flutter-setup-declarative-routing/SKILL.md +5 -1
  36. package/.claude/skills/flutter-setup-localization/SKILL.md +5 -1
  37. package/.claude/skills/flutter-test/SKILL.md +5 -1
  38. package/.claude/skills/flutter-use-http-package/SKILL.md +5 -1
  39. package/.claude/skills/ios-full-auto-debug/SKILL.md +5 -1
  40. package/.claude/skills/market-research/SKILL.md +5 -1
  41. package/.claude/skills/performance-optimize/SKILL.md +5 -1
  42. package/.claude/skills/prd-write/SKILL.md +5 -1
  43. package/.claude/skills/quality-gate/SKILL.md +5 -1
  44. package/.claude/skills/receiving-code-review/SKILL.md +5 -1
  45. package/.claude/skills/release-flow/SKILL.md +5 -1
  46. package/.claude/skills/requesting-code-review/SKILL.md +5 -1
  47. package/.claude/skills/requirement-completion-officer/SKILL.md +5 -1
  48. package/.claude/skills/role-roundtable-review/SKILL.md +5 -1
  49. package/.claude/skills/sdd/SKILL.md +97 -163
  50. package/.claude/skills/sdd-add/SKILL.md +5 -1
  51. package/.claude/skills/sdd-code/SKILL.md +5 -1
  52. package/.claude/skills/sdd-deploy/SKILL.md +5 -1
  53. package/.claude/skills/sdd-full/SKILL.md +3 -17
  54. package/.claude/skills/sdd-test/SKILL.md +5 -1
  55. package/.claude/skills/security-audit/SKILL.md +5 -1
  56. package/.claude/skills/systematic-debugging/SKILL.md +5 -1
  57. package/.claude/skills/templates/API-SDD.md +4 -3
  58. package/.claude/skills/templates/Andrej Karpathy AI/347/274/226/347/240/201/350/247/204/345/210/231/350/220/275/345/234/260SDD.md" +0 -1
  59. package/.claude/skills/templates/BDD/351/243/216/346/240/274/351/252/214/346/224/266/346/240/207/345/207/206SDD.md +0 -1
  60. package/.claude/skills/templates/Base-SDD.md +4 -3
  61. package/.claude/skills/templates/Brain-SDD.md +4 -3
  62. package/.claude/skills/templates/BugReproduction-SDD.md +4 -2
  63. package/.claude/skills/templates/Code-SDD.md +4 -3
  64. package/.claude/skills/templates/Competitor-SDD.md +4 -3
  65. package/.claude/skills/templates/Env-SDD.md +4 -3
  66. package/.claude/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 +0 -1
  67. package/.claude/skills/templates/Flutter/345/234/260/345/233/276/345/257/274/350/210/252/344/270/232/345/212/241SDD.md +0 -1
  68. package/.claude/skills/templates/Flutter/345/270/270/350/247/201/345/274/202/345/270/270/344/270/223/351/241/271SDD.md +0 -1
  69. package/.claude/skills/templates/Flutter/351/237/263/350/247/206/351/242/221/345/205/250/346/240/210SDD.md +0 -1
  70. package/.claude/skills/templates/PRD-SDD.md +4 -3
  71. package/.claude/skills/templates/Performance-SDD.md +4 -2
  72. package/.claude/skills/templates/SKILL.md +5 -1
  73. package/.claude/skills/templates/Test-SDD.md +4 -3
  74. package/.claude/skills/templates/UI-SDD.md +4 -3
  75. package/.claude/skills/templates/UI-SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +0 -1
  76. package/.claude/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 +0 -1
  77. package/.claude/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 +0 -1
  78. package/.claude/skills/templates//345/205/250/346/265/201/347/250/213SDD/350/236/215/345/220/210/344/275/223/347/263/273.md +4 -3
  79. package/.claude/skills/templates//345/212/237/350/203/275SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +0 -1
  80. package/.claude/skills/templates//347/216/257/345/242/203/351/242/204/346/243/200/346/240/207/345/207/206/345/214/226SDD.md +0 -1
  81. package/.claude/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 +0 -1
  82. package/.claude/skills/test-driven-development/SKILL.md +5 -1
  83. package/.claude/skills/ui-motion-interaction-standard/SKILL.md +5 -1
  84. package/.claude/skills/ui-sdd/SKILL.md +5 -1
  85. package/.claude/skills/verification-before-completion/SKILL.md +5 -1
  86. package/.claude/skills/writing-plans/SKILL.md +5 -1
  87. package/bin.js +123 -29
  88. package/package.json +1 -1
  89. package/.claude/commands/debug.md +0 -21
  90. package/.claude/commands/iter.md +0 -22
  91. package/.claude/commands/new.md +0 -25
  92. package/.claude/skills/mempalace-auto-saver/SKILL.md +0 -302
  93. package/README.md +0 -94
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Base-SDD】【trae调用标识:Base-SDD+sdd】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目】
2
1
 
3
2
  # Base-SDD:[项目名称]全局通用基线规范(skill选项式设计)
4
3
 
@@ -32,7 +31,9 @@
32
31
  - 选项1:隐私数据处理 → 选项:加密存储/脱敏展示 → 自定义处理:__________
33
32
  - 选项2:敏感信息脱敏 → 选项:手机号隐藏中间4位/身份证隐藏中间8位 → 自定义脱敏:__________
34
33
 
35
- ## trae调用参数说明(仅trae触发时使用)
34
+ <!-- Trae-only: trae调用参数说明 -->
35
+
36
36
  - 调用路径:skills/templates/Base-SDD.md
37
37
  - 必传参数:项目名称、基线规范类型(如:UI交互/编码规范)
38
- - 可选参数:自定义规范补充内容
38
+ - 可选参数:自定义规范补充内容
39
+ <!-- End Trae-only -->
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Brain-SDD】【trae调用标识:Brain-SDD+brainstorming】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
2
1
 
3
2
  # Brain-SDD:[项目名称]头脑风暴文档(skill选项式设计)
4
3
 
@@ -30,7 +29,9 @@
30
29
  - 选项2:风险点:云同步稳定性差 → 应对措施选项:选择可靠云服务/增加异常处理 → 自定义补充:__________
31
30
  - 选项3:自定义风险点:__________ → 应对措施:__________
32
31
 
33
- ## trae调用参数说明(仅trae触发时使用)
32
+ <!-- Trae-only: trae调用参数说明 -->
33
+
34
34
  - 调用路径:skills/templates/Brain-SDD.md
35
35
  - 必传参数:项目名称、头脑风暴阶段(如:初期想法收集/脑洞筛选)
36
- - 可选参数:自定义想法、自定义方案补充内容
36
+ - 可选参数:自定义想法、自定义方案补充内容
37
+ <!-- End Trae-only -->
@@ -1,5 +1,4 @@
1
1
 
2
- 【claude code调用标识:BugReproduction-SDD】【trae调用标识:BugReproduction-SDD+bug-reproduction-confirm】【流程场景:4.Bug处理】
3
2
 
4
3
  # BugReproduction-SDD:Bug复现确认文档(skill选项式设计)
5
4
 
@@ -74,8 +73,11 @@
74
73
  - 选项2:环境差异说明:__________
75
74
  - 选项3:后续跟进建议:__________
76
75
 
77
- ## trae调用参数说明(仅trae触发时使用)
76
+ <!-- Trae-only: trae调用参数说明 -->
77
+
78
78
  - 调用路径:skills/templates/BugReproduction-SDD.md
79
79
  - 必传参数:Bug基本信息、复现操作记录、复现结论判定
80
80
  - 可选参数:归档备注、证据链接
81
81
 
82
+
83
+ <!-- End Trae-only -->
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Code-SDD】【trae调用标识:Code-SDD+sdd-code】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代、4.Bug处理】
2
1
 
3
2
  # Code-SDD:[功能模块名称](skill选项式设计)
4
3
 
@@ -35,7 +34,9 @@
35
34
  - 选项2:质量校验调用 → 选项:quality-gate(质量门禁)/security-audit(安全审计) → 自定义调用:__________
36
35
  - 选项3:代码审查调用 → 选项:requesting-code-review(请求代码审查)/receiving-code-review(接收代码审查) → 自定义调用:__________
37
36
 
38
- ## trae调用参数说明(仅trae触发时使用)
37
+ <!-- Trae-only: trae调用参数说明 -->
38
+
39
39
  - 调用路径:skills/templates/Code-SDD.md
40
40
  - 必传参数:功能模块名称、开发语言、核心功能
41
- - 可选参数:接口设计、代码结构补充内容
41
+ - 可选参数:接口设计、代码结构补充内容
42
+ <!-- End Trae-only -->
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Competitor-SDD】【trae调用标识:Competitor-SDD+market-research/competitive-brief】【流程场景:2.从零开始新项目】
2
1
 
3
2
  # Competitor-SDD:[项目名称]竞品分析文档(skill选项式设计)
4
3
 
@@ -28,7 +27,9 @@
28
27
  - 选项1:功能差异化 → 选项:补充竞品缺失的功能/优化竞品不足的功能 → 自定义机会:__________
29
28
  - 选项2:体验差异化 → 选项:优化交互流程/提升操作便捷性 → 自定义机会:__________
30
29
 
31
- ## trae调用参数说明(仅trae触发时使用)
30
+ <!-- Trae-only: trae调用参数说明 -->
31
+
32
32
  - 调用路径:skills/templates/Competitor-SDD.md
33
33
  - 必传参数:项目名称、竞品类型、竞品名称
34
- - 可选参数:对比维度、可借鉴点补充内容
34
+ - 可选参数:对比维度、可借鉴点补充内容
35
+ <!-- End Trae-only -->
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Env-SDD】【trae调用标识:Env-SDD+sdd-deploy/sdd-ops】【流程场景:1.完整3阶段SDD流程、5.代码发布】
2
1
 
3
2
  # Env-SDD:[项目名称]环境配置文档(skill选项式设计)
4
3
 
@@ -31,7 +30,9 @@
31
30
  - 选项1:敏感类型 → 选项:密码/密钥/证书 → 自定义类型:__________
32
31
  - 选项2:管理方式 → 选项:环境变量/密钥管理服务/配置中心 → 自定义管理:__________
33
32
 
34
- ## trae调用参数说明(仅trae触发时使用)
33
+ <!-- Trae-only: trae调用参数说明 -->
34
+
35
35
  - 调用路径:skills/templates/Env-SDD.md
36
36
  - 必传参数:项目名称、环境类型、环境URL
37
- - 可选参数:权限配置、敏感信息管理补充内容
37
+ - 可选参数:权限配置、敏感信息管理补充内容
38
+ <!-- End Trae-only -->
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Flutter全类型测试策略SDD】【trae调用标识:Flutter全类型测试策略SDD+测试方案】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代、4.Bug处理】
2
1
 
3
2
  # Flutter全类型测试策略SDD:[项目名称]
4
3
 
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Flutter地图导航业务SDD】【trae调用标识:Flutter地图导航业务SDD+地图集成】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
2
1
 
3
2
  # Flutter地图导航业务SDD:[项目名称]
4
3
 
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Flutter常见异常专项SDD】【trae调用标识:Flutter常见异常专项SDD+异常处理】【流程场景:4.Bug处理】
2
1
 
3
2
  # Flutter常见异常专项SDD:[项目名称]
4
3
 
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Flutter音视频全栈SDD】【trae调用标识:Flutter音视频全栈SDD+音视频集成】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
2
1
 
3
2
  # Flutter音视频全栈SDD:[项目名称]
4
3
 
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:PRD-SDD】【trae调用标识:PRD-SDD+prd-write/requirement-completion-officer】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目】
2
1
 
3
2
  # PRD-SDD:[项目名称]产品需求文档(skill选项式设计)
4
3
 
@@ -39,7 +38,9 @@
39
38
  - 选项2:体验验收 → 选项:交互流畅/操作便捷 → 自定义验收:__________
40
39
  - 选项3:性能验收 → 选项:响应时间≤1s/无卡顿 → 自定义验收:__________
41
40
 
42
- ## trae调用参数说明(仅trae触发时使用)
41
+ <!-- Trae-only: trae调用参数说明 -->
42
+
43
43
  - 调用路径:skills/templates/PRD-SDD.md
44
44
  - 必传参数:项目名称、需求优先级、核心用户
45
- - 可选参数:功能范围、验收标准补充内容
45
+ - 可选参数:功能范围、验收标准补充内容
46
+ <!-- End Trae-only -->
@@ -1,5 +1,4 @@
1
1
 
2
- 【claude code调用标识:Performance-SDD】【trae调用标识:Performance-SDD+performance-optimize】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代、4.Bug处理】
3
2
 
4
3
  # Performance-SDD:[性能优化模块名称](skill选项式设计)
5
4
 
@@ -38,7 +37,10 @@
38
37
  - 选项2:最佳实践 → 选项:__________ → 自定义实践:__________
39
38
  - 选项3:后续优化建议 → 选项:__________ → 自定义建议:__________
40
39
 
41
- ## trae调用参数说明(仅trae触发时使用)
40
+ <!-- Trae-only: trae调用参数说明 -->
41
+
42
42
  - 调用路径:skills/templates/Performance-SDD.md
43
43
  - 必传参数:性能优化模块名称、问题类型、性能指标
44
44
  - 可选参数:优化方案、验证计划补充内容
45
+
46
+ <!-- End Trae-only -->
@@ -1,4 +1,8 @@
1
- 【claude code调用标识:templates】【trae调用标识:templates+SDD模板库】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代、4.Bug处理、5.代码发布】
1
+ ---
2
+ name: templates
3
+ description: Use when accessing SDD templates for various purposes
4
+ ---
5
+
2
6
 
3
7
  ---
4
8
  name: templates
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:Test-SDD】【trae调用标识:Test-SDD+sdd-test】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代、4.Bug处理】
2
1
 
3
2
  # Test-SDD:[测试模块名称](skill选项式设计)
4
3
 
@@ -28,7 +27,9 @@
28
27
  - 选项1:测试项 → 选项:SQL注入/XSS攻击/CSRF攻击/接口越权 → 自定义测试项:__________
29
28
  - 选项2:测试工具 → 选项:OWASP ZAP/Nessus/Burp Suite → 自定义工具:__________
30
29
 
31
- ## trae调用参数说明(仅trae触发时使用)
30
+ <!-- Trae-only: trae调用参数说明 -->
31
+
32
32
  - 调用路径:skills/templates/Test-SDD.md
33
33
  - 必传参数:测试模块名称、测试类型、测试范围
34
- - 可选参数:测试用例、测试数据补充内容
34
+ - 可选参数:测试用例、测试数据补充内容
35
+ <!-- End Trae-only -->
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:UI-SDD】【trae调用标识:UI-SDD+ui-sdd】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目】
2
1
 
3
2
  # UI-SDD:[页面/组件名称](skill选项式设计)
4
3
 
@@ -32,7 +31,9 @@
32
31
  - 选项1:对齐规范 → 选项:对齐Base-SDD颜色规范/对齐Base-SDD字体规范 → 自定义对齐:__________
33
32
  - 选项2:偏差说明 → 选项:无偏差/有偏差(说明:__________) → 自定义说明:__________
34
33
 
35
- ## trae调用参数说明(仅trae触发时使用)
34
+ <!-- Trae-only: trae调用参数说明 -->
35
+
36
36
  - 调用路径:skills/templates/UI-SDD.md
37
37
  - 必传参数:页面/组件名称、所属模块、Figma链接(或备用文件路径)
38
- - 可选参数:组件清单、交互流程补充内容
38
+ - 可选参数:组件清单、交互流程补充内容
39
+ <!-- End Trae-only -->
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:UI-SDD专用模板】【trae调用标识:UI-SDD专用模板+UI设计规范】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
2
1
 
3
2
  # UI-SDD专用模板:[页面/组件名称]
4
3
 
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:UI资源提示词生成SDD】【trae调用标识:UI资源提示词生成SDD+个人备忘录APP】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目】
2
1
 
3
2
  # UI资源生成提示词SDD(适配Figma Make)
4
3
 
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:企业级全栈工程规范SDD】【trae调用标识:企业级全栈工程规范SDD+工程规范】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目】
2
1
 
3
2
  # 企业级全栈工程规范SDD:[项目名称]
4
3
 
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:全流程SDD融合体系】【trae调用标识:全流程SDD融合体系+sdd-full】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代、4.Bug处理、5.代码发布】
2
1
 
3
2
  # 全流程SDD融合体系(skill选项式,含多流程联动)
4
3
 
@@ -191,8 +190,10 @@
191
190
 
192
191
  ---
193
192
 
194
- ## trae调用参数说明(仅trae触发时使用)
193
+ <!-- Trae-only: trae调用参数说明 -->
194
+
195
195
 
196
196
  - 调用路径:skills/templates/全流程SDD融合体系.md
197
197
  - 必传参数:项目名称、流程阶段(如:模板适配/Figma接入/AI协作/开发测试/bug修复/版本锁定/归档管理)
198
- - 可选参数:各流程的自定义补充内容
198
+ - 可选参数:各流程的自定义补充内容
199
+ <!-- End Trae-only -->
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:功能SDD专用模板】【trae调用标识:功能SDD专用模板+功能设计规范】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代、4.Bug处理】
2
1
 
3
2
  # 功能SDD专用模板:[功能模块名称]
4
3
 
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:环境预检标准化SDD】【trae调用标识:环境预检标准化SDD+环境检查】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代、4.Bug处理、5.代码发布】
2
1
 
3
2
  # 环境预检标准化SDD:[项目名称]
4
3
 
@@ -1,4 +1,3 @@
1
- 【claude code调用标识:高保真设计转代码SDD】【trae调用标识:高保真设计转代码SDD+设计转代码】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代】
2
1
 
3
2
  # 高保真设计转代码SDD:[项目名称]
4
3
 
@@ -1,4 +1,8 @@
1
- 【claude code调用标识:test-driven-development】【trae调用标识:test-driven-development+测试驱动开发】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代、4.Bug处理】
1
+ ---
2
+ name: test-driven-development
3
+ description: Use when practicing test-driven development (TDD)
4
+ ---
5
+
2
6
 
3
7
  ---
4
8
  name: test-driven-development
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: ui-motion-interaction-standard
3
+ description: Use when defining UI motion and interaction standards
4
+ ---
5
+
1
6
  name: ui-motion-interaction-standard
2
7
  description: 全局UI动效与交互反馈规范 - 跨端通用交互动效管理
3
8
  author:
@@ -13,7 +18,6 @@ tags:
13
18
  - 工程规范
14
19
  - 跨端通用
15
20
 
16
- 【claude code调用标识:ui-motion-interaction-standard】【trae调用标识:ui-motion-interaction-standard+UI动效】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
17
21
 
18
22
  ## 功能说明
19
23
 
@@ -1,4 +1,8 @@
1
- 【claude code调用标识:ui-sdd】【trae调用标识:ui-sdd+UI交互SDD】【流程场景:设计规划阶段·UI设计】
1
+ ---
2
+ name: ui-sdd
3
+ description: Use when designing UI interactions, page structures, and component specifications
4
+ ---
5
+
2
6
 
3
7
  # UI-SDD 完整整合版:App全域全景骨架 + 标准模板
4
8
 
@@ -1,4 +1,8 @@
1
- 【claude code调用标识:verification-before-completion】【trae调用标识:verification-before-completion+完成前验证】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代、5.代码发布】
1
+ ---
2
+ name: verification-before-completion
3
+ description: Use when verifying completion before submitting code for review
4
+ ---
5
+
2
6
 
3
7
  ---
4
8
  name: verification-before-completion
@@ -1,4 +1,8 @@
1
- 【claude code调用标识:writing-plans】【trae调用标识:writing-plans+编写实现计划】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
1
+ ---
2
+ name: writing-plans
3
+ description: Use when creating development plans and task breakdowns
4
+ ---
5
+
2
6
 
3
7
  ---
4
8
  name: writing-plans
package/bin.js CHANGED
@@ -6,11 +6,32 @@ const fs = require('fs');
6
6
  const path = require('path');
7
7
 
8
8
  const SDD = {
9
- version: '5.0.6',
9
+ version: '5.0.8',
10
10
  name: 'sdd-full',
11
11
  description: '完整的软件设计开发技能包'
12
12
  };
13
13
 
14
+ const CORE_SKILLS = [
15
+ 'ai-coding-rules', 'architecture-refactor', 'bdd-acceptance', 'brainstorming',
16
+ 'bug-reproduction-confirm', 'claudeception', 'code-review-standard', 'code-split-spec',
17
+ 'competitive-brief', 'component-split', 'data-fetching', 'design-contract-expert',
18
+ 'design-to-code', 'env-check', 'finishing-a-development-branch', 'market-research',
19
+ 'mempalace-auto-saver', 'performance-optimize', 'prd-write', 'quality-gate',
20
+ 'receiving-code-review', 'release-flow', 'requesting-code-review', 'requirement-completion-officer',
21
+ 'role-roundtable-review', 'sdd', 'sdd-add', 'sdd-code', 'sdd-common', 'sdd-deploy',
22
+ 'sdd-full', 'sdd-test', 'security-audit', 'state-management', 'systematic-debugging',
23
+ 'templates', 'test-driven-development', 'ui-motion-interaction-standard', 'ui-sdd',
24
+ 'verification-before-completion', 'writing-plans', 'writing-skills'
25
+ ];
26
+
27
+ const FLUTTER_SKILLS = [
28
+ 'flutter-add-integration-test', 'flutter-add-widget-preview', 'flutter-add-widget-test',
29
+ 'flutter-apply-architecture-best-practices', 'flutter-build-responsive-layout',
30
+ 'flutter-errors', 'flutter-fix-layout-issues', 'flutter-implement-json-serialization',
31
+ 'flutter-setup-declarative-routing', 'flutter-setup-localization', 'flutter-test',
32
+ 'flutter-use-http-package', 'ios-full-auto-debug'
33
+ ];
34
+
14
35
  let VERBOSE = false;
15
36
 
16
37
  function debug(msg) {
@@ -71,62 +92,83 @@ function getSkills() {
71
92
  return skills;
72
93
  }
73
94
 
74
- function install(targetDir, environment) {
95
+ function install(targetDir, environment, skillSet) {
75
96
  const baseDir = targetDir || process.cwd();
76
97
  debug(`安装基准目录: ${baseDir}`);
77
98
  debug(`环境: ${environment}`);
99
+ debug(`技能集: ${skillSet}`);
78
100
 
79
101
  console.log('========================================');
80
102
  console.log(` ${SDD.name} - ${SDD.description}`);
81
103
  console.log(` 版本: ${SDD.version}`);
82
104
  console.log('========================================');
83
105
 
84
- const skillsSourceDir = path.join(__dirname, 'skills');
85
- const rulesSourceDir = path.join(__dirname, 'skills', 'rules');
106
+ const skillsSourceDir = path.join(__dirname, '.claude', 'skills');
107
+ const rulesSourceDir = path.join(__dirname, '.claude', 'rules');
108
+ const commandsSourceDir = path.join(__dirname, '.claude', 'commands');
109
+ const instructionsSourceDir = path.join(__dirname, '.claude', 'instructions');
110
+ const standardsSourceDir = path.join(__dirname, '.claude', 'standards');
111
+ const settingsSourcePath = path.join(__dirname, '.claude', 'settings.json');
112
+
86
113
  debug(`技能源目录: ${skillsSourceDir}`);
87
114
  debug(`规则源目录: ${rulesSourceDir}`);
88
- debug(`技能源目录存在: ${fs.existsSync(skillsSourceDir)}`);
89
- debug(`规则源目录存在: ${fs.existsSync(rulesSourceDir)}`);
115
+ debug(`命令源目录: ${commandsSourceDir}`);
90
116
 
91
- // 根据环境选择安装目录
92
117
  let installConfig;
93
118
 
94
119
  if (environment === 'cc') {
95
120
  installConfig = [
96
- { name: 'Claude Code', skillsPath: path.join(baseDir, '.claude', 'skills'), rulesPath: path.join(baseDir, '.claude', 'rules') }
121
+ { name: 'Claude Code', basePath: path.join(baseDir, '.claude'), skillsPath: path.join(baseDir, '.claude', 'skills'), rulesPath: path.join(baseDir, '.claude', 'rules') }
97
122
  ];
98
123
  } else if (environment === 'trae-cn') {
99
124
  installConfig = [
100
- { name: 'Trae-cn', skillsPath: path.join(baseDir, '.trae-cn', 'skills'), rulesPath: path.join(baseDir, '.trae-cn', 'rules') }
125
+ { name: 'Trae-cn', basePath: path.join(baseDir, '.trae-cn'), skillsPath: path.join(baseDir, '.trae-cn', 'skills'), rulesPath: path.join(baseDir, '.trae-cn', 'rules') }
101
126
  ];
102
127
  } else if (environment === 'all') {
103
128
  installConfig = [
104
- { name: 'Trae / Solo', skillsPath: path.join(baseDir, '.trae', 'skills'), rulesPath: path.join(baseDir, '.trae', 'rules') },
105
- { name: 'Trae-cn', skillsPath: path.join(baseDir, '.trae-cn', 'skills'), rulesPath: path.join(baseDir, '.trae-cn', 'rules') },
106
- { name: 'Claude Code', skillsPath: path.join(baseDir, '.claude', 'skills'), rulesPath: path.join(baseDir, '.claude', 'rules') },
107
- { name: '通用 sdd-full', skillsPath: path.join(baseDir, '.sdd-full', 'skills'), rulesPath: path.join(baseDir, '.sdd-full', 'rules') }
129
+ { name: 'Trae / Solo', basePath: path.join(baseDir, '.trae'), skillsPath: path.join(baseDir, '.trae', 'skills'), rulesPath: path.join(baseDir, '.trae', 'rules') },
130
+ { name: 'Trae-cn', basePath: path.join(baseDir, '.trae-cn'), skillsPath: path.join(baseDir, '.trae-cn', 'skills'), rulesPath: path.join(baseDir, '.trae-cn', 'rules') },
131
+ { name: 'Claude Code', basePath: path.join(baseDir, '.claude'), skillsPath: path.join(baseDir, '.claude', 'skills'), rulesPath: path.join(baseDir, '.claude', 'rules') },
132
+ { name: '通用 sdd-full', basePath: path.join(baseDir, '.sdd-full'), skillsPath: path.join(baseDir, '.sdd-full', 'skills'), rulesPath: path.join(baseDir, '.sdd-full', 'rules') }
108
133
  ];
109
134
  } else {
110
- // 默认:Trae / Solo
111
135
  installConfig = [
112
- { name: 'Trae / Solo', skillsPath: path.join(baseDir, '.trae', 'skills'), rulesPath: path.join(baseDir, '.trae', 'rules') }
136
+ { name: 'Trae / Solo', basePath: path.join(baseDir, '.trae'), skillsPath: path.join(baseDir, '.trae', 'skills'), rulesPath: path.join(baseDir, '.trae', 'rules') }
113
137
  ];
114
138
  }
115
139
 
140
+ let skillsToInstall = [];
141
+ if (skillSet === 'core') {
142
+ skillsToInstall = CORE_SKILLS;
143
+ console.log('\n🔸 安装模式: 核心技能集 (33个)');
144
+ } else if (skillSet === 'flutter') {
145
+ skillsToInstall = [...CORE_SKILLS, ...FLUTTER_SKILLS];
146
+ console.log('\n🔸 安装模式: 核心技能集 + Flutter扩展 (46个)');
147
+ } else {
148
+ skillsToInstall = [...CORE_SKILLS, ...FLUTTER_SKILLS];
149
+ console.log('\n🔸 安装模式: 完整技能集 (46个)');
150
+ }
151
+
116
152
  let totalSkillsCount = 0;
117
153
  let totalRulesCount = 0;
118
154
 
119
155
  installConfig.forEach(config => {
120
156
  const skillsDestDir = config.skillsPath;
121
157
  const rulesDestDir = config.rulesPath;
158
+ const baseDestDir = config.basePath;
159
+
122
160
  debug(`安装目标: ${config.name}`);
161
+ debug(` 基础目录: ${baseDestDir}`);
123
162
  debug(` 技能目录: ${skillsDestDir}`);
124
163
  debug(` 规则目录: ${rulesDestDir}`);
125
164
 
126
165
  console.log(`\n正在安装到: ${config.name}`);
127
166
 
128
- // 安装技能(不含rules目录)
129
- console.log(` 📦 安装技能到: ${skillsDestDir}`);
167
+ if (!fs.existsSync(baseDestDir)) {
168
+ debug(`创建基础目录: ${baseDestDir}`);
169
+ fs.mkdirSync(baseDestDir, { recursive: true });
170
+ }
171
+
130
172
  if (!fs.existsSync(skillsDestDir)) {
131
173
  debug(`创建技能目录: ${skillsDestDir}`);
132
174
  fs.mkdirSync(skillsDestDir, { recursive: true });
@@ -135,11 +177,9 @@ function install(targetDir, environment) {
135
177
  let skillsCount = 0;
136
178
  if (fs.existsSync(skillsSourceDir)) {
137
179
  const items = fs.readdirSync(skillsSourceDir);
138
- debug(`技能源目录内容: ${items.join(', ')}`);
139
180
 
140
181
  items.forEach(item => {
141
- // 跳过rules目录,它将单独安装
142
- if (item === 'rules') {
182
+ if (item === 'rules' || item === 'templates') {
143
183
  return;
144
184
  }
145
185
 
@@ -147,7 +187,7 @@ function install(targetDir, environment) {
147
187
  const destItem = path.join(skillsDestDir, item);
148
188
  const stat = fs.statSync(srcItem);
149
189
 
150
- if (stat.isDirectory()) {
190
+ if (stat.isDirectory() && skillsToInstall.includes(item)) {
151
191
  debug(`复制技能目录: ${item}`);
152
192
  copyDirectory(srcItem, destItem);
153
193
  skillsCount++;
@@ -156,11 +196,18 @@ function install(targetDir, environment) {
156
196
  fs.copyFileSync(srcItem, destItem);
157
197
  }
158
198
  });
199
+
200
+ const templatesSrc = path.join(skillsSourceDir, 'templates');
201
+ const templatesDest = path.join(skillsDestDir, 'templates');
202
+ if (fs.existsSync(templatesSrc)) {
203
+ debug(`复制模板目录`);
204
+ copyDirectory(templatesSrc, templatesDest);
205
+ skillsCount++;
206
+ }
159
207
  }
160
208
  totalSkillsCount += skillsCount;
161
209
  console.log(` ✅ ${skillsCount} 个技能`);
162
210
 
163
- // 安装规则到.trae根目录下
164
211
  console.log(` 📋 安装规则到: ${rulesDestDir}`);
165
212
  if (!fs.existsSync(rulesDestDir)) {
166
213
  debug(`创建规则目录: ${rulesDestDir}`);
@@ -170,7 +217,6 @@ function install(targetDir, environment) {
170
217
  let rulesCount = 0;
171
218
  if (fs.existsSync(rulesSourceDir)) {
172
219
  const items = fs.readdirSync(rulesSourceDir);
173
- debug(`规则源目录内容: ${items.join(', ')}`);
174
220
 
175
221
  items.forEach(item => {
176
222
  const srcItem = path.join(rulesSourceDir, item);
@@ -188,7 +234,43 @@ function install(targetDir, environment) {
188
234
  totalRulesCount += rulesCount;
189
235
  console.log(` ✅ ${rulesCount} 个规则文件`);
190
236
 
191
- // 验证安装结果
237
+ if (environment === 'cc' && fs.existsSync(commandsSourceDir)) {
238
+ const commandsDestDir = path.join(baseDestDir, 'commands');
239
+ console.log(` 📝 安装命令到: ${commandsDestDir}`);
240
+ if (!fs.existsSync(commandsDestDir)) {
241
+ fs.mkdirSync(commandsDestDir, { recursive: true });
242
+ }
243
+ copyDirectory(commandsSourceDir, commandsDestDir);
244
+ console.log(` ✅ 命令文件已安装`);
245
+ }
246
+
247
+ if (environment === 'cc' && fs.existsSync(instructionsSourceDir)) {
248
+ const instructionsDestDir = path.join(baseDestDir, 'instructions');
249
+ console.log(` 📋 安装指令到: ${instructionsDestDir}`);
250
+ if (!fs.existsSync(instructionsDestDir)) {
251
+ fs.mkdirSync(instructionsDestDir, { recursive: true });
252
+ }
253
+ copyDirectory(instructionsSourceDir, instructionsDestDir);
254
+ console.log(` ✅ 指令文件已安装`);
255
+ }
256
+
257
+ if (environment === 'cc' && fs.existsSync(standardsSourceDir)) {
258
+ const standardsDestDir = path.join(baseDestDir, 'standards');
259
+ console.log(` 📐 安装标准到: ${standardsDestDir}`);
260
+ if (!fs.existsSync(standardsDestDir)) {
261
+ fs.mkdirSync(standardsDestDir, { recursive: true });
262
+ }
263
+ copyDirectory(standardsSourceDir, standardsDestDir);
264
+ console.log(` ✅ 标准文件已安装`);
265
+ }
266
+
267
+ if (environment === 'cc' && fs.existsSync(settingsSourcePath)) {
268
+ const settingsDestPath = path.join(baseDestDir, 'settings.json');
269
+ console.log(` ⚙️ 安装配置到: ${settingsDestPath}`);
270
+ fs.copyFileSync(settingsSourcePath, settingsDestPath);
271
+ console.log(` ✅ 配置文件已安装`);
272
+ }
273
+
192
274
  if (fs.existsSync(skillsDestDir)) {
193
275
  const installedSkills = fs.readdirSync(skillsDestDir);
194
276
  debug(`技能目录内容: ${installedSkills.join(', ')}`);
@@ -239,13 +321,17 @@ function main() {
239
321
  console.log(` 版本: ${SDD.version}`);
240
322
  console.log('========================================');
241
323
  console.log('\n用法:');
242
- console.log(' npx sdd-full - 安装到 Trae / Solo(默认)');
324
+ console.log(' npx sdd-full - 安装到 Trae / Solo(默认,完整技能集)');
243
325
  console.log(' npx sdd-full cc - 安装到 Claude Code');
244
326
  console.log(' npx sdd-full trae-cn - 仅安装到 Trae-cn');
245
- console.log(' npx sdd-full all - 安装到所有环境(Trae + Trae-cn + Claude Code)');
327
+ console.log(' npx sdd-full all - 安装到所有环境');
246
328
  console.log(' npx sdd-full --help - 显示帮助');
247
329
  console.log(' npx sdd-full --dir ./myproj - 安装到指定目录');
248
330
  console.log(' npx sdd-full --verbose - 显示详细调试信息');
331
+ console.log('\n技能集选项:');
332
+ console.log(' --core - 仅安装核心技能集(33个,通用项目)');
333
+ console.log(' --flutter - 安装核心技能集 + Flutter扩展(46个)');
334
+ console.log(' (默认) - 安装完整技能集(46个)');
249
335
 
250
336
  const skills = getSkills();
251
337
  console.log('\n可用技能:');
@@ -255,7 +341,6 @@ function main() {
255
341
 
256
342
  console.log(`\n总计 ${skills.length} 个技能\n`);
257
343
  } else {
258
- // 否则,直接安装
259
344
  let targetDir;
260
345
  const targetIndex = args.indexOf('--dir');
261
346
  const targetIndexShort = args.indexOf('-d');
@@ -273,10 +358,19 @@ function main() {
273
358
  } else if (args.indexOf('all') !== -1) {
274
359
  environment = 'all';
275
360
  } else {
276
- environment = 'trae'; // 默认:Trae / Solo + Trae-cn
361
+ environment = 'trae';
362
+ }
363
+
364
+ let skillSet;
365
+ if (args.indexOf('--core') !== -1) {
366
+ skillSet = 'core';
367
+ } else if (args.indexOf('--flutter') !== -1) {
368
+ skillSet = 'flutter';
369
+ } else {
370
+ skillSet = 'full';
277
371
  }
278
372
 
279
- install(targetDir, environment);
373
+ install(targetDir, environment, skillSet);
280
374
  }
281
375
  }
282
376
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdd-full",
3
- "version": "5.0.6",
3
+ "version": "5.0.8",
4
4
  "description": "SDD Full - 完整的软件设计开发技能包",
5
5
  "main": "index.js",
6
6
  "bin": "./bin.js",
@@ -1,21 +0,0 @@
1
- ---
2
- description: /debug command
3
- argument-hint:
4
- ---
5
-
6
- 当用户输入 /debug 命令时,执行以下流程:
7
-
8
- 1. 触发 systematic-debugging(系统化调试)
9
- - 分析错误信息或问题描述
10
- - 定位根因
11
- - 提出修复方案
12
-
13
- 2. 确认修复方案后,执行修复
14
-
15
- 3. 触发 verification-before-completion(提交前验证)
16
-
17
- 4. 验证通过后,触发 quality-gate(质量门禁检查)
18
-
19
- 5. 触发 claudeception 进行经验沉淀
20
-
21
- 6. 每个步骤完成后,等待用户确认再进入下一步