sdd-full 4.8.0 → 4.8.1

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 (163) hide show
  1. package/bin.js +1 -1
  2. package/index.js +18 -12
  3. package/package.json +1 -1
  4. package/skills/VERSION.md +61 -175
  5. package/skills/design-planning/ai-coding-rules/SKILL.md +13 -5
  6. package/skills/design-planning/design-to-code/SKILL.md +14 -5
  7. package/skills/design-planning/enterprise-spec/SKILL.md +13 -5
  8. package/skills/design-planning/flutter-av/SKILL.md +16 -5
  9. package/skills/design-planning/flutter-map/SKILL.md +14 -5
  10. package/skills/design-planning/function-sdd/SKILL.md +13 -5
  11. package/skills/design-planning/global-overlay-stack-standard/SKILL.md +14 -4
  12. package/skills/design-planning/ui-motion-interaction-standard/SKILL.md +14 -4
  13. package/skills/design-planning/ui-sdd-specialized/SKILL.md +14 -5
  14. package/skills/development-execution/flutter-errors/SKILL.md +15 -5
  15. package/skills/quality-assurance/bdd-acceptance/SKILL.md +14 -5
  16. package/skills/quality-assurance/flutter-test/SKILL.md +16 -5
  17. package/skills/requirement-analysis/sdd/mock_sdd.md +156 -0
  18. package/skills/rules/project_rules.md +127 -538
  19. package/skills/rules/user_rules.md +263 -0
  20. package/skills/special-tools/env-check/SKILL.md +13 -5
  21. package/skills/special-tools/ios-full-auto-debug/SKILL.md +15 -5
  22. package/skills/flutter-skills/.github/dependabot.yaml +0 -15
  23. package/skills/flutter-skills/.github/workflows/dart_skills_lint_workflow.yaml +0 -68
  24. package/skills/flutter-skills/.github/workflows/skills_tool.yaml +0 -51
  25. package/skills/flutter-skills/CODE_OF_CONDUCT.md +0 -3
  26. package/skills/flutter-skills/CONTRIBUTING.md +0 -36
  27. package/skills/flutter-skills/LICENSE +0 -26
  28. package/skills/flutter-skills/README.md +0 -50
  29. package/skills/flutter-skills/pubspec.yaml +0 -9
  30. package/skills/flutter-skills/resources/flutter_skills.yaml +0 -434
  31. package/skills/flutter-skills/skills/flutter-add-integration-test/SKILL.md +0 -163
  32. package/skills/flutter-skills/skills/flutter-add-widget-preview/SKILL.md +0 -145
  33. package/skills/flutter-skills/skills/flutter-add-widget-test/SKILL.md +0 -154
  34. package/skills/flutter-skills/skills/flutter-apply-architecture-best-practices/SKILL.md +0 -162
  35. package/skills/flutter-skills/skills/flutter-build-responsive-layout/SKILL.md +0 -139
  36. package/skills/flutter-skills/skills/flutter-fix-layout-issues/SKILL.md +0 -130
  37. package/skills/flutter-skills/skills/flutter-implement-json-serialization/SKILL.md +0 -153
  38. package/skills/flutter-skills/skills/flutter-setup-declarative-routing/SKILL.md +0 -255
  39. package/skills/flutter-skills/skills/flutter-setup-localization/SKILL.md +0 -210
  40. package/skills/flutter-skills/skills/flutter-use-http-package/SKILL.md +0 -175
  41. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/add-dart-lint-validation-rule/SKILL.md +0 -196
  42. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-best-practices/SKILL.md +0 -65
  43. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-checks-migration/SKILL.md +0 -158
  44. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-cli-app-best-practices/SKILL.md +0 -168
  45. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-doc-validation/SKILL.md +0 -87
  46. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-long-lines/SKILL.md +0 -101
  47. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-matcher-best-practices/SKILL.md +0 -136
  48. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-modern-features/SKILL.md +0 -266
  49. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-package-maintenance/SKILL.md +0 -92
  50. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/SKILL.md +0 -92
  51. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/example/lib/src/calculator.dart +0 -7
  52. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/example/pubspec.yaml +0 -8
  53. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/example/test/calculator_test.dart +0 -11
  54. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/scripts/interpret_coverage.dart +0 -95
  55. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/scripts/pubspec.yaml +0 -6
  56. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/scripts/test/interpret_coverage_test.dart +0 -93
  57. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-fundamentals/SKILL.md +0 -173
  58. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/definition-of-done/SKILL.md +0 -27
  59. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/flutter_skills_ignore.json +0 -3
  60. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/grill-me/SKILL.md +0 -10
  61. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/ignore.json +0 -3
  62. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/test-driven-development/SKILL.md +0 -371
  63. package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/test-driven-development/testing-anti-patterns.md +0 -299
  64. package/skills/flutter-skills/tool/dart_skills_lint/AUTHORS +0 -7
  65. package/skills/flutter-skills/tool/dart_skills_lint/CHANGELOG.md +0 -12
  66. package/skills/flutter-skills/tool/dart_skills_lint/CONTRIBUTING.md +0 -51
  67. package/skills/flutter-skills/tool/dart_skills_lint/LICENSE +0 -27
  68. package/skills/flutter-skills/tool/dart_skills_lint/README.md +0 -203
  69. package/skills/flutter-skills/tool/dart_skills_lint/analysis_options.yaml +0 -296
  70. package/skills/flutter-skills/tool/dart_skills_lint/bench/README.md +0 -23
  71. package/skills/flutter-skills/tool/dart_skills_lint/bench/baseline_throughput.dart +0 -230
  72. package/skills/flutter-skills/tool/dart_skills_lint/bin/cli.dart +0 -10
  73. package/skills/flutter-skills/tool/dart_skills_lint/dart_skills_lint.yaml +0 -14
  74. package/skills/flutter-skills/tool/dart_skills_lint/documentation/feature_design_docs/PRODUCTION_READYNESS.md +0 -48
  75. package/skills/flutter-skills/tool/dart_skills_lint/documentation/feature_design_docs/completion_migration_plan.md +0 -99
  76. package/skills/flutter-skills/tool/dart_skills_lint/documentation/feature_design_docs/legacy_patterns_report.md +0 -110
  77. package/skills/flutter-skills/tool/dart_skills_lint/documentation/feature_design_docs/pub_vs_skill_report.md +0 -56
  78. package/skills/flutter-skills/tool/dart_skills_lint/documentation/knowledge/SPECIFICATION.md +0 -79
  79. package/skills/flutter-skills/tool/dart_skills_lint/documentation/knowledge/architecture_overview.md +0 -64
  80. package/skills/flutter-skills/tool/dart_skills_lint/lib/dart_skills_lint.dart +0 -11
  81. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/config_parser.dart +0 -156
  82. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/entry_point.dart +0 -354
  83. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/fixable_rule.dart +0 -20
  84. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/analysis_severity.dart +0 -15
  85. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/check_type.dart +0 -17
  86. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/ignore_entry.dart +0 -34
  87. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/ignore_entry.g.dart +0 -19
  88. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/skill_context.dart +0 -27
  89. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/skill_rule.dart +0 -27
  90. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/skills_ignores.dart +0 -26
  91. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/skills_ignores.g.dart +0 -24
  92. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/validation_error.dart +0 -31
  93. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rule_registry.dart +0 -79
  94. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/absolute_paths_rule.dart +0 -74
  95. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/description_length_rule.dart +0 -49
  96. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/disallowed_field_rule.dart +0 -61
  97. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/name_format_rule.dart +0 -167
  98. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/relative_paths_rule.dart +0 -72
  99. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/trailing_whitespace_rule.dart +0 -93
  100. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/valid_yaml_metadata_rule.dart +0 -74
  101. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/skills_ignores_storage.dart +0 -36
  102. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/validation_session.dart +0 -559
  103. package/skills/flutter-skills/tool/dart_skills_lint/lib/src/validator.dart +0 -238
  104. package/skills/flutter-skills/tool/dart_skills_lint/pubspec.yaml +0 -28
  105. package/skills/flutter-skills/tool/dart_skills_lint/skills/README.md +0 -10
  106. package/skills/flutter-skills/tool/dart_skills_lint/skills/dart-skills-lint-validation/SKILL.md +0 -195
  107. package/skills/flutter-skills/tool/dart_skills_lint/skills-lock.json +0 -75
  108. package/skills/flutter-skills/tool/dart_skills_lint/test/absolute_paths_test.dart +0 -167
  109. package/skills/flutter-skills/tool/dart_skills_lint/test/cli_integration_test.dart +0 -683
  110. package/skills/flutter-skills/tool/dart_skills_lint/test/config_file_test.dart +0 -292
  111. package/skills/flutter-skills/tool/dart_skills_lint/test/custom_rule_test.dart +0 -122
  112. package/skills/flutter-skills/tool/dart_skills_lint/test/directory_structure_test.dart +0 -163
  113. package/skills/flutter-skills/tool/dart_skills_lint/test/field_constraints_test.dart +0 -178
  114. package/skills/flutter-skills/tool/dart_skills_lint/test/fixer_test.dart +0 -172
  115. package/skills/flutter-skills/tool/dart_skills_lint/test/ignore_models_test.dart +0 -63
  116. package/skills/flutter-skills/tool/dart_skills_lint/test/metadata_validation_test.dart +0 -116
  117. package/skills/flutter-skills/tool/dart_skills_lint/test/relative_path_flag_test.dart +0 -70
  118. package/skills/flutter-skills/tool/dart_skills_lint/test/relative_paths_test.dart +0 -172
  119. package/skills/flutter-skills/tool/dart_skills_lint/test/resolve_rules_test.dart +0 -82
  120. package/skills/flutter-skills/tool/dart_skills_lint/test/rule_naming_test.dart +0 -29
  121. package/skills/flutter-skills/tool/dart_skills_lint/test/skills_ignores_storage_test.dart +0 -89
  122. package/skills/flutter-skills/tool/dart_skills_lint/test/test_utils.dart +0 -19
  123. package/skills/flutter-skills/tool/dart_skills_lint/test/trailing_whitespace_test.dart +0 -152
  124. package/skills/flutter-skills/tool/generator/README.md +0 -150
  125. package/skills/flutter-skills/tool/generator/analysis_options.yaml +0 -143
  126. package/skills/flutter-skills/tool/generator/bin/skills.dart +0 -73
  127. package/skills/flutter-skills/tool/generator/lib/src/commands/base_skill_command.dart +0 -87
  128. package/skills/flutter-skills/tool/generator/lib/src/commands/base_yaml_command.dart +0 -83
  129. package/skills/flutter-skills/tool/generator/lib/src/commands/generate_skill_command.dart +0 -92
  130. package/skills/flutter-skills/tool/generator/lib/src/commands/update_readme_command.dart +0 -150
  131. package/skills/flutter-skills/tool/generator/lib/src/commands/update_skill_command.dart +0 -97
  132. package/skills/flutter-skills/tool/generator/lib/src/commands/validate_skill_command.dart +0 -284
  133. package/skills/flutter-skills/tool/generator/lib/src/models/skill_params.dart +0 -41
  134. package/skills/flutter-skills/tool/generator/lib/src/services/gemini_service.dart +0 -310
  135. package/skills/flutter-skills/tool/generator/lib/src/services/markdown_converter.dart +0 -226
  136. package/skills/flutter-skills/tool/generator/lib/src/services/prompts.dart +0 -72
  137. package/skills/flutter-skills/tool/generator/lib/src/services/resource_fetcher_service.dart +0 -84
  138. package/skills/flutter-skills/tool/generator/lib/src/services/skill_instructions.dart +0 -30
  139. package/skills/flutter-skills/tool/generator/pubspec.yaml +0 -32
  140. package/skills/flutter-skills/tool/generator/test/commands/base_skill_command_test.dart +0 -131
  141. package/skills/flutter-skills/tool/generator/test/commands/validate_skills_input_test.dart +0 -263
  142. package/skills/flutter-skills/tool/generator/test/custom_skill_rules/last_modified_rule.dart +0 -32
  143. package/skills/flutter-skills/tool/generator/test/generate_skills_retry_test.dart +0 -105
  144. package/skills/flutter-skills/tool/generator/test/generate_skills_test.dart +0 -519
  145. package/skills/flutter-skills/tool/generator/test/lint_skills_test.dart +0 -34
  146. package/skills/flutter-skills/tool/generator/test/markdown_converter_test.dart +0 -103
  147. package/skills/flutter-skills/tool/generator/test/markdown_table_test.dart +0 -131
  148. package/skills/flutter-skills/tool/generator/test/models/skill_params_test.dart +0 -37
  149. package/skills/flutter-skills/tool/generator/test/services/gemini_service_test.dart +0 -291
  150. package/skills/flutter-skills/tool/generator/test/services/markdown_converter_test.dart +0 -156
  151. package/skills/flutter-skills/tool/generator/test/services/resource_fetcher_service_test.dart +0 -188
  152. package/skills/flutter-skills/tool/generator/test/update_skills_test.dart +0 -241
  153. package/skills/flutter-skills/tool/generator/test/validate_skills_test.dart +0 -728
  154. /package/skills/{.agents → flutter}/skills/flutter-add-integration-test/SKILL.md +0 -0
  155. /package/skills/{.agents → flutter}/skills/flutter-add-widget-preview/SKILL.md +0 -0
  156. /package/skills/{.agents → flutter}/skills/flutter-add-widget-test/SKILL.md +0 -0
  157. /package/skills/{.agents → flutter}/skills/flutter-apply-architecture-best-practices/SKILL.md +0 -0
  158. /package/skills/{.agents → flutter}/skills/flutter-build-responsive-layout/SKILL.md +0 -0
  159. /package/skills/{.agents → flutter}/skills/flutter-fix-layout-issues/SKILL.md +0 -0
  160. /package/skills/{.agents → flutter}/skills/flutter-implement-json-serialization/SKILL.md +0 -0
  161. /package/skills/{.agents → flutter}/skills/flutter-setup-declarative-routing/SKILL.md +0 -0
  162. /package/skills/{.agents → flutter}/skills/flutter-setup-localization/SKILL.md +0 -0
  163. /package/skills/{.agents → flutter}/skills/flutter-use-http-package/SKILL.md +0 -0
