@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,226 @@
1
+ # 常见任务拆解模板
2
+
3
+ > 常见任务的步骤图结构骨架,供 task-decomposition SKILL 参考。模板是"图结构骨架",需结合当前任务实际与验收标准适配;模板中括号内的 SKILL 名称仅为示意,实际执行由 SkillSelector 在运行时匹配,不绑定具体技能。
4
+
5
+ ---
6
+
7
+ ## 模板索引
8
+
9
+ > **效率指引**:拆解时先读本索引表匹配领域模板,命中后仅按起始行小范围读取对应模板段落(read_file startLine=起始行, endLine=起始行+45),禁止通读全文。行号为当前文件行号,编辑后可能漂移,漂移时以 `grep '^## 模板'` 重新定位为准。
10
+
11
+ | 模板 | 适用场景(domain / keywords 特征) | 起始行 |
12
+ |------|-----------------------------------|--------|
13
+ | 模板 1 | 库移植分析:源码分析→接口分析→编译验证→问题修复回路→报告 | 70 |
14
+ | 模板 2 | 代码质量检查:代码检查→文档检查→问题修复重试循环 | 88 |
15
+ | 模板 3 | PR 代码检视:获取 PR→分析变更→生成报告(简单线性 3 步) | 103 |
16
+ | 模板 4 | 并行检查:多维度并行检视(fan-out)→汇总报告(fan-in)+修复回路 | 116 |
17
+ | 模板 5 | 鸿蒙 ArkTS 原生库补充 XTS 测试并自动化运行(arkts-library-xts-* SKILL 链) | 135 |
18
+ | 模板 6 | RN 三方库框架升级适配(RNOH 版本升级,rnoh-lib-* SKILL 链,6 步固定骨架) | 157 |
19
+
20
+ ---
21
+
22
+ ## 颗粒度 few-shot 示例
23
+
24
+ > 配合 SKILL.md Phase 2.1「拆解数量基本原则」与「通用拆分规则」使用。
25
+
26
+ **示例 1(过细,错误):**
27
+ ```
28
+ 将"获取源码并分析结构"拆成 4 个原子步骤
29
+ ✗ 步骤: git clone
30
+ 步骤: cd 进入目录
31
+ 步骤: ls 查看文件
32
+ 步骤: cat README
33
+ 改正 → 合并为一步: "获取 libcurl 源码并扫描其结构、依赖与构建系统,输出分析报告"
34
+ ```
35
+
36
+ **示例 2(过粗,错误):**
37
+ ```
38
+ 一步含多个独立产出
39
+ ✗ 步骤: "分析源码、编译验证并生成最终报告"
40
+ 改正 → 拆为三阶段:
41
+ 步骤1: 分析源码结构,输出分析报告
42
+ 步骤2: 鸿蒙化编译验证,输出编译结果
43
+ 步骤3: 汇总生成最终报告
44
+ ```
45
+
46
+ **示例 3(凑数式,错误):**
47
+ ```
48
+ 任务: 定位某库日志模块的实现并说明其用法(estimatedSteps=6)
49
+ ✗ 步骤1: 克隆仓库
50
+ 步骤2: 确认开发环境
51
+ 步骤3: 搜索日志相关文件
52
+ 步骤4: 阅读日志模块代码
53
+ 步骤5: 整理要点
54
+ 步骤6: 校验并输出说明
55
+ 改正 → 1 步: "克隆仓库,定位并分析日志模块实现,输出说明文档"
56
+ (简单任务单一产物,无需中间产物链;estimatedSteps 是参考而非目标)
57
+ ```
58
+
59
+ **示例 4(合理,正确):**
60
+ ```
61
+ 任务: 检视三方库代码质量(estimatedSteps=4)
62
+ ✓ 步骤1: 克隆仓库并准备环境 (dependId=0)
63
+ 步骤2: 代码质量检视 (dependId=1)
64
+ 步骤3: 文档质量检视 (dependId=1,与步骤2并行)
65
+ 步骤4: 汇总检视结果生成报告 (dependId=[2,3], nextStepId=0)
66
+ ```
67
+
68
+ ---
69
+
70
+ ## 模板 1:库移植分析
71
+
72
+ ```
73
+ 步骤1: 源码分析(CPPAnalysisSkill / flutter-code-check)
74
+ → 成功: 步骤2 → 失败: 终止(failStepId=0)
75
+
76
+ 步骤2: 接口分析(HarmonyLibraryInterface / LibraryInterface)
77
+ → 成功: 步骤3 → 失败: 步骤4
78
+
79
+ 步骤3: 编译验证(CPPCompileSkill)
80
+ → 成功: 步骤5(终止) → 失败: 步骤4
81
+
82
+ 步骤4: 问题修复(CPPPortingSkill)
83
+ → 成功: 步骤3(重试编译) → 失败: 步骤5(终止)
84
+
85
+ 步骤5: 生成报告(终止, nextStepId=0)
86
+ ```
87
+
88
+ ## 模板 2:代码质量检查
89
+
90
+ ```
91
+ 步骤1: 代码质量检查(XxxLibraryCodeQualityCheckSkill)
92
+ → 成功: 步骤2 → 失败: 步骤3
93
+
94
+ 步骤2: 文档质量检查(XxxLibraryDocumentationQualityCheckSkill)
95
+ → 成功: 步骤4(终止) → 失败: 步骤3
96
+
97
+ 步骤3: 问题修复(LibraryDocFixSkill)
98
+ → 成功: 步骤1(重试) → 失败: 步骤4(终止)
99
+
100
+ 步骤4: 终止(nextStepId=0)
101
+ ```
102
+
103
+ ## 模板 3:PR 代码检视
104
+
105
+ ```
106
+ 步骤1: 获取 PR 信息并克隆仓库
107
+ → 成功: 步骤2 → 失败: 终止
108
+
109
+ 步骤2: 分析变更文件
110
+ → 成功: 步骤3 → 失败: 终止
111
+
112
+ 步骤3: 生成检视报告
113
+ → 成功: 终止(nextStepId=0) → 失败: 终止(failStepId=0)
114
+ ```
115
+
116
+ ## 模板 4:并行检查
117
+
118
+ ```
119
+ 步骤1: 准备环境
120
+ → 成功: 步骤2 + 步骤3 (并行) → 失败: 终止
121
+
122
+ 步骤2: 代码质量检查 (dependId=1)
123
+ → 成功: 步骤4 → 失败: 步骤5
124
+
125
+ 步骤3: 安全扫描 (dependId=1)
126
+ → 成功: 步骤4 → 失败: 步骤5
127
+
128
+ 步骤4: 汇总报告 (dependId=2,3)
129
+ → 成功: 终止 → 失败: 终止
130
+
131
+ 步骤5: 修复 (dependId=2 或 3)
132
+ → 成功: 步骤2 或 步骤3 (重试) → 失败: 步骤4(终止)
133
+ ```
134
+
135
+ ## 模板 5:鸿蒙ArkTs原生库补充XTS测试用例并自动化运行XTS测试
136
+
137
+ ```
138
+ 步骤1: 克隆仓库并扫描提取源码中对外公开的方法级接口与接口签名。
139
+ → 成功: 步骤2 → 失败: 终止
140
+
141
+ 步骤2: 分析当前源码中已有的XTS测试用例的接口覆盖率,输出markdown覆盖率报告。
142
+ → 成功: 步骤3 → 失败: 终止
143
+
144
+ 步骤3: 为未覆盖的接口生成新的XTS测试用例场景描述,输出markdown场景描述报告。
145
+ → 成功: 步骤4 → 失败: 终止
146
+
147
+ 步骤4: 根据步骤3生成的场景描述报告,生成ArkTs代码,进行XTS测试用例补充。
148
+ → 成功: 步骤5 → 失败: 终止
149
+
150
+ 步骤5: 自动执行XTS测试,输出markdown测试报告。
151
+ → 成功: 终止(nextStepId=0) → 失败: 步骤6
152
+
153
+ 步骤6: 根据步骤5的执行/编译失败报告,修复本次生成的XTS测试代码。
154
+ → 成功: 步骤5(重新执行XTS测试) → 失败: 终止
155
+ ```
156
+
157
+ ## 模板 6:RN 三方库框架升级适配
158
+
159
+ > **适用场景**:将 RN 鸿蒙化三方库从某个 RNOH 版本升级到新版本(如 0.72→0.82、0.82→0.84),涉及版本差异分析、代码适配、测试对齐、设备验证与功能总结。
160
+ >
161
+ > **拆解依据**:此类任务天然对应 4 个执行 SKILL 的 phase(version-diff / code-adapt / test-align / func-test),加上前置克隆和设备验证独立,共 6 步。每步对应一个 SKILL phase 或其关键子集。**设置了 specifiedSkill 的步骤只需描述任务目标与关键参数,技术细节由 SKILL 承载;未设置的步骤仍需写明具体操作。**
162
+ >
163
+ > **关键参数**:必须从任务描述中提取版本号(源版本 + 目标版本 + 框架依赖版本)、分支名(源分支 + 目标分支)、仓库 URL、库名到 `keyParameters`。
164
+
165
+ ```
166
+ 步骤1: 克隆仓库并验证分支与结构 (dependId=0, specifiedSkill: 无)
167
+ 从 git URL 克隆源分支到工作目录;git branch --show-current 确认分支;
168
+ ls 确认 package.json、src/、harmony/ 三部分结构
169
+ → 成功: 步骤2 → 失败: 终止
170
+
171
+ 步骤2: 版本差异分析 (dependId=1, specifiedSkill: rnoh-lib-version-diff)
172
+ 对 {库名} 进行版本差异分析,对比 {源分支} 基线版本与 {目标版本} 的差异,
173
+ 检查 {目标分支} 分支是否存在,输出版本分析报告。
174
+ → 成功: 步骤3 → 失败: 终止
175
+
176
+ 步骤3: 代码适配与编译验证 (dependId=2, specifiedSkill: rnoh-lib-code-adapt)
177
+ 对 {库名} 进行 0.82→0.84 框架升级代码适配与编译验证,输出适配变更清单。
178
+ → 成功: 步骤4 → 失败: 终止
179
+
180
+ 步骤4: 测试对齐与补全 (dependId=3, specifiedSkill: rnoh-lib-test-align)
181
+ 对 {库名} 移植上游测试 demo 并执行测试验证,补充缺失测试用例,输出测试结果。
182
+ → 成功: 步骤5 → 失败: 终止
183
+
184
+ 步骤5: 签名构建与设备运行时验证 (dependId=4, specifiedSkill: 无)
185
+ 确保 build-profile.json5 中 signingConfigs 已配置且非空(p12/cer 证书);
186
+ 构建产出 entry-default-signed.hap(已签名),确认 size > 0;
187
+ 部署到设备,获取 UI 树 JSON grep 搜索库名关键词命中(确认非残留应用);
188
+ 获取 hilog 按 level=F/E 过滤,确认无 Fatal/Error 崩溃日志;
189
+ 输出设备验证记录
190
+ → 成功: 步骤6 → 失败: 终止
191
+
192
+ 步骤6: 功能测试总结 (dependId=5, nextStepId=0, specifiedSkill: rnoh-lib-func-test)
193
+ 基于适配变更清单与设备验证记录,生成功能测试 checklist 与 fix-summary.json,
194
+ 标注高风险场景。
195
+ → 成功: 终止 → 失败: 终止
196
+ ```
197
+
198
+ ### 模板 6 的 AC 覆盖模式
199
+
200
+ | 步骤 | 覆盖的任务级 AC 维度 |
201
+ |------|-------------------|
202
+ | 步骤1 | 仓库克隆 + 分支确认 + 目录结构 |
203
+ | 步骤2 | 版本分析报告(currentVersion、upstreamVersion、diffItems、风险等级、目标分支存在性) |
204
+ | 步骤3 | 不兼容变更处理 + 框架依赖版本 + example file:→npm: + 适配变更清单 + 编译通过 |
205
+ | 步骤4 | 测试结果(jest 通过率 + 覆盖率),支撑设备验证与 fix-summary |
206
+ | 步骤5 | 签名 HAP + signingConfigs + 设备 UI 树 + hilog 无崩溃 |
207
+ | 步骤6 | fix-summary.json 独立文件 + fixItems 三字段 + testResult=pass 可追溯 |
208
+
209
+ ### 模板 6 的 specifiedSkill 映射
210
+
211
+ > 设置了 `specifiedSkill` 的步骤,`taskDescription` 只需描述任务目标与关键参数(版本号/分支名/库名),技术执行细节由 SKILL 承载,绑定关系写入步骤 JSON 的 `specifiedSkill` 字段。无专用 SKILL 的步骤(步骤1、步骤5 为通用操作)仍需写明具体操作步骤。注意:映射中的 SKILL 名以 Phase 1.5 脚本实时返回的可用列表为准。
212
+
213
+ | 步骤 | 步骤职责 | specifiedSkill |
214
+ |------|----------|----------|
215
+ | 步骤1 | 克隆仓库并验证分支与结构 | (无) |
216
+ | 步骤2 | 版本差异分析 | `rnoh-lib-version-diff` |
217
+ | 步骤3 | 代码适配与编译验证 | `rnoh-lib-code-adapt` |
218
+ | 步骤4 | 测试对齐与补全 | `rnoh-lib-test-align` |
219
+ | 步骤5 | 签名构建与设备运行时验证 | (无) |
220
+ | 步骤6 | 功能测试总结 | `rnoh-lib-func-test` |
221
+
222
+ ### 模板 6 的变体
223
+
224
+ - **跨大版本升级**(如 0.72→0.84):步骤结构不变,步骤 2/3 的 `taskDescription` 中标注涉及的版本范围即可,具体不兼容变更由 SKILL 处理
225
+ - **纯 JS 库(无 harmony/ 原生层)**:步骤 3/5 的 `taskDescription` 中标注"纯 JS 库",SKILL 会自动跳过 codegen/harmony 层与设备验证
226
+ - **上游已是最新(类型 B)**:步骤 2 的 `taskDescription` 中标注"上游已最新",SKILL 会自动聚焦框架 API 变更对比
@@ -0,0 +1,263 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @tool list-available-skills
4
+ * @description 扫描 SKILL 根目录,读取各 SKILL.md frontmatter 的 name/description,按黑名单过滤后输出可用执行 SKILL 列表。供 task-decomposition 拆解时进行步骤与 SKILL 的匹配(specifiedSkill 标注),是可用 SKILL 清单的唯一事实源。
5
+ * @param root: string - SKILL 根目录路径(可选,默认为脚本所在 SKILL 的上级目录)
6
+ * @param format: string - 输出格式:compact | list | names | json(可选,默认 list)
7
+ * @param exclude: string - 额外黑名单,逗号分隔的 SKILL name/目录名(可选,与 skill-blacklist.json 合并)
8
+ *
9
+ * list-available-skills.cjs
10
+ *
11
+ * 用法(两种调用方式兼容):
12
+ * node list-available-skills.cjs # 默认根目录,list 格式
13
+ * node list-available-skills.cjs --format compact # 紧凑格式(description 截断 60 字符单行)
14
+ * node list-available-skills.cjs --root /path/to/Skills # 指定 SKILL 根目录
15
+ * node list-available-skills.cjs --format json # JSON 格式输出
16
+ * node list-available-skills.cjs --exclude a,b,c # 追加黑名单
17
+ * node list-available-skills.cjs '{"root":"/path/to/Skills","format":"json"}'
18
+ *
19
+ * 黑名单来源(三者合并生效,匹配 name 或目录名,大小写不敏感):
20
+ * 1. 脚本同目录 skill-blacklist.json(纯数组 或 {"exclude": [...]} 两种格式)
21
+ * 2. --exclude 参数(逗号分隔)
22
+ * 3. 环境变量 SKILL_BLACKLIST(逗号分隔)
23
+ *
24
+ * 输出格式:
25
+ * compact 每行: - {name}({目录名}): {description 截断 60 字符} —— 体积最小,适合 LLM 拆解时内联读取
26
+ * list (默认)每行: - {name}({目录名}): {description} —— 完整描述
27
+ * names 每行一个 name —— 适合快速检索
28
+ * json [{name, dir, description}](pretty JSON) —— 适合程序消费
29
+ *
30
+ * 依赖:仅 Node 内置 fs/path,无第三方依赖。
31
+ */
32
+
33
+ 'use strict';
34
+
35
+ const fs = require('node:fs');
36
+ const path = require('node:path');
37
+
38
+ /** 默认 SKILL 根目录:本脚本位于 {root}/task-decomposition/scripts/ 下 */
39
+ const DEFAULT_ROOT = path.resolve(__dirname, '..', '..');
40
+
41
+ /** 黑名单配置文件(与本脚本同目录) */
42
+ const BLACKLIST_FILE = path.join(__dirname, 'skill-blacklist.json');
43
+
44
+ // ── frontmatter 解析 ──────────────────────────────────────────
45
+
46
+ /**
47
+ * 从 SKILL.md 内容中解析 frontmatter 的指定字段(单行值)。
48
+ *
49
+ * @param {string} md - SKILL.md 文件内容
50
+ * @param {string} field - 字段名(如 name / description)
51
+ * @returns {string|null} 字段值(去引号/去首尾空白);无 frontmatter 或无该字段时 null
52
+ */
53
+ function parseFrontmatterField(md, field) {
54
+ const fmMatch = md.match(/^---\r?\n([\s\S]*?)\r?\n---/);
55
+ if (!fmMatch) return null;
56
+ const fieldMatch = fmMatch[1].match(new RegExp(`^${field}:\\s*(.+)$`, 'm'));
57
+ if (!fieldMatch) return null;
58
+ return fieldMatch[1].trim().replace(/^['"]|['"]$/g, '');
59
+ }
60
+
61
+ /**
62
+ * 解析单个 SKILL 目录的元信息。
63
+ *
64
+ * @param {string} skillDir - SKILL 目录路径
65
+ * @returns {{name: string, dir: string, description: string}|null} 元信息;无 SKILL.md 或 name/description 均缺失时 null
66
+ */
67
+ function parseSkillMeta(skillDir) {
68
+ const mdPath = path.join(skillDir, 'SKILL.md');
69
+ let md;
70
+ try {
71
+ md = fs.readFileSync(mdPath, 'utf-8');
72
+ } catch {
73
+ return null; // 无 SKILL.md,不是合法 SKILL 目录
74
+ }
75
+ const dir = path.basename(skillDir);
76
+ const name = parseFrontmatterField(md, 'name') || dir;
77
+ const description = parseFrontmatterField(md, 'description') || '';
78
+ return { name, dir, description };
79
+ }
80
+
81
+ // ── 黑名单 ────────────────────────────────────────────────────
82
+
83
+ /**
84
+ * 读取黑名单配置文件(skill-blacklist.json)。
85
+ * 支持两种格式:纯数组 ["a","b"] 或 {"exclude": ["a","b"]}。
86
+ * 文件不存在或格式非法时返回空数组(静默降级,不影响扫描)。
87
+ *
88
+ * @returns {string[]}
89
+ */
90
+ function loadBlacklistFile() {
91
+ try {
92
+ const raw = fs.readFileSync(BLACKLIST_FILE, 'utf-8');
93
+ const parsed = JSON.parse(raw);
94
+ const list = Array.isArray(parsed) ? parsed : (Array.isArray(parsed.exclude) ? parsed.exclude : []);
95
+ return list.filter(x => typeof x === 'string' && x.trim());
96
+ } catch {
97
+ return [];
98
+ }
99
+ }
100
+
101
+ /**
102
+ * 规整黑名单条目:去空白、转小写、去重、剔除空项。
103
+ *
104
+ * @param {string[]} list
105
+ * @returns {string[]}
106
+ */
107
+ function normalizeExcludeList(list) {
108
+ const set = new Set();
109
+ for (const item of list) {
110
+ if (typeof item !== 'string') continue;
111
+ const v = item.trim().toLowerCase();
112
+ if (v) set.add(v);
113
+ }
114
+ return [...set];
115
+ }
116
+
117
+ /**
118
+ * 汇总全部黑名单来源:配置文件 + --exclude 参数 + 环境变量 SKILL_BLACKLIST。
119
+ *
120
+ * @param {string[]} extraExclude - 额外黑名单条目
121
+ * @returns {Set<string>} 小写黑名单集合
122
+ */
123
+ function buildBlacklist(extraExclude = []) {
124
+ const envList = (process.env.SKILL_BLACKLIST || '')
125
+ .split(',')
126
+ .map(s => s.trim())
127
+ .filter(Boolean);
128
+ return new Set(normalizeExcludeList([...loadBlacklistFile(), ...extraExclude, ...envList]));
129
+ }
130
+
131
+ // ── 扫描 ──────────────────────────────────────────────────────
132
+
133
+ /**
134
+ * 扫描 SKILL 根目录,返回过滤黑名单后的可用 SKILL 列表(按 name 排序)。
135
+ *
136
+ * 规则:
137
+ * - 只扫描根目录下一级子目录(跳过隐藏目录)
138
+ * - 子目录必须包含 SKILL.md 且 frontmatter/目录名可提供 name
139
+ * - 黑名单按 name 或目录名匹配(大小写不敏感)
140
+ *
141
+ * @param {string} root - SKILL 根目录路径
142
+ * @param {string[]} extraExclude - 额外黑名单条目(name 或目录名)
143
+ * @returns {{name: string, dir: string, description: string}[]} 可用 SKILL 列表
144
+ */
145
+ function scanSkills(root, extraExclude = []) {
146
+ const blacklist = buildBlacklist(extraExclude);
147
+
148
+ let entries;
149
+ try {
150
+ entries = fs.readdirSync(root || DEFAULT_ROOT, { withFileTypes: true });
151
+ } catch (err) {
152
+ console.error(`Error: 无法读取 SKILL 根目录 ${root || DEFAULT_ROOT}: ${err.message}`);
153
+ process.exit(1);
154
+ }
155
+
156
+ const skills = [];
157
+ for (const entry of entries) {
158
+ if (!entry.isDirectory() || entry.name.startsWith('.')) continue;
159
+ const meta = parseSkillMeta(path.join(root || DEFAULT_ROOT, entry.name));
160
+ if (!meta) continue;
161
+ if (blacklist.has(meta.name.toLowerCase()) || blacklist.has(meta.dir.toLowerCase())) continue;
162
+ skills.push(meta);
163
+ }
164
+
165
+ skills.sort((a, b) => a.name.localeCompare(b.name));
166
+ return skills;
167
+ }
168
+
169
+ // ── 输出格式化 ────────────────────────────────────────────────
170
+
171
+ /**
172
+ * 压缩为单行并截断到指定长度(超长以 … 结尾),用于 compact 输出。
173
+ *
174
+ * @param {string} text - 原始文本(可能含换行/连续空白)
175
+ * @param {number} maxLen - 最大字符数
176
+ * @returns {string}
177
+ */
178
+ function truncateText(text, maxLen) {
179
+ const oneLine = String(text || '').replace(/\s+/g, ' ').trim();
180
+ return oneLine.length > maxLen ? oneLine.slice(0, maxLen) + '…' : oneLine;
181
+ }
182
+
183
+ /**
184
+ * 按指定格式输出 SKILL 列表文本。
185
+ *
186
+ * @param {{name: string, dir: string, description: string}[]} skills
187
+ * @param {string} format - compact | list | names | json
188
+ * @returns {string}
189
+ */
190
+ function formatSkills(skills, format) {
191
+ switch (format) {
192
+ case 'json':
193
+ return JSON.stringify(skills, null, 2);
194
+ case 'names':
195
+ return skills.map(s => s.name).join('\n');
196
+ case 'compact':
197
+ return skills.map(s => `- ${s.name}(${s.dir}): ${truncateText(s.description, 60)}`).join('\n');
198
+ case 'list':
199
+ default:
200
+ return skills.map(s => `- ${s.name}(${s.dir}): ${s.description}`).join('\n');
201
+ }
202
+ }
203
+
204
+ // ── CLI 入口 ──────────────────────────────────────────────────
205
+
206
+ /**
207
+ * 解析 CLI 参数(兼容 flag 形式与 JSON 字符串形式)。
208
+ *
209
+ * @param {string[]} argv
210
+ * @returns {{root: string, format: string, exclude: string[]}}
211
+ */
212
+ function parseArgs(argv) {
213
+ const args = { root: '', format: 'list', exclude: [] };
214
+
215
+ // JSON 字符串形式:{"root": "...", "format": "json", "exclude": ["a","b"]}
216
+ if (argv.length > 0 && typeof argv[0] === 'string' && argv[0].startsWith('{')) {
217
+ try {
218
+ const parsed = JSON.parse(argv[0]);
219
+ if (parsed.root) args.root = String(parsed.root);
220
+ if (parsed.format) args.format = String(parsed.format);
221
+ if (Array.isArray(parsed.exclude)) args.exclude = parsed.exclude.map(String);
222
+ return args;
223
+ } catch {
224
+ // 解析失败则按 flag 形式继续
225
+ }
226
+ }
227
+
228
+ // flag 形式:--root <path> | --format <compact|list|names|json> | --exclude a,b,c
229
+ for (let i = 0; i < argv.length; i++) {
230
+ const arg = argv[i];
231
+ if (arg === '--root' && argv[i + 1]) {
232
+ args.root = argv[i + 1];
233
+ i++;
234
+ } else if (arg === '--format' && argv[i + 1]) {
235
+ args.format = argv[i + 1];
236
+ i++;
237
+ } else if (arg === '--exclude' && argv[i + 1]) {
238
+ args.exclude.push(...argv[i + 1].split(',').map(s => s.trim()).filter(Boolean));
239
+ i++;
240
+ }
241
+ }
242
+ return args;
243
+ }
244
+
245
+ function main() {
246
+ const { root, format, exclude } = parseArgs(process.argv.slice(2));
247
+
248
+ if (!['compact', 'list', 'names', 'json'].includes(format)) {
249
+ console.error(`Error: 未知 format "${format}"(支持: compact | list | names | json)`);
250
+ process.exit(1);
251
+ }
252
+
253
+ const skills = scanSkills(root || DEFAULT_ROOT, exclude);
254
+ const output = formatSkills(skills, format);
255
+ if (output) console.log(output);
256
+ }
257
+
258
+ // 作为脚本直接执行时运行 CLI;被 require 时仅导出函数(供 validate-specified-skills.cjs 复用)
259
+ if (require.main === module) {
260
+ main();
261
+ }
262
+
263
+ module.exports = { scanSkills, parseSkillMeta, loadBlacklistFile, buildBlacklist, formatSkills, DEFAULT_ROOT };
@@ -0,0 +1,29 @@
1
+ {
2
+ "_comment": "可用 SKILL 扫描黑名单(list-available-skills.cjs 使用)。列于此的 SKILL(按 name 或目录名匹配,大小写不敏感)不会出现在可用 SKILL 列表中。默认排除两类:(1) 编排层/元技能——它们由 Brain/LoopEngine 按固定链路调用,不应作为步骤执行 SKILL 被 specifiedSkill 引用;(2) 仓库检视专用 SKILL——它们由 Web 前端固定编排(arktslibrarycheck.js / flutterlibrarycheck.js / rnlibrarycheck.js)通过 specifiedSkill 直接指定,不应出现在通用拆解的可用列表中。",
3
+ "exclude": [
4
+ "task-analysis",
5
+ "task-decomposition",
6
+ "acceptance-check",
7
+ "skill-generator",
8
+ "knowledge-import",
9
+ "rn-library-issue-generalizer",
10
+ "arkts-library-interface-spec",
11
+ "arkts-library-stability-check",
12
+ "arkts-library-memory-leak-check",
13
+ "arkts-library-documentation-quality-check",
14
+ "arkts-library-test-coverage-check",
15
+ "flutter-interface",
16
+ "flutter-library-stability-check",
17
+ "flutter-library-consistency-check",
18
+ "flutter-library-memory-leak-check",
19
+ "flutter-library-documentation-quality-check",
20
+ "flutter-library-test-coverage-check",
21
+ "rn-library-interface-analyzer",
22
+ "rn-library-stability-check",
23
+ "rn-library-consistency-check",
24
+ "rn-library-memory-leak-check",
25
+ "rn-library-documentation-quality-check",
26
+ "rn-library-test-coverage-check",
27
+ "rn-library-known-issue-check"
28
+ ]
29
+ }