@ohos-cpf/3rdloop 0.0.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 (389) hide show
  1. package/README.md +425 -0
  2. package/bin/3rdloop.mjs +48 -0
  3. package/lib/cli.js +741 -0
  4. package/lib/config.js +318 -0
  5. package/lib/doctor.js +114 -0
  6. package/lib/exit-codes.js +31 -0
  7. package/lib/opencode.js +156 -0
  8. package/lib/orch.js +427 -0
  9. package/lib/queries.js +264 -0
  10. package/lib/runner.js +979 -0
  11. package/lib/step.js +326 -0
  12. package/lib/ui.js +223 -0
  13. package/lib/workflow.js +291 -0
  14. package/lib/workflows.js +132 -0
  15. package/package.json +50 -0
  16. package/vendor/Server/Agent/SkillSelector/README.md +344 -0
  17. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -0
  18. package/vendor/Server/Agent/SkillSelector/index.js +14 -0
  19. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -0
  20. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -0
  21. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -0
  22. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -0
  23. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -0
  24. package/vendor/Server/Agent/SkillSelector/types.js +63 -0
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +60 -0
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -0
  27. package/vendor/Server/Brain/Brain.js +686 -0
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -0
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -0
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -0
  31. package/vendor/Server/Brain/index.js +11 -0
  32. package/vendor/Server/CLI/cli.js +243 -0
  33. package/vendor/Server/CLI/opencode/index.js +804 -0
  34. package/vendor/Server/CLI/opencode.js +5 -0
  35. package/vendor/Server/DbUse/MessageArchive.js +61 -0
  36. package/vendor/Server/DbUse/StorageManager.js +107 -0
  37. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -0
  38. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -0
  39. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -0
  40. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -0
  41. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -0
  42. package/vendor/Server/DbUse/index.js +160 -0
  43. package/vendor/Server/DbUse/stores/SessionStore.js +279 -0
  44. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -0
  45. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -0
  46. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -0
  47. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -0
  48. package/vendor/Server/FlexRunner/index.js +12 -0
  49. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -0
  50. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -0
  51. package/vendor/Server/Knowledge/index.js +33 -0
  52. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -0
  53. package/vendor/Server/LoopEngine/index.js +11 -0
  54. package/vendor/Server/Orchestrator/Orchestrator.js +1425 -0
  55. package/vendor/Server/Orchestrator/StepNode.js +312 -0
  56. package/vendor/Server/Orchestrator/index.js +13 -0
  57. package/vendor/Server/Routes/controllers/BrainController.js +241 -0
  58. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -0
  59. package/vendor/Server/Routes/controllers/HealthController.js +44 -0
  60. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -0
  61. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -0
  62. package/vendor/Server/Routes/controllers/OrchestratorController.js +911 -0
  63. package/vendor/Server/Routes/controllers/StatsController.js +57 -0
  64. package/vendor/Server/Routes/controllers/StreamController.js +67 -0
  65. package/vendor/Server/Routes/library/logger.js +179 -0
  66. package/vendor/Server/Routes/library/zipArchive.js +172 -0
  67. package/vendor/Server/Routes/router/Router.js +204 -0
  68. package/vendor/Server/Routes/routes/brain.js +47 -0
  69. package/vendor/Server/Routes/routes/flexrunner.js +72 -0
  70. package/vendor/Server/Routes/routes/health.js +28 -0
  71. package/vendor/Server/Routes/routes/index.js +57 -0
  72. package/vendor/Server/Routes/routes/knowledge.js +55 -0
  73. package/vendor/Server/Routes/routes/loopengine.js +58 -0
  74. package/vendor/Server/Routes/routes/orchestrator.js +61 -0
  75. package/vendor/Server/Routes/routes/registry.js +98 -0
  76. package/vendor/Server/Routes/routes/stats.js +23 -0
  77. package/vendor/Server/Routes/routes/stream.js +30 -0
  78. package/vendor/Server/Routes/server.js +202 -0
  79. package/vendor/Server/Routes/sse/SseHub.js +308 -0
  80. package/vendor/Server/Skills/acceptance-check/SKILL.md +174 -0
  81. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -0
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -0
  83. package/vendor/Server/Skills/arkts-code-check/SKILL.md +314 -0
  84. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +160 -0
  85. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +29 -0
  86. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +222 -0
  87. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +220 -0
  88. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +329 -0
  89. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -0
  90. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +433 -0
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -0
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +789 -0
  93. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -0
  94. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -0
  95. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -0
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -0
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -0
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +99 -0
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -0
  100. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -0
  101. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +433 -0
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -0
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +789 -0
  104. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -0
  105. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -0
  106. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -0
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -0
  108. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +234 -0
  109. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +103 -0
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -0
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -0
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +108 -0
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -0
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -0
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -0
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -0
  117. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -0
  118. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +392 -0
  119. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -0
  120. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +313 -0
  121. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -0
  122. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +166 -0
  123. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +309 -0
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -0
  125. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -0
  126. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +361 -0
  127. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +146 -0
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +253 -0
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +115 -0
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +263 -0
  131. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -0
  132. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -0
  133. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -0
  134. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -0
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +519 -0
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -0
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +93 -0
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -0
  139. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -0
  140. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +433 -0
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -0
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +789 -0
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -0
  144. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +229 -0
  145. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -0
  146. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -0
  147. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +576 -0
  148. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +575 -0
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -0
  150. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +491 -0
  151. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -0
  152. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -0
  153. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +433 -0
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -0
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +789 -0
  156. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -0
  157. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +312 -0
  158. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -0
  159. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +134 -0
  160. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -0
  161. package/vendor/Server/Skills/flutter-interface/README.md +75 -0
  162. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -0
  163. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -0
  164. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -0
  165. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -0
  166. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -0
  167. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +518 -0
  168. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +382 -0
  169. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +342 -0
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -0
  171. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +519 -0
  172. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +407 -0
  173. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +653 -0
  174. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +397 -0
  175. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +745 -0
  176. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +721 -0
  177. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -0
  178. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -0
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -0
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -0
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -0
  182. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -0
  183. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -0
  184. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -0
  185. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -0
  186. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +301 -0
  187. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +105 -0
  188. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +127 -0
  189. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +208 -0
  190. package/vendor/Server/Skills/rn-code-check/SKILL.md +321 -0
  191. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +235 -0
  192. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +189 -0
  193. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +247 -0
  194. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -0
  195. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -0
  196. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -0
  197. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -0
  198. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -0
  199. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -0
  200. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -0
  201. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -0
  202. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -0
  203. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -0
  204. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -0
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -0
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -0
  207. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -0
  208. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -0
  209. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -0
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -0
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -0
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -0
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -0
  214. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -0
  215. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -0
  216. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -0
  217. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -0
  218. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -0
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -0
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +684 -0
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -0
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -0
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -0
  224. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -0
  225. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -0
  226. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -0
  227. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -0
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -0
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -0
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -0
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -0
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -0
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -0
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -0
  235. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -0
  236. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -0
  237. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -0
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -0
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -0
  240. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -0
  241. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -0
  242. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -0
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -0
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -0
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -0
  246. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -0
  247. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -0
  248. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +58 -0
  249. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -0
  250. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -0
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +75 -0
  252. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -0
  253. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +339 -0
  254. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +83 -0
  255. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +859 -0
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +122 -0
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +279 -0
  258. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -0
  259. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -0
  260. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -0
  261. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -0
  262. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -0
  263. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +506 -0
  264. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +280 -0
  265. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -0
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +209 -0
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -0
  268. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -0
  269. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -0
  270. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -0
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -0
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -0
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -0
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -0
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -0
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -0
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -0
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -0
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -0
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -0
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -0
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -0
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -0
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -0
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -0
  286. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -0
  287. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -0
  288. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -0
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -0
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -0
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -0
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -0
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -0
  294. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -0
  295. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -0
  296. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -0
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -0
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -0
  299. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -0
  300. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -0
  301. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -0
  302. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +498 -0
  303. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -0
  304. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -0
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -0
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -0
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -0
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -0
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -0
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -0
  311. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -0
  312. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -0
  313. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -0
  314. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -0
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -0
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -0
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -0
  318. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -0
  319. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -0
  320. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -0
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -0
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -0
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -0
  324. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -0
  325. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -0
  326. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -0
  327. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -0
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -0
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -0
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -0
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -0
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -0
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -0
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -0
  335. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -0
  336. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -0
  337. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -0
  338. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -0
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -0
  340. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -0
  341. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +255 -0
  342. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +77 -0
  343. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -0
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +174 -0
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -0
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -0
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -0
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +137 -0
  349. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -0
  350. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -0
  351. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -0
  352. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -0
  353. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -0
  354. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -0
  355. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -0
  356. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -0
  357. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -0
  358. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -0
  359. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -0
  360. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -0
  361. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -0
  362. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -0
  363. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -0
  364. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -0
  365. package/vendor/Server/Skills/task-decomposition/SKILL.md +529 -0
  366. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -0
  367. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -0
  368. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -0
  369. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -0
  370. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -0
  371. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -0
  372. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -0
  373. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -0
  374. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -0
  375. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -0
  376. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -0
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +425 -0
  378. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -0
  379. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -0
  380. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -0
  381. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -0
  382. package/vendor/Server/TestCheck/TestCheck.js +775 -0
  383. package/vendor/Server/TestCheck/index.js +11 -0
  384. package/vendor/Server/library/McpToolGuide.js +280 -0
  385. package/vendor/Server/library/StatsService.js +127 -0
  386. package/vendor/Server/library/cstTime.js +16 -0
  387. package/vendor/Server/package.json +17 -0
  388. package/vendor/VERSION +3 -0
  389. package/workflows/pr-check.mjs +106 -0