@@ -0,0 +1,156 @@
1
+ # 移动端Mock开发SDD独立技能(可嵌入核心流程版)
2
+
3
+ 【技能标识】:sdd-mobile-mock-independent
4
+
5
+ 【核心定位】:独立技能,专门负责核心流程第4步“拆SDD”的Mock开发专项落地,可无缝嵌入 **大需求 → 第0步:Epic拆分(超大需求适用)→ 第0.5步:拆用户故事 → 第1步:拆UI设计 → 第2步:拆前后端分离架构 → 第3步:拆数据库+接口 → 第4步:拆SDD** 全流程,承接前序3步输出,产出子代理可直接消费的Mock开发SDD功能规格,核心支撑“移动端独立开发、不依赖后端”的Mock开发目标。
6
+
7
+ 【适配场景】:适配Superpowers/Trae-CN全流程开发,支持个人开发,兼容Flutter/React Native/Android/iOS所有移动端技术栈,可独立调用(仅执行第4步Mock SDD拆分)或嵌入完整流程(跟随前序步骤联动)。
8
+
9
+ ---
10
+
11
+ ## 一、技能核心目标
12
+
13
+ - 承接核心流程第3步“拆数据库+接口”的产出(数据库表结构、接口契约),完成Mock开发专项的SDD功能规格拆分,不依赖前序步骤的额外开发,仅需前序产出物作为输入。
14
+
15
+ - 产出标准化、可落地、子代理可直接执行的Mock开发SDD文档,覆盖Mock工具集成、假数据编写、拦截逻辑、环境切换等全流程,确保与前序接口契约、数据库结构完全一致。
16
+
17
+ - 保持与核心流程的连贯性,既作为独立技能可单独调用,也可嵌入完整流程,成为第4步“拆SDD”的专属落地能力,不破坏原有流程逻辑。
18
+
19
+ - 适配个人开发场景,简化Mock SDD拆分复杂度,兼顾敏捷迭代与架构规范,确保Mock开发与移动端业务开发、后端开发的边界清晰。
20
+
21
+ ## 二、嵌入核心流程的衔接规则(关键)
22
+
23
+ 本技能作为核心流程第4步“拆SDD”的专属实现,与前序步骤的衔接严格遵循以下规则,确保无缝嵌入、不脱节:
24
+
25
+ ### 1. 前置依赖(必须满足,否则无法启动本技能)
26
+
27
+ 需获取核心流程前3步的明确产出物,作为本技能的输入依据(缺一不可):
28
+
29
+ - 第1步产出:UI页面清单(含Mock数据依赖,明确各页面所需Mock数据字段、类型)
30
+
31
+ - 第2步产出:前后端分离架构文档(明确Mock开发与业务开发、后端开发的职责边界)
32
+
33
+ - 第3步产出:数据库表结构(Mock假数据字段参考)、接口契约(Mock开发的唯一标准)
34
+
35
+ ### 2. 流程衔接节点
36
+
37
+ ```plaintext
38
+
39
+ 核心流程前3步完成 → 启动本Mock SDD独立技能(第4步:拆SDD)→ 产出Mock开发SDD功能规格 → 子代理执行Mock开发 → 衔接后续环境切换测试、上线准备
40
+
41
+ ```
42
+
43
+ ### 3. 与前序步骤的联动要求
44
+
45
+ - Mock SDD拆分必须严格对齐第3步的接口契约,所有Mock相关的功能规格、数据格式,均以接口契约为唯一标准,不允许出现偏差。
46
+
47
+ - Mock SDD中涉及的Mock数据字段,需与第3步数据库表结构、第1步UI页面Mock数据依赖保持一致,确保端到端数据对齐。
48
+
49
+ - Mock SDD中明确的Mock开发职责,需契合第2步前后端分离架构的边界定义,不越界、不侵入业务代码与后端开发范围。
50
+
51
+ - 若前序步骤(如接口契约、数据库结构)发生变更,本技能可单独启动,同步更新Mock SDD规格,无需重新执行完整核心流程。
52
+
53
+ ### 4. 对后续流程的支撑
54
+
55
+ 本技能产出的Mock开发SDD,将直接作为子代理执行Mock开发的唯一依据,支撑后续:
56
+
57
+ - 子代理按SDD规格集成Mock工具、编写假数据、开发拦截逻辑与环境开关;
58
+
59
+ - 按SDD中的验收标准,完成Mock功能的测试验收;
60
+
61
+ - 切换真实接口时,按SDD中的契约对齐要求,快速适配后端真实接口,实现无缝联调。
62
+
63
+ ## 三、技能核心功能(第4步:Mock SDD拆分全流程)
64
+
65
+ 本技能独立实现“拆Mock开发SDD”的完整功能,输出标准化SDD文档,核心分为5个拆分环节,每个环节均贴合前序输入,确保可落地、可执行:
66
+
67
+ ### 1. 契约对齐校验(前置环节)
68
+
69
+ 接收第3步接口契约、数据库表结构,自动校验两者的一致性,输出校验报告,确保Mock SDD拆分的基础无误:
70
+
71
+ - 校验接口契约中的响应字段,是否与数据库表结构中的字段名称、类型一致;
72
+
73
+ - 校验UI页面所需Mock数据字段,是否完全覆盖接口契约中的响应字段;
74
+
75
+ - 校验异常场景(接口报错、空数据)的契约定义,是否完整,为后续Mock异常场景开发提供依据。
76
+
77
+ ### 2. Mock工具与技术选型SDD拆分
78
+
79
+ 结合第2步前后端分离架构中的技术选型,拆分Mock工具集成的详细规格,明确每类移动端技术栈的具体实现要求,子代理可直接参照执行:
80
+
81
+ |移动端技术栈|Mock工具集成规格|SDD具体要求(子代理可直接执行)|
82
+ |---|---|---|
83
+ |Flutter|dio_mock_adapter 集成|1. 集成版本:dio_mock_adapter: ^0.5.0;2. 配置路径:mock/adapter/flutter_mock_adapter.dart;3. 拦截范围:仅拦截第3步契约中定义的接口URL|
84
+ |React Native|axios-mock-adapter 集成|1. 集成版本:axios-mock-adapter: ^1.22.0;2. 配置路径:mock/adapter/rn_mock_adapter.js;3. 与axios版本适配:axios: ^1.6.0|
85
+ |Android(原生)|OkHttp 拦截器|1. 拦截器类路径:com.mock.interceptor.OkHttpMockInterceptor;2. 配置方式:在OkHttpClient中添加拦截器,仅开发环境启用|
86
+ |iOS(原生)|Alamofire 拦截器|1. 拦截器类:AlamofireMockInterceptor;2. 配置:通过RequestAdapter实现拦截,区分Mock/真实环境|
87
+ ### 3. 假数据编写SDD拆分
88
+
89
+ 基于第3步数据库表结构、接口契约,以及第1步UI页面Mock数据依赖,拆分假数据编写的详细规格,明确生成规则、字段对应关系、场景覆盖,确保假数据贴近真实业务且符合契约要求:
90
+
91
+ - 假数据生成工具:按技术栈对应配置(Flutter用faker、React Native用mockjs等),SDD中明确工具版本、调用路径;
92
+
93
+ - 字段对应规则:明确数据库表字段与接口响应字段的映射关系,以及Mock假数据的生成规则(如user表avatar字段,生成固定格式URL或随机URL);
94
+
95
+ - 场景覆盖要求:SDD中明确需覆盖的场景(正常数据、异常数据、边界数据),每个场景的假数据示例、生成逻辑;
96
+
97
+ - 可维护性要求:假数据生成逻辑独立封装,拆分出可复用的假数据生成方法,SDD中明确方法名称、参数、返回值。
98
+
99
+ ### 4. 拦截逻辑与环境开关SDD拆分
100
+
101
+ 结合第2步架构边界定义,拆分Mock请求拦截逻辑与环境切换开关的开发规格,确保Mock与真实接口的切换无缝、不侵入业务代码:
102
+
103
+ - 拦截逻辑:SDD中明确拦截的接口URL(与第3步契约完全一致)、拦截优先级、响应时间要求(≤100ms)、拦截失败处理方案;
104
+
105
+ - 环境开关:明确开关的开发位置、切换逻辑、状态存储方式(如本地缓存),SDD中包含开关的代码示例、调用方式;
106
+
107
+ - 隔离要求:明确Mock代码的存放路径(如mock/目录),与业务代码的隔离规则,SDD中明确目录结构、文件命名规范。
108
+
109
+ ### 5. 验收标准与子代理交付SDD拆分
110
+
111
+ 拆分Mock开发的验收标准与子代理交付要求,确保子代理开发完成后可直接验收,交付物符合Superpowers/Trae-CN工作流要求:
112
+
113
+ - 验收标准:分功能验收(拦截有效性、假数据一致性、环境切换功能)、非功能验收(响应时间、代码隔离性),SDD中明确每条标准的验证方法;
114
+
115
+ - 交付物清单:SDD中明确子代理需交付的文件(Mock代码、假数据生成工具配置、环境开关代码、验收报告);
116
+
117
+ - 合规性要求:明确Mock SDD需符合Superpowers/Trae-CN的子代理驱动开发规范,SDD文档格式、内容需满足子代理消费要求。
118
+
119
+ ## 四、技能输出物(标准化,子代理可直接消费)
120
+
121
+ 本技能启动后,输出1份标准化Mock开发SDD文档,路径固定为 `docs/sdd/mock_sdd.md`,包含以下核心模块,完全适配核心流程第4步的产出要求:
122
+
123
+ 1. 前置依赖说明(关联核心流程前3步的产出物,明确校验结果);
124
+
125
+ 2. Mock工具集成规格(按技术栈拆分,含版本、配置、路径);
126
+
127
+ 3. 假数据编写规格(字段映射、生成规则、场景覆盖、示例);
128
+
129
+ 4. 拦截逻辑与环境开关规格(拦截规则、开关实现、代码隔离);
130
+
131
+ 5. 验收标准(功能+非功能,含验证方法);
132
+
133
+ 6. 子代理交付要求(交付物清单、合规性要求);
134
+
135
+ 7. 版本管理规则(与前序契约版本联动,变更同步机制)。
136
+
137
+ ## 五、技能使用说明(嵌入核心流程/独立调用)
138
+
139
+ ### 1. 嵌入核心流程使用(推荐)
140
+
141
+ 跟随核心流程执行,当完成第3步“拆数据库+接口”后,直接启动本技能,自动读取前序3步的产出物,完成第4步Mock SDD拆分,无需额外输入,流程连贯无冗余。
142
+
143
+ ### 2. 独立调用使用
144
+
145
+ 若仅需单独拆分Mock SDD(如前序步骤已完成,需更新Mock SDD),可直接启动本技能,手动输入前序3步的产出物(UI页面清单、架构文档、数据库/契约),即可完成SDD拆分,不影响核心流程的其他步骤。
146
+
147
+ ## 六、与核心流程的适配保障
148
+
149
+ - 版本联动:本技能的SDD版本与第3步接口契约版本保持一致,契约更新时,Mock SDD可同步更新,确保一致性;
150
+
151
+ - 粒度适配:Mock SDD的拆分粒度,与第0.5步用户故事的粒度对齐,按用户故事优先级,分批拆分Mock SDD,适配个人敏捷工作流;
152
+
153
+ - 边界一致:严格遵循第2步前后端分离架构的边界定义,Mock SDD中不包含任何业务逻辑、后端开发相关内容,确保不越界;
154
+
155
+ - 工具适配:适配Superpowers/Trae-CN的子代理驱动开发,SDD规格可直接被子代理消费,无需二次转换。
156
+ > (注:文档部分内容可能由 AI 生成)