@@ -0,0 +1,286 @@
1
+ # 脚本使用指南
2
+
3
+ > 本文档详细说明本 SKILL 使用的三个 Node.js 共享脚本(位于 `MCP/scripts/`,通过相对路径引用,不保存副本)的用法、参数、输出格式及工作原理。
4
+
5
+ ---
6
+
7
+ ## 脚本概览
8
+
9
+ | 脚本 | 功能 | 输入 | 输出 |
10
+ |------|------|------|------|
11
+ | `flutter-extract-interfaces.cjs` | 从 Flutter 库源码提取 Dart 公开接口规格 | 库源码目录 | `interface-spec.json` |
12
+ | `flutter-analyze-xts-coverage.cjs` | 分析测试用例覆盖率(test/ 目录) | 库源码目录 + 可选 spec | XTS 覆盖率报告 `.md` |
13
+ | `flutter-analyze-demo-coverage.cjs` | 分析 Demo 覆盖率(example/lib 目录) | 库源码目录 + 可选 spec | Demo 覆盖率报告 `.md` |
14
+
15
+ > 三个脚本位于仓库的 `MCP/scripts/` 目录下(本 SKILL 通过相对路径 `{{skillDir}}/../../../MCP/scripts/` 引用,**不保存脚本副本**),使用 Node.js 运行。`flutter-analyze-xts-coverage.cjs` 和 `flutter-analyze-demo-coverage.cjs` 依赖同目录的 `flutter-extract-interfaces.cjs`(通过 `require`),三者已共存于 `MCP/scripts/`,直接引用即可。
16
+ >
17
+ > `{{skillDir}}` = 本 SKILL 的 SKILL.md 所在目录(任务 prompt 中“SKILL 目录”下发的绝对路径)。
18
+
19
+ ---
20
+
21
+ ## 1. flutter-extract-interfaces.cjs
22
+
23
+ ### 功能
24
+
25
+ 从 Flutter 三方库源码目录提取完整的 Dart 公开接口规格,包括:
26
+ - 公开类(class / abstract class / mixin class)
27
+ - 公开枚举(enum,含 Dart 3 增强枚举)
28
+ - 公开 Mixin
29
+ - 公开 Extension
30
+ - 顶层函数、常量、变量、typedef
31
+ - 每个类的方法、属性(getter)、构造函数、字段
32
+
33
+ ### 核心策略
34
+
35
+ 1. **pubspec.yaml 解析** → 包名 → `lib/<package>.dart` 入口定位
36
+ 2. **export 链递归追踪**(`src/` 相对路径 + `package:` 跨包路径)
37
+ 3. **export hide/show 过滤**
38
+ 4. **预处理**:移除字符串/注释(保留行号),大括号块匹配提取类体
39
+ 5. **正则解析**:类/枚举/mixin/extension 成员 + 顶层函数/变量/typedef
40
+ 6. **`///` 文档注释提取**
41
+ 7. **`_` 前缀私有成员过滤**
42
+ 8. **monorepo 多子包支持**(如 flutter_inappwebview)
43
+
44
+ ### 用法
45
+
46
+ ```bash
47
+ # 方式一:CLI 参数模式
48
+ node "{{skillDir}}/../../../MCP/scripts/flutter-extract-interfaces.cjs" --repoDir <库源码目录> --output <interface-spec.json>
49
+
50
+ # 方式二:不指定 output,JSON 输出到 stdout
51
+ node "{{skillDir}}/../../../MCP/scripts/flutter-extract-interfaces.cjs" --repoDir <库源码目录>
52
+
53
+ # 方式三:MCP Gateway 模式(JSON 字符串作为第一个参数)
54
+ node "{{skillDir}}/../../../MCP/scripts/flutter-extract-interfaces.cjs" '{"libroot":"/path/to/lib","output":"spec.json"}'
55
+ ```
56
+
57
+ ### 参数
58
+
59
+ | 参数 | 别名 | 必填 | 说明 |
60
+ |------|------|------|------|
61
+ | `--repoDir` | `--libroot` | ✅ | 库源码根目录路径(包含 `lib/` 子目录和 `pubspec.yaml`) |
62
+ | `--output` | - | ❌ | 输出 JSON 文件路径,不指定则输出到 stdout |
63
+
64
+ ### 库源码目录结构约定
65
+
66
+ ```
67
+ # 标准结构
68
+ /path/to/lib/
69
+ ├── <package>.dart ← 入口文件
70
+ ├── src/ ← 库源码
71
+ └── constants.dart
72
+
73
+ # monorepo(如 flutter_inappwebview)
74
+ /path/to/flutter_inappwebview/
75
+ ├── flutter_inappwebview/ ← 主包
76
+ │ ├── lib/
77
+ │ └── pubspec.yaml
78
+ └── flutter_inappwebview_platform_interface/
79
+ └── lib/
80
+ ```
81
+
82
+ ### 输出格式(interface-spec.json)
83
+
84
+ ```json
85
+ {
86
+ "libraryName": "flutter_blue_plus",
87
+ "entryFile": "./lib/flutter_blue_plus.dart",
88
+ "extractedAt": "2024-01-01T00:00:00.000Z",
89
+ "summary": {
90
+ "S": 5, // 类/接口总数
91
+ "N": 42, // 接口成员总数
92
+ "M": 0,
93
+ "methods": 20, // 方法数
94
+ "properties": 8, // 属性数
95
+ "fields": 10, // 字段数
96
+ "constants": 4 // 常量数
97
+ },
98
+ "sources": ["./lib/...", "./lib/src/..."],
99
+ "interfaces": [
100
+ {
101
+ "className": "FlutterBluePlus",
102
+ "memberName": "startScan",
103
+ "fullName": "FlutterBluePlus.startScan",
104
+ "kind": "method", // method|property|field|constant|constructor|enumValue|function|type|variable
105
+ "isStatic": false,
106
+ "isReadonly": false,
107
+ "isEvent": false,
108
+ "type": "class",
109
+ "signature": "Future<void> startScan({Duration timeout})",
110
+ "params": [{"name":"timeout","type":"Duration","optional":true,"description":"-"}],
111
+ "returnType": "Future<void>",
112
+ "description": "开始扫描蓝牙设备",
113
+ "source": "./lib/src/flutter_blue_plus.dart",
114
+ "startLine": 42
115
+ }
116
+ ]
117
+ }
118
+ ```
119
+
120
+ ### 接口类型说明
121
+
122
+ | kind | 说明 | 是否计入覆盖率 |
123
+ |------|------|----------------|
124
+ | `method` | 实例/静态方法 | ✅ 计入 |
125
+ | `property` | getter 属性 | ✅ 计入 |
126
+ | `field` | 实例字段(如 Widget 参数) | ✅ 计入 |
127
+ | `function` | 顶层函数 | ✅ 计入 |
128
+ | `constant` | const/final 常量 | ❌ 不计入(只读值无业务逻辑) |
129
+ | `enumValue` | 枚举值 | ❌ 不计入(枚举常量) |
130
+ | `constructor` | 构造函数 | ❌ 不计入(实例化入口) |
131
+ | `type` | typedef 类型别名 | ✅ 计入 |
132
+ | `variable` | 顶层变量 | ✅ 计入 |
133
+
134
+ ---
135
+
136
+ ## 2. flutter-analyze-xts-coverage.cjs
137
+
138
+ ### 功能
139
+
140
+ 分析 **测试用例** 对 Flutter 库 Dart 公开接口的覆盖程度。扫描以下目录的 `.dart` 测试文件:
141
+ - `<libroot>/test/`
142
+ - `<libroot>/example/test/`
143
+ - `<libroot>/example/integration_test/`
144
+
145
+ ### 用法
146
+
147
+ ```bash
148
+ # 方式一:先提取接口,再分析覆盖率(推荐,避免重复提取)
149
+ node "{{skillDir}}/../../../MCP/scripts/flutter-extract-interfaces.cjs" --repoDir <库源码目录> --output <outputDir>/interface-spec.json
150
+ node "{{skillDir}}/../../../MCP/scripts/flutter-analyze-xts-coverage.cjs" --spec <outputDir>/interface-spec.json --libroot <库源码目录> --output <outputDir>/03-XTS覆盖率报告.md
151
+
152
+ # 方式二:直接从源码提取接口并分析(一步到位)
153
+ node "{{skillDir}}/../../../MCP/scripts/flutter-analyze-xts-coverage.cjs" --libroot <库源码目录> --output <outputDir>/03-XTS覆盖率报告.md
154
+ ```
155
+
156
+ ### 参数
157
+
158
+ | 参数 | 别名 | 必填 | 说明 |
159
+ |------|------|------|------|
160
+ | `--libroot` | `--repoDir` | ✅* | 库根目录路径 |
161
+ | `--spec` | - | ❌ | 已有的 `interface-spec.json` 路径(与 libroot 二选一或配合使用) |
162
+ | `--output` | - | ❌ | 输出 Markdown 报告路径,默认 `03-xxx-XTS覆盖率报告.md` |
163
+ | `--title` | - | ❌ | 报告标题 |
164
+ | `--lib` | - | ❌ | 库名覆盖(默认从 pubspec.yaml 读取) |
165
+ | `--src` | - | ❌ | 测试源码目录覆盖(默认自动定位) |
166
+
167
+ > *`--libroot` 和 `--spec` 至少提供一个。如果只提供 `--spec`,`--libroot` 从 spec 文件目录推断。
168
+
169
+ ### 输出报告结构
170
+
171
+ 报告包含以下章节:
172
+ 1. **基本信息**:库名、源文件数、生成时间
173
+ 2. **覆盖率总览**:方法级覆盖率百分比 + 进度条
174
+ 3. **按接口类型统计**:method/property/field/function 等类型的覆盖率
175
+ 4. **类级覆盖率**:每个类的覆盖数/未覆盖数/覆盖率
176
+ 5. **未覆盖接口详情**:按类分组的未覆盖接口列表(含签名、参数、说明)
177
+ 6. **已覆盖接口详情**:按类分组的已覆盖接口列表(含覆盖文件)
178
+ 7. **文件覆盖详情**:每个测试文件覆盖的接口列表
179
+
180
+ ### 覆盖率匹配引擎说明
181
+
182
+ 脚本使用多层正则匹配策略:
183
+
184
+ | 匹配策略 | 适用场景 | 示例 |
185
+ |----------|----------|------|
186
+ | 静态方法匹配 | `ClassName.methodName(` | `FlutterBluePlus.setLogLevel(` |
187
+ | 构造函数匹配 | `ClassName(` 或 `ClassName.named(` | `BluetoothDevice.fromId(` |
188
+ | 枚举值匹配 | `ClassName.valueName` | `BluetoothState.on` |
189
+ | 实例变量追踪 | `varName.methodName(` | `device.connect(` |
190
+ | 链式调用匹配 | `ClassName().methodName(` | `Guid().toMac()` |
191
+ | 字段直接引用 | `\bfieldName\b` | `isConnected` |
192
+ | 命名参数兜底 | `propertyName:` | `timeout: Duration(...)` |
193
+ | aliased import 兜底 | `alias.ClassName.methodName(` | `fb.FlutterBluePlus.startScan(` |
194
+
195
+ ---
196
+
197
+ ## 3. flutter-analyze-demo-coverage.cjs
198
+
199
+ ### 功能
200
+
201
+ 分析 **Demo 示例** 对 Flutter 库 Dart 公开接口的覆盖程度。扫描 `example/lib/` 目录的 `.dart` 文件。
202
+
203
+ ### 用法
204
+
205
+ ```bash
206
+ # 方式一:使用已有 spec
207
+ node "{{skillDir}}/../../../MCP/scripts/flutter-analyze-demo-coverage.cjs" --spec <outputDir>/interface-spec.json --libroot <库源码目录> --output <outputDir>/02-Demo覆盖率报告.md
208
+
209
+ # 方式二:直接从源码提取
210
+ node "{{skillDir}}/../../../MCP/scripts/flutter-analyze-demo-coverage.cjs" --libroot <库源码目录> --output <outputDir>/02-Demo覆盖率报告.md
211
+ ```
212
+
213
+ ### 参数
214
+
215
+ 与 `flutter-analyze-xts-coverage.cjs` 相同,区别在于:
216
+ - Demo 源码目录默认取 `<libroot>/example/lib`(而非 test/)
217
+ - 输出文件名默认 `02-xxx-Demo覆盖率报告.md`
218
+
219
+ ### Demo 源码目录定位策略
220
+
221
+ 脚本按以下优先级查找 Demo 目录:
222
+ 1. `<mainPkgDir>/example/lib`
223
+ 2. `<mainPkgDir>/examples/lib`
224
+ 3. `<mainPkgDir>/demo/lib`
225
+ 4. `<libRoot>/example/lib`
226
+
227
+ ---
228
+
229
+ ## 推荐工作流
230
+
231
+ ```
232
+ Step 1: 提取接口规格
233
+ node "{{skillDir}}/../../../MCP/scripts/flutter-extract-interfaces.cjs" \
234
+ --repoDir {outputDir}/source \
235
+ --output {outputDir}/interface-spec.json
236
+
237
+ Step 2: 分析 XTS 测试覆盖率
238
+ node "{{skillDir}}/../../../MCP/scripts/flutter-analyze-xts-coverage.cjs" \
239
+ --spec {outputDir}/interface-spec.json \
240
+ --libroot {outputDir}/source \
241
+ --output {outputDir}/03-XTS覆盖率报告.md
242
+
243
+ Step 3: 分析 Demo 覆盖率
244
+ node "{{skillDir}}/../../../MCP/scripts/flutter-analyze-demo-coverage.cjs" \
245
+ --spec {outputDir}/interface-spec.json \
246
+ --libroot {outputDir}/source \
247
+ --output {outputDir}/02-Demo覆盖率报告.md
248
+
249
+ Step 4: 读取三份报告,结合评分规则生成最终检视报告
250
+ ```
251
+
252
+ > **效率提示**:Step 1 提取的 `interface-spec.json` 可被 Step 2 和 Step 3 共享,避免重复提取接口。若不关心中间 JSON,Step 2/3 也可直接使用 `--libroot` 参数一步到位。
253
+
254
+ ---
255
+
256
+ ## 常见问题
257
+
258
+ ### Q: 脚本报错 "无法定位入口文件"
259
+
260
+ **原因**:`lib/` 目录下没有 `<packageName>.dart` 入口文件。
261
+
262
+ **解决**:检查 `pubspec.yaml` 中的 `name` 字段,确保 `lib/{name}.dart` 存在。脚本也支持 `lib/main.dart` 和 `lib/index.dart` 作为 fallback。
263
+
264
+ ### Q: 覆盖率偏低,但实际有测试
265
+
266
+ **原因**:正则匹配可能遗漏某些调用模式。
267
+
268
+ **解决**:
269
+ 1. 检查测试文件是否 `import 'package:xxx/...'` 导入了被测库
270
+ 2. 检查实例变量是否通过类型注解声明(脚本依赖类型注解追踪实例变量)
271
+ 3. 检查是否有 aliased import(`import ... as alias`)
272
+
273
+ ### Q: monorepo 库的子包接口未提取
274
+
275
+ **原因**:脚本默认只提取主包的 export 链可达文件。
276
+
277
+ **解决**:确保子包通过 `export 'package:sub_pkg/...'` 被主包导出。脚本支持跨包 export 追踪。
278
+
279
+ ### Q: 排除的接口类型(constant/enumValue/constructor)
280
+
281
+ 脚本在计算覆盖率时排除以下类型:
282
+ - **constant**:`const`/`final` 常量,只读值无业务逻辑
283
+ - **enumValue**:枚举常量
284
+ - **constructor**:实例化入口,Demo/测试中常通过间接方式获得对象
285
+
286
+ 这些类型在报告中仍会列出(标注"不计入覆盖率"),但不参与覆盖率百分比计算。
@@ -0,0 +1,383 @@
1
+ ---
2
+ name: knowledge-import
3
+ description: 将积累的知识经验导入到知识库和SKILL系统中,实现系统的自我迭代。调用MCP知识库工具新增知识条目,并定位关联的SKILL进行优化修改;问题案例类经验路由到 rn-library-issue-generalizer 泛化为检视规则入库(BadCase/rn)。当需要将某条已沉淀的经验知识正式导入到MCP知识库和SKILL体系时使用此技能。
4
+ license: Apache-2.0
5
+ compatibility: 需要MCP Gateway运行中(kb_add_document 工具 + kb-server 下游工具),需要文件读写权限到Server/Skills目录和经验文档路径。通过opencode CLI调用执行。
6
+ metadata:
7
+ author: LoopEngine
8
+ version: "1.1.0"
9
+ category: meta-skill
10
+ invoked-by: KnowledgeImportController.importKnowledge
11
+ consumed-by: 系统自我迭代流程
12
+ ---
13
+
14
+ # 知识导入技能
15
+
16
+ 本技能用于将积累的知识经验正式导入到知识库系统和SKILL体系中,实现系统的自我迭代能力。它会读取经验文档,分析其内容类型,分别导入到知识库(MCP)和关联的SKILL(优化修改)。
17
+
18
+ > ⚠️ **核心原则**:
19
+ > 1. 导入前必须充分理解经验内容,知识类经验导入知识库,SKILL类经验优化对应SKILL。两类导入不可混淆,不可遗漏。
20
+ > 2. **SKILL修改必须审慎**:仅当经验内容**显式提及**某SKILL的执行流程问题时才进行修改。禁止基于主题相关性或语义推断来修改SKILL——主题相关不等于流程缺陷。
21
+ > 3. **知识库内容必须结构化整理**:禁止原封不动传入原始经验文档,必须按"问题现象/解决方案/结果"格式重新整合后导入。
22
+
23
+ ---
24
+
25
+ ## 任务参数
26
+
27
+ | 参数 | 类型 | 必填 | 说明 |
28
+ |------|------|------|------|
29
+ | `knowledgeId` | string | ✅ | 知识条目ID(kn_xxx),通过知识系统查询获取 |
30
+ | `docPath` | string | ✅ | 经验文档(.md)的绝对路径 |
31
+ | `skillDir` | string | ❌ | 关联的SKILL目录路径(知识条目中记录,可能为null) |
32
+ | `taskDescription` | string | ❌ | 来源任务描述(用于辅助内容分类) |
33
+ | `workDir` | string | ✅ | 工作目录(由调用方指定) |
34
+ | `resultFilePath` | string | ✅ | 结果文件输出路径(由调用方指定) |
35
+
36
+ ---
37
+
38
+ ## 输入依赖
39
+
40
+ - **前置 SKILL**:无。可独立调用。
41
+ - **输入文件**:经验文档(docPath 指向的 .md 文件)。
42
+ - **下游依赖**:MCP Gateway(提供 `kb_add_document` 和 `kb-server_*` 知识库工具)。
43
+
44
+ ---
45
+
46
+ ## 工作流程概览
47
+
48
+ ```
49
+ Phase 1: 读取并分析经验文档
50
+
51
+ Phase 2: 内容分类(知识类 / SKILL类 / 问题案例类)
52
+
53
+ Phase 3: 知识类导入 → 调用 MCP 知识库
54
+
55
+ Phase 4: SKILL类导入 → 定位并优化对应 SKILL
56
+
57
+ Phase 4.5: 问题案例类导入 → 调用 rn-library-issue-generalizer 泛化入库
58
+
59
+ Phase 5: 输出导入结果
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Phase 1:读取并分析经验文档
65
+
66
+ ### 1.1 读取经验文档
67
+
68
+ 读取 `docPath` 指向的 .md 文件完整内容。
69
+
70
+ > ⚠️ 文件不存在时,在结果文件中记录错误状态,标记为 `失败`。
71
+
72
+ ### 1.2 提取经验结构
73
+
74
+ 分析经验文档的 Markdown 结构,提取以下要素:
75
+
76
+ | 要素 | 说明 | 示例 |
77
+ |------|------|------|
78
+ | 标题 | 文档主标题 | "搜索 ohpm 仓库 Lottie 动画库的经验沉淀" |
79
+ | 关键发现 | 具体技术发现、API行为、平台差异 | API端点、参数说明、返回格式 |
80
+ | 踩坑记录 | 遇到的具体问题及解决方案 | 限流问题、搜索语法陷阱 |
81
+ | 可复用建议 | 面向未来同类任务的推荐策略 | 搜索策略推荐、注意事项 |
82
+
83
+ ### 1.3 提取元信息
84
+
85
+ 从任务参数中获取辅助信息:
86
+ - `taskDescription` — 原始任务描述,用于理解经验产生的上下文
87
+ - `skillDir` — 知识条目中记录的关联SKILL目录(可能为null,表示经验产生时未匹配到SKILL)
88
+
89
+ ---
90
+
91
+ ## Phase 2:内容分类
92
+
93
+ ### 2.1 分类标准
94
+
95
+ 将经验文档中的内容分为三类:
96
+
97
+ | 类别 | 判断标准 | 导入目标 |
98
+ |------|----------|----------|
99
+ | **知识类** | 通用的技术发现、API行为、平台差异、最佳实践、踩坑记录等可被检索复用的知识 | MCP 知识库 |
100
+ | **SKILL类** | 经验内容**显式提及**某SKILL的执行流程存在缺陷、遗漏或可优化(如"XX步骤应增加YY检查"、"SKILL缺少ZZ步骤") | 对应 SKILL 文件 |
101
+ | **问题案例类** | 经验内容包含**具体库的具体问题**:问题现象 + 根因 + 修复方式(含修复 PR/commit 链接),且问题模式可能复现于其他库 | `rn-library-issue-generalizer` 泛化入库(BadCase/rn) |
102
+
103
+ > ⚠️ **问题案例类判断标准**(需同时满足):
104
+ > 1. **具体库**:明确提及某个三方库名称(如 react-native-webview)
105
+ > 2. **具体问题**:描述了可复现的问题现象(非泛泛的最佳实践)
106
+ > 3. **有修复证据**:包含修复 PR/commit 链接,或文档中有明确的错误代码→正确代码对照
107
+ >
108
+ > **路由规则**:命中问题案例类的内容**不进 MCP 知识库**,改由 `rn-library-issue-generalizer` SKILL 泛化为机制层规则写入 `BadCase/rn/`(draft 状态,人工审核后激活)。泛化调用参数:`issueList` = `[{"description": "问题现象", "prUrl": "修复PR链接"}]`,`knowledgeDir` = `BadCase/rn` 绝对路径。
109
+ > 一条经验可同时含多类内容:案例部分走泛化,其余走知识类/SKILL类原有路径。
110
+
111
+ > ⚠️ **SKILL类判断门槛**:内容必须同时满足两个条件才算SKILL类:
112
+ > 1. **显式指向**:经验中明确提及了SKILL名称、步骤名、或具体流程环节(不是仅提及相关技术领域)
113
+ > 2. **流程缺陷**:内容指出该流程环节存在具体问题(遗漏、错误、可改进),而非仅仅是领域知识
114
+ >
115
+ > **反面示例**(以下不算SKILL类):
116
+ > - "Hypium与arkXtest完全独立" — 这是技术知识,未指出任何SKILL的流程问题
117
+ > - "版本标注需同时关注两套体系" — 这是技术建议,未指出SKILL步骤缺陷
118
+ > - "devecocli docs search中文关键词不稳定" — 这是工具踩坑,不是SKILL流程问题
119
+
120
+ ### 2.2 分类方法
121
+
122
+ 逐段分析经验文档内容,判断每段属于知识类还是SKILL类:
123
+
124
+ - **"关键发现"段落** → 通常为知识类(记录技术事实)
125
+ - **"踩坑记录"段落** → 兼具两类:
126
+ - 技术层面的坑(API限制、平台行为)→ 知识类
127
+ - 执行流程层面的坑(**仅当显式指出**"SKILL的XX步骤遗漏了YY")→ SKILL类
128
+ - **"可复用建议"段落** → 兼具两类:
129
+ - 技术策略建议 → 知识类
130
+ - 流程改进建议(**仅当显式表述**"SKILL应增加xxx步骤")→ SKILL类
131
+
132
+ > ⚠️ **默认归属**:当一段内容难以明确判断为SKILL类时,默认归为知识类。宁可多导入知识库,不可误修改SKILL。
133
+
134
+ ### 2.3 确定SKILL关联
135
+
136
+ 如果经验文档中**确实包含SKILL类内容**(通过2.1的严格判断),需要确定关联的SKILL:
137
+
138
+ 1. **优先使用参数中的 `skillDir`** — 知识条目记录的关联SKILL目录
139
+ 2. **若无 skillDir** — 从经验内容中寻找**显式提及**的SKILL名称或步骤:
140
+ - 经验内容直接提到某SKILL的name → 使用该SKILL
141
+ - 经验内容直接提到某SKILL的具体步骤名 → 查找包含该步骤的SKILL
142
+ - **禁止仅凭主题关键词重叠来推断关联**(如经验提到"测试"就关联所有测试类SKILL)
143
+
144
+ > ⚠️ **无显式证据时**:如果经验内容未显式提及任何SKILL名称或步骤名,即使主题与某些SKILL相关,也**不进行SKILL修改**,所有内容归为知识类导入知识库。
145
+
146
+ > 详细SKILL定位方法参见 [SKILL定位指南](references/SKILL_LOCATOR_GUIDE.md)
147
+
148
+ ---
149
+
150
+ ## Phase 3:知识类导入 → 调用 MCP 知识库
151
+
152
+ ### 3.0 MCP 工具可用性检查
153
+
154
+ 在导入前,先确认 MCP Gateway 和 `kb_add_document` 工具可用:
155
+
156
+ 1. 调用 `gateway_health` 检查 Gateway 运行状态
157
+ 2. 调用 `gateway_list_tools` 确认 `kb_add_document` 在工具列表中
158
+
159
+ > ⚠️ 若 `kb_add_document` 不可用(MCP Gateway 未配置或未启动),知识类导入标记为跳过,在结果文件中记录原因。SKILL类导入(如有)继续执行。需提醒用户配置 MCP Gateway 后重新执行。
160
+
161
+ ### 3.1 构建知识库文档(内容结构化整理)
162
+
163
+ **禁止原封不动传入原始经验文档**。必须将知识类内容按以下结构重新整理:
164
+
165
+ ```
166
+ ## {经验条目标题}
167
+
168
+ ### 问题现象
169
+ {描述遇到的具体问题、困惑或错误表现}
170
+
171
+ ### 解决方案
172
+ {描述如何解决该问题,包括具体方法、命令、配置等}
173
+
174
+ ### 结果
175
+ {描述解决后的效果、验证方式或可复用的结论}
176
+ ```
177
+
178
+ **整理规则**:
179
+ - 将原始文档中的"关键发现""踩坑记录""可复用建议"拆解为独立的经验条目
180
+ - 每个条目聚焦一个问题,按"问题现象 → 解决方案 → 结果"三段式重组
181
+ - 去除与问题无直接关联的背景描述,保留可复用的核心信息
182
+ - 多个独立问题拆分为多个条目,用 `---` 分隔
183
+
184
+ **文档ID生成规则**:
185
+ ```
186
+ experiences/{知识总结}
187
+ ```
188
+ 其中 `{知识总结}` 是对该条知识内容的简明概括,用于生成可读的文档文件名。
189
+
190
+ **生成要求**:
191
+ - 从经验内容中提炼核心主题,生成简短的描述性名称
192
+ - 使用中划线(`-`)分隔词语,如 `react-native-track-player-upstream-diff`
193
+ - **禁止使用知识条目ID(`kn_xxx`)作为文档名**
194
+ - 多个条目拆分时,每个条目独立生成各自的文档ID
195
+ - 文档ID中禁止包含空格、特殊字符(仅允许字母、数字、中划线、斜杠)
196
+
197
+ **目录(catalog)选择**:
198
+ - 默认使用 `best-practices` 目录
199
+ - 若经验涉及FAQ类问题 → 使用 `faqs` 目录
200
+ - 若经验涉及API参考 → 使用 `references` 目录
201
+
202
+ ### 3.2 调用 kb_add_document 工具
203
+
204
+ 调用 MCP 工具 `kb_add_document` 将**结构化整理后**的文档添加到本地知识库引擎:
205
+
206
+ ```
207
+ 工具名: kb_add_document
208
+ 参数:
209
+ documentId: "experiences/{知识总结}"
210
+ catalog: "best-practices"
211
+ title: "{概括性的经验标题(非原始文档标题)}"
212
+ content: "{按问题现象/解决方案/结果结构整理后的Markdown}"
213
+ ```
214
+
215
+ ### 3.3 导入验证
216
+
217
+ 导入完成后,调用 `kb_search` 验证文档是否成功入库:
218
+
219
+ ```
220
+ 工具: kb_search
221
+ 参数:
222
+ query: "{经验文档中的关键词}"
223
+ catalog: "best-practices"
224
+ limit: 3
225
+ ```
226
+
227
+ 如果返回结果中包含刚导入的文档,则确认导入成功。
228
+
229
+ ### 3.4 调用 kb-server 知识库(如可用)
230
+
231
+ 如果 MCP Gateway 连接了远程 `kb-server`,同时调用其文档创建工具将知识同步到远程知识库:
232
+
233
+ ```
234
+ 工具名: kb-server_create_entry (或通过 gateway_list_tools 确认实际工具名)
235
+ 参数:
236
+ title: "{经验文档标题}"
237
+ content: "{知识类内容}"
238
+ tags: ["经验沉淀", "{相关技术领域}"]
239
+ source: "knowledge-import"
240
+ ```
241
+
242
+ > ⚠️ 远程知识库工具名需先通过 `gateway_list_tools` 确认,不同配置可能不同。若远程工具不可用或测试阶段只读,仅使用本地 `kb_add_document` 即可。
243
+
244
+ > MCP工具调用方式参见 [MCP工具调用指南](references/MCP_TOOL_USAGE.md)
245
+
246
+ ---
247
+
248
+ ## Phase 4:SKILL类导入 → 定位并优化 SKILL
249
+
250
+ ### 4.1 读取目标SKILL
251
+
252
+ 根据 Phase 2.3 确定的SKILL目录,读取其 `SKILL.md` 文件:
253
+
254
+ 1. 读取 frontmatter(name, description, version 等)
255
+ 2. 读取 body 内容(工作流程、各Phase步骤)
256
+ 3. 检查是否存在 `references/` 目录及其内容
257
+
258
+ ### 4.2 分析优化点
259
+
260
+ 将SKILL类经验内容与现有SKILL body对比,确定需要优化的具体位置:
261
+
262
+ | 优化类型 | 说明 | 修改方式 |
263
+ |----------|------|----------|
264
+ | **步骤补充** | SKILL缺少某个执行步骤 | 在对应Phase中新增步骤说明 |
265
+ | **检查项新增** | SKILL应增加某项检查 | 在对应Phase的检查环节新增检查项 |
266
+ | **注意事项更新** | 发现新的注意事项 | 在对应Phase中添加 `> ⚠️` 提示 |
267
+ | **参数补充** | SKILL缺少某参数说明 | 在任务参数表中新增参数行 |
268
+ | **流程优化** | 现有步骤执行顺序或方式可改进 | 修改对应Phase的步骤描述 |
269
+
270
+ ### 4.3 执行SKILL优化
271
+
272
+ 直接修改目标SKILL的文件:
273
+
274
+ 1. **修改 SKILL.md body** — 在对应Phase中插入优化内容
275
+ 2. **更新 frontmatter version** — 版本号递增(如 1.0.0 → 1.1.0)
276
+ 3. **必要时新增 references 文件** — 若优化内容较详细,拆分到 references/
277
+ 4. **必要时新增 assets 模板** — 若优化引入新的输出模板
278
+
279
+ > ⚠️ SKILL修改必须保持渐进式披露原则:body < 500行,详细内容拆分到 references/。
280
+ > ⚠️ **禁止添加变更记录**:修改SKILL文件时,不得在SKILL.md末尾添加"变更记录"章节。版本递增仅体现在 frontmatter 的 version 字段中。
281
+
282
+ > SKILL优化规范参见 [SKILL优化规范](references/SKILL_OPTIMIZATION_GUIDE.md)
283
+
284
+ ---
285
+
286
+ ## Phase 4.5:问题案例类导入 → 调用泛化 SKILL
287
+
288
+ > Phase 2 判定存在**问题案例类**内容时执行本阶段(无则跳过)。
289
+
290
+ ### 4.5.1 构造泛化输入
291
+
292
+ 从经验文档中提取案例信息,构造 `issueList`:
293
+
294
+ ```json
295
+ [{"description": "【库名】问题现象简述", "prUrl": "https://gitcode.com/owner/repo/pull/123"}]
296
+ ```
297
+
298
+ - `description`:保留库名 + 问题现象(泛化器需要现象层信息做根因分析)
299
+ - `prUrl`:修复 PR 链接;缺失时仍可传入(泛化器降级为仅描述分析)
300
+
301
+ ### 4.5.2 调用 rn-library-issue-generalizer
302
+
303
+ 以子任务方式调用泛化 SKILL,参数:
304
+
305
+ | 参数 | 值 |
306
+ |------|-----|
307
+ | `issueList` | 4.5.1 构造的 JSON 数组 |
308
+ | `knowledgeDir` | `BadCase/rn` 的绝对路径(相对 3rdLibraryLoop 仓库根解析) |
309
+
310
+ ### 4.5.3 记录泛化产出
311
+
312
+ 泛化完成后,从 `BadCase/rn/generalization-log.md` 最新一节读取产出清单(新建规则/挂载案例/修订项),写入结果文件的"问题案例类导入"章节。**不做人工审核动作**(draft → active 由人工完成)。
313
+
314
+ ---
315
+
316
+ ## Phase 5:输出导入结果
317
+
318
+ ### 5.1 写入结果文件
319
+
320
+ 将导入结果写入 `resultFilePath` 指定的文件,格式如下:
321
+
322
+ ```markdown
323
+ # 知识导入结果
324
+
325
+ ## 执行状态
326
+ 成功
327
+
328
+ ## 导入摘要
329
+
330
+ ### 知识类导入
331
+ - 文档ID: experiences/{知识总结}
332
+ - 目录: best-practices
333
+ - 状态: 已导入
334
+ - 工具: kb_add_document
335
+
336
+ ### SKILL类导入
337
+ - 目标SKILL: {skillName}
338
+ - SKILL目录: {skillDir}
339
+ - 版本: {oldVersion} → {newVersion}
340
+ - 优化项:
341
+ 1. {优化项1描述}
342
+ 2. {优化项2描述}
343
+ - 状态: 已优化
344
+
345
+ ### 问题案例类导入
346
+ - 泛化SKILL: rn-library-issue-generalizer
347
+ - 知识库目录: BadCase/rn
348
+ - 输入案例: {description + prUrl 摘要}
349
+ - 产出: 新建规则 {R-XX 列表} / 挂载案例 {KI-XXX → R-XX}(draft 状态,待人工审核)
350
+ - 状态: 已泛化入库
351
+
352
+ ## 详细变更记录
353
+
354
+ ### 知识库变更
355
+ {导入的知识库文档摘要}
356
+
357
+ ### SKILL变更
358
+ {SKILL修改的具体内容diff描述}
359
+ ```
360
+
361
+ ### 5.2 结果文件要求
362
+
363
+ - 必须包含 `## 执行状态` 字段(值为 `成功` 或 `失败`)
364
+ - 失败时在 `## 失败原因` 中记录详细错误信息
365
+ - 成功时在 `## 导入摘要` 和 `## 详细变更记录` 中记录完整导入信息
366
+
367
+ ---
368
+
369
+ ## 异常处理
370
+
371
+ | 异常场景 | 处理方式 |
372
+ |----------|----------|
373
+ | 经验文档不存在 | 结果标记 `失败`,记录路径错误 |
374
+ | MCP Gateway 不可用 | 知识类导入标记跳过,SKILL类导入继续 |
375
+ | kb_add_document 不在工具列表中 | 知识类导入标记跳过,提醒用户配置 MCP Gateway 后重新执行 |
376
+ | kb_add_document 调用失败 | 记录错误,尝试 kb-server 远程工具作为 fallback |
377
+ | 无关联SKILL且无法定位 | SKILL类内容降级为知识类,全部导入知识库 |
378
+ | 经验未显式提及任何SKILL | 不进行SKILL修改,所有内容归为知识类导入知识库 |
379
+ | 问题案例无修复 PR 链接 | 仍可路由泛化(generalizer 支持仅描述分析),结果中标注"材料不足,泛化质量降级" |
380
+ | generalizer 调用失败 | 案例原文降级为知识类导入 MCP 知识库,结果中记录失败原因 |
381
+ | SKILL文件修改失败 | 记录错误,知识类导入结果仍保留 |
382
+ | 无SKILL类内容 | 跳过 Phase 4,仅执行知识类导入 |
383
+ | 无知识类内容 | 跳过 Phase 3,仅执行SKILL类导入 |