@sokeai/cli 1.0.76 → 1.0.78

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 (314) hide show
  1. package/README.md +7 -7
  2. package/package.json +1 -1
  3. package/scripts/build-binaries.sh +1 -1
  4. package/scripts/e2e-test.sh +75 -3
  5. package/scripts/install.js +2 -2
  6. package/scripts/local-test.js +1 -1
  7. package/scripts/test-auto-detect.js +20 -3
  8. package/skills/README.md +25 -174
  9. package/skills/SKILL.md +17 -222
  10. package/skills/mono/README.md +10 -0
  11. package/skills/mono/SKILL.md +223 -0
  12. package/skills/{soke-course/soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md → mono/references/installation.md} +0 -3
  13. package/skills/mono/references/modules/soke-ai-coach-director/CHANGELOG.md +203 -0
  14. package/skills/mono/references/modules/soke-ai-coach-director/MODULE.md +221 -0
  15. package/skills/mono/references/modules/soke-ai-coach-director/README.md +121 -0
  16. package/skills/mono/references/modules/soke-ai-coach-director/coaching/knowledge-packager/knowledge-packager.md +91 -0
  17. package/skills/mono/references/modules/soke-ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +97 -0
  18. package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part3-flow.md +3 -3
  19. package/skills/mono/references/modules/soke-ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +76 -0
  20. package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-optimizer/prompt-optimizer.md +77 -58
  21. package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/workbuddy.md +2 -3
  22. package/skills/mono/references/modules/soke-ai-coach-director/platform/interaction.md +103 -0
  23. package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/publish-gate.md +3 -3
  24. package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/resource-finalizer.md +10 -35
  25. package/skills/mono/references/modules/soke-ai-coach-director/platform/soke-ai-training/soke-ai-training.md +123 -0
  26. package/skills/mono/references/modules/soke-ai-coach-director/platform/sync-engine.md +39 -0
  27. package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/change-log-partwise-refactor.md +1 -1
  28. package/skills/mono/references/modules/soke-ai-coach-director/references/env-check.md +146 -0
  29. package/skills/mono/references/modules/soke-ai-coach-director/references/exec-common.md +126 -0
  30. package/skills/mono/references/modules/soke-ai-coach-director/references/exec-handbook.md +621 -0
  31. package/skills/mono/references/modules/soke-ai-coach-director/references/exec-part1.md +86 -0
  32. package/skills/mono/references/modules/soke-ai-coach-director/references/exec-part2.md +145 -0
  33. package/skills/mono/references/modules/soke-ai-coach-director/references/exec-part3.md +91 -0
  34. package/skills/mono/references/modules/soke-ai-coach-director/references/exec-part4.md +187 -0
  35. package/skills/mono/references/modules/soke-ai-coach-director/references/gate-check-matrix.md +46 -0
  36. package/skills/mono/references/modules/soke-ai-coach-director/references/micro-tune-labels.md +30 -0
  37. package/skills/mono/references/modules/soke-ai-coach-director/references/platform-api-pitfalls.md +49 -0
  38. package/skills/mono/references/modules/soke-ai-coach-director/references/role-resource-matching.md +45 -0
  39. package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/self-improvement-examples.md +2 -0
  40. package/skills/mono/references/modules/soke-ai-coach-director/references/self-learning-engine.md +485 -0
  41. package/skills/mono/references/modules/soke-ai-coach-director/references/subs/part1/SOP.md +17 -0
  42. package/skills/mono/references/modules/soke-ai-coach-director/references/subs/part2/SOP.md +34 -0
  43. package/skills/mono/references/modules/soke-ai-coach-director/references/subs/part3/SOP.md +27 -0
  44. package/skills/mono/references/modules/soke-ai-coach-director/references/subs/part4/SOP.md +31 -0
  45. package/skills/mono/references/modules/soke-ai-coach-director/references/subs/publish/SOP.md +81 -0
  46. package/skills/mono/references/modules/soke-ai-coach-director/references/subs/tune/SOP.md +92 -0
  47. package/skills/mono/references/modules/soke-ai-coach-director/references/verified-cli-cheatsheet.md +56 -0
  48. package/skills/mono/references/modules/soke-ai-coach-director/scripts/gate_check.py +112 -0
  49. package/skills/mono/references/modules/soke-ai-coach-director/scripts/validate_operations.py +403 -0
  50. package/skills/{soke-ai-training/SKILL.md → mono/references/modules/soke-ai-training/MODULE.md} +1 -1
  51. package/skills/mono/references/modules/soke-assign/README.md +308 -0
  52. package/skills/mono/references/modules/soke-certificate/MODULE.md +717 -0
  53. package/skills/mono/references/modules/soke-course/MODULE.md +402 -0
  54. package/skills/mono/references/modules/soke-course/README.md +291 -0
  55. package/skills/{soke-course → mono/references/modules/soke-course}/references/course-list-courses.md +49 -84
  56. package/skills/{soke-course → mono/references/modules/soke-course}/references/examples.md +3 -3
  57. package/skills/{soke-course → mono/references/modules/soke-course}/references/intent-cases.md +2 -2
  58. package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-full-workflow.md +4 -2
  59. package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/publish/SOP.md +21 -3
  60. package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/query/SOP.md +9 -7
  61. package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/settings/SOP.md +2 -1
  62. package/skills/{soke-exam/SKILL.md → mono/references/modules/soke-exam/MODULE.md} +1 -1
  63. package/skills/mono/references/modules/soke-exam-question-pool/MODULE.md +123 -0
  64. package/skills/{soke-learning-map/SKILL.md → mono/references/modules/soke-learning-map/MODULE.md} +5 -6
  65. package/skills/{soke-learning-profile/SKILL.md → mono/references/modules/soke-learning-profile/MODULE.md} +2 -2
  66. package/skills/mono/references/modules/soke-lesson/README.md +53 -0
  67. package/skills/mono/references/modules/soke-material/README.md +49 -0
  68. package/skills/{soke-photo-gallery/SKILL.md → mono/references/modules/soke-photo-gallery/MODULE.md} +2 -3
  69. package/skills/mono/references/modules/soke-supervisor/MODULE.md +186 -0
  70. package/skills/mono/references/modules/soke-task/MODULE.md +146 -0
  71. package/skills/mono/references/modules/soke-training-demand/MODULE.md +221 -0
  72. package/skills/mono/references/shared/cli-basics.md +185 -0
  73. package/skills/mono/scripts/check_readiness.py +28 -0
  74. package/skills/mono/scripts/gate_check.py +112 -0
  75. package/skills/mono/scripts/validate_operations.py +403 -0
  76. package/skills/multi/README.md +18 -0
  77. package/skills/multi/soke-ai-coach-director/CHANGELOG.md +203 -0
  78. package/skills/multi/soke-ai-coach-director/README.md +121 -0
  79. package/skills/multi/soke-ai-coach-director/SKILL.md +220 -0
  80. package/skills/multi/soke-ai-coach-director/assets/ERRORS-TEMPLATE.md +5 -0
  81. package/skills/multi/soke-ai-coach-director/assets/FEATURE_REQUESTS-TEMPLATE.md +5 -0
  82. package/skills/multi/soke-ai-coach-director/assets/LEARNINGS-TEMPLATE.md +44 -0
  83. package/skills/multi/soke-ai-coach-director/assets/SKILL-TEMPLATE.md +177 -0
  84. package/skills/multi/soke-ai-coach-director/coaching/knowledge-packager/knowledge-packager.md +91 -0
  85. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part1-basic.md +59 -0
  86. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +97 -0
  87. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part3-flow.md +72 -0
  88. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part4-scoring.md +87 -0
  89. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part5-constraints.md +48 -0
  90. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +76 -0
  91. package/skills/multi/soke-ai-coach-director/coaching/prompt-optimizer/prompt-optimizer.md +381 -0
  92. package/skills/multi/soke-ai-coach-director/coaching/role-profiler/role-profiler.md +87 -0
  93. package/skills/multi/soke-ai-coach-director/platform/adapters/README.md +68 -0
  94. package/skills/multi/soke-ai-coach-director/platform/adapters/qclaw.md +67 -0
  95. package/skills/multi/soke-ai-coach-director/platform/adapters/workbuddy.md +44 -0
  96. package/skills/multi/soke-ai-coach-director/platform/adapters/wukong.md +70 -0
  97. package/skills/multi/soke-ai-coach-director/platform/adapters/zework.md +89 -0
  98. package/skills/multi/soke-ai-coach-director/platform/api-fallback.md +262 -0
  99. package/skills/multi/soke-ai-coach-director/platform/interaction.md +103 -0
  100. package/skills/multi/soke-ai-coach-director/platform/publish-gate.md +44 -0
  101. package/skills/multi/soke-ai-coach-director/platform/resource-finalizer.md +103 -0
  102. package/skills/{ai-coach-director → multi/soke-ai-coach-director}/platform/soke-ai-training/soke-ai-training.md +34 -4
  103. package/skills/multi/soke-ai-coach-director/platform/sync-engine.md +39 -0
  104. package/skills/multi/soke-ai-coach-director/references/cases/AI/345/256/242/346/210/267/350/247/222/350/211/262/346/250/241/346/235/277/345/272/223.md +265 -0
  105. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203Bad Case/346/240/267/346/234/254/345/272/223.md" +206 -0
  106. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/345/210/233/345/273/272/351/227/256/351/242/230/345/272/223.md +666 -0
  107. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/345/234/272/346/231/257/345/210/206/347/261/273/345/272/223.md +213 -0
  108. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/345/256/242/346/210/267/346/235/220/346/226/231/346/270/205/345/215/225/344/270/216/350/256/277/350/260/210/351/242/230/345/272/223.md +229 -0
  109. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/345/276/256/350/260/203/351/227/256/351/242/230/345/272/223.md +833 -0
  110. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/346/212/200/346/234/257/350/276/271/347/225/214/344/270/216/346/216/222/351/232/234/345/272/223.md +239 -0
  111. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/346/250/241/345/235/227/345/272/223.md +249 -0
  112. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/346/225/260/346/215/256/346/214/207/346/240/207/344/270/216/347/234/213/346/235/277/345/217/243/345/276/204/345/272/223.md +282 -0
  113. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/346/265/213/350/257/225/347/224/250/344/276/213/345/272/223.md +254 -0
  114. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/350/257/204/345/210/206/346/240/207/345/207/206/347/273/204/344/273/266/345/272/223.md +264 -0
  115. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/351/241/271/347/233/256/346/241/210/344/276/213/345/244/215/347/233/230/345/272/223.md +223 -0
  116. package/skills/multi/soke-ai-coach-director/references/cases/AI/351/241/276/345/256/242/350/247/222/350/211/262/346/250/241/346/213/237_GoodCase_BadCase_20260701.md +304 -0
  117. package/skills/multi/soke-ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/345/256/242/346/210/267/346/235/220/346/226/231/346/261/207/346/200/273_2026-05-19_1341.md +42 -0
  118. package/skills/multi/soke-ai-coach-director/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/347/237/245/350/257/206/345/272/223/347/224/237/346/210/220_20260615.md +23 -0
  119. package/skills/multi/soke-ai-coach-director/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/347/224/237/346/210/220_20260615.md +34 -0
  120. package/skills/multi/soke-ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/351/231/252/347/273/203/346/211/247/350/241/214/346/226/271/346/241/210/344/272/244/344/273/230/350/256/260/345/275/225_20260610.md +26 -0
  121. package/skills/multi/soke-ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/346/217/220/347/244/272/350/257/215/346/220/255/345/273/272_20260622.md +30 -0
  122. package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_V1.2_20260616.md +254 -0
  123. package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/345/216/213/347/274/251/347/211/210_V2.0_20260616.md +96 -0
  124. package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_20260616.md +20 -0
  125. package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277AI/351/231/252/347/273/203/347/263/273/347/273/237_/346/265/213/350/257/225/345/217/215/351/246/210/346/261/207/346/200/273_2026-06-01.md +434 -0
  126. package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/344/277/241/344/273/273/345/200/274/347/246/201/344/273/244_2026-06-09_0932.md +22 -0
  127. package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v2_20260608.md +261 -0
  128. package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v1.2.md +354 -0
  129. package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_V2_/350/257/212/346/226/255/344/272/244/344/273/230_20260609.md +26 -0
  130. package/skills/multi/soke-ai-coach-director/references/cases//345/233/233/345/244/247/345/234/272/346/231/257_GoodCase_BadCase_20260701.md +194 -0
  131. package/skills/multi/soke-ai-coach-director/references/cases//346/241/210/344/276/213/345/272/223/350/241/245/345/205/205_2026-06-24.md +41 -0
  132. package/skills/multi/soke-ai-coach-director/references/change-log-partwise-refactor.md +74 -0
  133. package/skills/multi/soke-ai-coach-director/references/env-check.md +146 -0
  134. package/skills/multi/soke-ai-coach-director/references/exec-common.md +126 -0
  135. package/skills/multi/soke-ai-coach-director/references/exec-handbook.md +621 -0
  136. package/skills/multi/soke-ai-coach-director/references/exec-part1.md +86 -0
  137. package/skills/multi/soke-ai-coach-director/references/exec-part2.md +145 -0
  138. package/skills/multi/soke-ai-coach-director/references/exec-part3.md +91 -0
  139. package/skills/multi/soke-ai-coach-director/references/exec-part4.md +187 -0
  140. package/skills/multi/soke-ai-coach-director/references/gate-check-matrix.md +46 -0
  141. package/skills/{soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md → multi/soke-ai-coach-director/references/installation.md} +0 -3
  142. package/skills/multi/soke-ai-coach-director/references/micro-tune-labels.md +30 -0
  143. package/skills/multi/soke-ai-coach-director/references/platform-api-pitfalls.md +49 -0
  144. package/skills/multi/soke-ai-coach-director/references/role-resource-matching.md +45 -0
  145. package/skills/multi/soke-ai-coach-director/references/self-improvement-examples.md +373 -0
  146. package/skills/multi/soke-ai-coach-director/references/self-learning-engine.md +485 -0
  147. package/skills/multi/soke-ai-coach-director/references/shared.md +185 -0
  148. package/skills/multi/soke-ai-coach-director/references/subs/part1/SOP.md +17 -0
  149. package/skills/multi/soke-ai-coach-director/references/subs/part2/SOP.md +34 -0
  150. package/skills/multi/soke-ai-coach-director/references/subs/part3/SOP.md +27 -0
  151. package/skills/multi/soke-ai-coach-director/references/subs/part4/SOP.md +31 -0
  152. package/skills/multi/soke-ai-coach-director/references/subs/publish/SOP.md +81 -0
  153. package/skills/multi/soke-ai-coach-director/references/subs/tune/SOP.md +92 -0
  154. package/skills/multi/soke-ai-coach-director/references/verified-cli-cheatsheet.md +56 -0
  155. package/skills/multi/soke-ai-coach-director/scripts/gate_check.py +112 -0
  156. package/skills/multi/soke-ai-coach-director/scripts/validate_operations.py +403 -0
  157. package/skills/multi/soke-ai-training/SKILL.md +247 -0
  158. package/skills/{soke-learning-map/soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md → multi/soke-ai-training/references/installation.md} +0 -3
  159. package/skills/multi/soke-ai-training/references/shared.md +185 -0
  160. package/skills/{soke-assign → multi/soke-assign}/README.md +3 -5
  161. package/skills/multi/soke-assign/SKILL.md +101 -0
  162. package/skills/{soke-course/SKILL.md → multi/soke-assign/references/dependencies/soke-course.md} +4 -4
  163. package/skills/multi/soke-assign/references/dependencies/soke-exam.md +600 -0
  164. package/skills/multi/soke-assign/references/installation.md +451 -0
  165. package/skills/multi/soke-assign/references/shared.md +185 -0
  166. package/skills/multi/soke-certificate/SKILL.md +715 -0
  167. package/skills/multi/soke-certificate/references/installation.md +451 -0
  168. package/skills/multi/soke-certificate/references/shared.md +185 -0
  169. package/skills/{soke-course → multi/soke-course}/README.md +11 -9
  170. package/skills/multi/soke-course/SKILL.md +399 -0
  171. package/skills/multi/soke-course/agents/openai.yaml +7 -0
  172. package/skills/multi/soke-course/examples/create-basic.md +70 -0
  173. package/skills/multi/soke-course/references/course-list-courses.md +216 -0
  174. package/skills/multi/soke-course/references/dependencies/soke-assign.md +103 -0
  175. package/skills/multi/soke-course/references/dependencies/soke-lesson.md +119 -0
  176. package/skills/multi/soke-course/references/dependencies/soke-material.md +105 -0
  177. package/skills/multi/soke-course/references/examples.md +480 -0
  178. package/skills/multi/soke-course/references/installation.md +451 -0
  179. package/skills/multi/soke-course/references/intent-cases.md +99 -0
  180. package/skills/multi/soke-course/references/shared.md +185 -0
  181. package/skills/multi/soke-course/references/sop-full-workflow.md +177 -0
  182. package/skills/multi/soke-course/references/sop-lesson-types.md +66 -0
  183. package/skills/multi/soke-course/references/sop-publish-check.md +76 -0
  184. package/skills/multi/soke-course/references/subs/ai/SOP.md +153 -0
  185. package/skills/multi/soke-course/references/subs/category/SOP.md +112 -0
  186. package/skills/multi/soke-course/references/subs/charge/SOP.md +107 -0
  187. package/skills/multi/soke-course/references/subs/copy/SOP.md +80 -0
  188. package/skills/multi/soke-course/references/subs/publish/SOP.md +168 -0
  189. package/skills/multi/soke-course/references/subs/query/SOP.md +165 -0
  190. package/skills/multi/soke-course/references/subs/settings/SOP.md +136 -0
  191. package/skills/multi/soke-course/references/subs/template/SOP.md +223 -0
  192. package/skills/multi/soke-course/references/troubleshoot.md +68 -0
  193. package/skills/multi/soke-course/scripts/check_readiness.py +87 -0
  194. package/skills/multi/soke-exam/SKILL.md +598 -0
  195. package/skills/multi/soke-exam/references/exam-get-exam-user.md +212 -0
  196. package/skills/multi/soke-exam/references/installation.md +451 -0
  197. package/skills/multi/soke-exam/references/shared.md +185 -0
  198. package/skills/{soke-exam-question-pool → multi/soke-exam-question-pool}/SKILL.md +2 -4
  199. package/skills/multi/soke-exam-question-pool/references/installation.md +451 -0
  200. package/skills/multi/soke-exam-question-pool/references/shared.md +185 -0
  201. package/skills/multi/soke-learning-map/SKILL.md +553 -0
  202. package/skills/multi/soke-learning-map/references/dependencies/soke-assign.md +103 -0
  203. package/skills/multi/soke-learning-map/references/dependencies/soke-task.md +146 -0
  204. package/skills/multi/soke-learning-map/references/installation.md +451 -0
  205. package/skills/multi/soke-learning-map/references/shared.md +185 -0
  206. package/skills/multi/soke-learning-profile/SKILL.md +221 -0
  207. package/skills/multi/soke-learning-profile/references/installation.md +451 -0
  208. package/skills/multi/soke-learning-profile/references/shared.md +185 -0
  209. package/skills/multi/soke-lesson/SKILL.md +117 -0
  210. package/skills/multi/soke-lesson/references/installation.md +451 -0
  211. package/skills/multi/soke-lesson/references/shared.md +185 -0
  212. package/skills/multi/soke-material/SKILL.md +103 -0
  213. package/skills/multi/soke-material/references/installation.md +451 -0
  214. package/skills/multi/soke-material/references/shared.md +185 -0
  215. package/skills/multi/soke-photo-gallery/SKILL.md +284 -0
  216. package/skills/multi/soke-photo-gallery/references/installation.md +451 -0
  217. package/skills/multi/soke-photo-gallery/references/shared.md +185 -0
  218. package/skills/multi/soke-shared/SKILL.md +183 -0
  219. package/skills/multi/soke-supervisor/SKILL.md +184 -0
  220. package/skills/multi/soke-supervisor/references/installation.md +451 -0
  221. package/skills/multi/soke-supervisor/references/shared.md +185 -0
  222. package/skills/{soke-task → multi/soke-task}/SKILL.md +31 -11
  223. package/skills/multi/soke-task/references/installation.md +451 -0
  224. package/skills/multi/soke-task/references/shared.md +185 -0
  225. package/skills/{soke-training-demand → multi/soke-training-demand}/SKILL.md +2 -4
  226. package/skills/multi/soke-training-demand/references/installation.md +451 -0
  227. package/skills/multi/soke-training-demand/references/shared.md +185 -0
  228. package/skills/ai-coach-director/SKILL.md +0 -1563
  229. package/skills/ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +0 -317
  230. package/skills/ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +0 -244
  231. package/skills/ai-coach-director/platform/interaction.md +0 -315
  232. package/skills/ai-coach-director/platform/sync-engine.md +0 -1101
  233. package/skills/ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277_/346/240/207/345/207/206/347/237/245/350/257/206/345/272/223.md +0 -199
  234. package/skills/ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277/347/237/245/350/257/206/345/272/223.md +0 -388
  235. package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/tuv-knowledge-base.md +0 -125
  236. package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/tuv-p03-first-call-scenario-prompt.md +0 -428
  237. package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204P03/351/231/252/347/273/203/346/211/247/350/241/214/346/226/271/346/241/210_20260610.md +0 -225
  238. package/skills/ai-coach-director/references/cases/create//346/237/220/345/234/260/346/226/271/351/223/266/350/241/214//346/237/220/345/234/260/346/226/271/351/223/266/350/241/214/345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277AI/351/231/252/347/273/203/346/265/213/350/257/225/347/224/250/344/276/213/345/220/210/351/233/206.md +0 -525
  239. package/skills/ai-coach-director/references/cases/create//347/211/251/346/265/201/350/241/214/344/270/232//347/211/251/346/265/201/350/241/214/344/270/232-/345/210/235/346/254/241/346/213/234/350/256/277/351/246/231/347/262/276/351/246/231/346/226/231/345/256/242/346/210/267.md +0 -146
  240. package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2061_/346/226/260/345/223/201/346/216/250/351/224/200_20260701.md +0 -230
  241. package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2062_/345/202/254/350/217/234/345/256/211/346/212/232_20260701.md +0 -257
  242. package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2063_/345/267/256/350/257/204/345/233/236/350/256/277_20260701.md +0 -259
  243. package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203/345/234/272/346/231/257/346/226/271/346/241/210_20260701.md +0 -452
  244. package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/345/256/242/346/210/267/347/241/256/350/256/244/345/217/215/351/246/210/350/241/250.md +0 -133
  245. package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215_v1.md +0 -333
  246. package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215_v2_Part1-Part5.md +0 -649
  247. package/skills/ai-coach-director/references/env-check.md +0 -167
  248. package/skills/ai-coach-director/references/platform-api-pitfalls.md +0 -232
  249. package/skills/ai-coach-director/references/role-resource-matching.md +0 -349
  250. package/skills/ai-coach-director/references/verified-cli-cheatsheet.md +0 -203
  251. package/skills/ai-coach-director/scripts/activator.sh +0 -4
  252. package/skills/ai-coach-director/scripts/error-detector.sh +0 -4
  253. package/skills/ai-coach-director/scripts/extract-skill.sh +0 -7
  254. package/skills/soke-course/scripts/check_readiness.sh +0 -82
  255. /package/skills/{ai-coach-director → mono}/references/cases/AI/345/256/242/346/210/267/350/247/222/350/211/262/346/250/241/346/235/277/345/272/223.md" +0 -0
  256. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203Bad Case/346/240/267/346/234/254/345/272/223.md" +0 -0
  257. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/345/210/233/345/273/272/351/227/256/351/242/230/345/272/223.md" +0 -0
  258. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/345/234/272/346/231/257/345/210/206/347/261/273/345/272/223.md" +0 -0
  259. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/345/256/242/346/210/267/346/235/220/346/226/231/346/270/205/345/215/225/344/270/216/350/256/277/350/260/210/351/242/230/345/272/223.md" +0 -0
  260. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/345/276/256/350/260/203/351/227/256/351/242/230/345/272/223.md" +0 -0
  261. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/346/212/200/346/234/257/350/276/271/347/225/214/344/270/216/346/216/222/351/232/234/345/272/223.md" +0 -0
  262. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/346/250/241/345/235/227/345/272/223.md" +0 -0
  263. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/346/225/260/346/215/256/346/214/207/346/240/207/344/270/216/347/234/213/346/235/277/345/217/243/345/276/204/345/272/223.md" +0 -0
  264. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/346/265/213/350/257/225/347/224/250/344/276/213/345/272/223.md" +0 -0
  265. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/350/257/204/345/210/206/346/240/207/345/207/206/347/273/204/344/273/266/345/272/223.md" +0 -0
  266. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/351/241/271/347/233/256/346/241/210/344/276/213/345/244/215/347/233/230/345/272/223.md" +0 -0
  267. /package/skills/{ai-coach-director → mono}/references/cases/AI/351/241/276/345/256/242/350/247/222/350/211/262/346/250/241/346/213/237_GoodCase_BadCase_20260701.md" +0 -0
  268. /package/skills/{ai-coach-director → mono}/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/345/256/242/346/210/267/346/235/220/346/226/231/346/261/207/346/200/273_2026-05-19_1341.md" +0 -0
  269. /package/skills/{ai-coach-director → mono}/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/347/237/245/350/257/206/345/272/223/347/224/237/346/210/220_20260615.md" +0 -0
  270. /package/skills/{ai-coach-director → mono}/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/347/224/237/346/210/220_20260615.md" +0 -0
  271. /package/skills/{ai-coach-director → mono}/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/351/231/252/347/273/203/346/211/247/350/241/214/346/226/271/346/241/210/344/272/244/344/273/230/350/256/260/345/275/225_20260610.md" +0 -0
  272. /package/skills/{ai-coach-director → mono}/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/346/217/220/347/244/272/350/257/215/346/220/255/345/273/272_20260622.md" +0 -0
  273. /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_V1.2_20260616.md" +0 -0
  274. /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/345/216/213/347/274/251/347/211/210_V2.0_20260616.md" +0 -0
  275. /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_20260616.md" +0 -0
  276. /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277AI/351/231/252/347/273/203/347/263/273/347/273/237_/346/265/213/350/257/225/345/217/215/351/246/210/346/261/207/346/200/273_2026-06-01.md" +0 -0
  277. /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/344/277/241/344/273/273/345/200/274/347/246/201/344/273/244_2026-06-09_0932.md" +0 -0
  278. /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v2_20260608.md" +0 -0
  279. /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v1.2.md" +0 -0
  280. /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_V2_/350/257/212/346/226/255/344/272/244/344/273/230_20260609.md" +0 -0
  281. /package/skills/{ai-coach-director → mono}/references/cases//345/233/233/345/244/247/345/234/272/346/231/257_GoodCase_BadCase_20260701.md" +0 -0
  282. /package/skills/{ai-coach-director → mono}/references/cases//346/241/210/344/276/213/345/272/223/350/241/245/345/205/205_2026-06-24.md" +0 -0
  283. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/ERRORS-TEMPLATE.md +0 -0
  284. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/FEATURE_REQUESTS-TEMPLATE.md +0 -0
  285. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/LEARNINGS-TEMPLATE.md +0 -0
  286. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/SKILL-TEMPLATE.md +0 -0
  287. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part1-basic.md +0 -0
  288. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part4-scoring.md +0 -0
  289. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part5-constraints.md +0 -0
  290. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/role-profiler/role-profiler.md +0 -0
  291. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/README.md +0 -0
  292. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/qclaw.md +0 -0
  293. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/wukong.md +0 -0
  294. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/zework.md +0 -0
  295. /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/api-fallback.md +0 -0
  296. /package/skills/{soke-assign/SKILL.md → mono/references/modules/soke-assign/MODULE.md} +0 -0
  297. /package/skills/{soke-course → mono/references/modules/soke-course}/agents/openai.yaml +0 -0
  298. /package/skills/{soke-course → mono/references/modules/soke-course}/examples/create-basic.md +0 -0
  299. /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-lesson-types.md +0 -0
  300. /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-publish-check.md +0 -0
  301. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/ai/SOP.md +0 -0
  302. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/category/SOP.md +0 -0
  303. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/charge/SOP.md +0 -0
  304. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/copy/SOP.md +0 -0
  305. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/template/SOP.md +0 -0
  306. /package/skills/{soke-course → mono/references/modules/soke-course}/references/troubleshoot.md +0 -0
  307. /package/skills/{soke-exam → mono/references/modules/soke-exam}/references/exam-get-exam-user.md +0 -0
  308. /package/skills/{soke-lesson/SKILL.md → mono/references/modules/soke-lesson/MODULE.md} +0 -0
  309. /package/skills/{soke-material/SKILL.md → mono/references/modules/soke-material/MODULE.md} +0 -0
  310. /package/skills/{soke-shared/SKILL.md → mono/references/modules/soke-shared/MODULE.md} +0 -0
  311. /package/skills/{ai-coach-director → multi/soke-ai-coach-director}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_V1.1_20260616.md" +0 -0
  312. /package/skills/{ai-coach-director → multi/soke-ai-coach-director}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v1.1.md" +0 -0
  313. /package/skills/{soke-lesson → multi/soke-lesson}/README.md +0 -0
  314. /package/skills/{soke-material → multi/soke-material}/README.md +0 -0
@@ -0,0 +1,186 @@
1
+ ---
2
+ name: soke-supervisor
3
+ summary: 授客 AI 督导模块:督导场景创建、评分标准配置、指派、发布、详情查询和关闭
4
+ version: 1.0.0
5
+ description: "授客 AI 督导模块:通过 soke-cli supervisor 对接督导场景接口,覆盖场景列表、创建草稿、选择评分标准、更新配置、部门/成员查询、创建指派、发布、详情、关闭前检查和关闭。当用户需要创建或维护 AI 督导场景、配置督导评分标准、给用户或部门指派督导任务、发布或关闭督导场景时使用。"
6
+ metadata:
7
+ requires:
8
+ bins: ["soke-cli"]
9
+ cliHelp: "soke-cli supervisor --help"
10
+ ---
11
+
12
+ # AI 督导模块 (supervisor)
13
+
14
+ **CRITICAL — 开始前 MUST 先读取 [`../soke-shared/MODULE.md`](../soke-shared/MODULE.md),其中包含认证、配置、权限处理。**
15
+
16
+ ## 核心概念
17
+
18
+ - **Supervisor Scenario(督导场景)**:AI 督导配置主体,通过 `scenario_id` 标识。
19
+ - **Scoring Criteria(评分标准)**:督导评分模板或自定义评分维度。选择模板后,取 `data.list[].id` 作为 `template_id`,并复用其 `dimensions[]` 组装更新请求。
20
+ - **Assignment(指派)**:将督导场景分配给用户或部门,`type=user` 时目标是 `user_id`,`type=department` 时目标是部门 `id`。
21
+ - **Resource Check(关闭前检查)**:关闭前必须先检查 `resource_type=ai_supervisor`、`resource_id=scenario_id`,仅当 `data.can_operate=true` 才允许关闭。
22
+
23
+ ## 命令总览
24
+
25
+ | 命令 | 说明 |
26
+ |---|---|
27
+ | `soke-cli supervisor +list-scenarios` | 查询督导场景列表 |
28
+ | `soke-cli supervisor +create-scenario` | 创建督导场景草稿 |
29
+ | `soke-cli supervisor +list-scoring-criteria` | 查询评分标准模板 |
30
+ | `soke-cli supervisor +update-scenario` | 更新场景信息并设置评分标准 |
31
+ | `soke-cli supervisor +list-assigns` | 查询场景已有指派 |
32
+ | `soke-cli supervisor +list-department-children` | 查询可指派部门 |
33
+ | `soke-cli supervisor +list-department-members` | 查询部门成员 |
34
+ | `soke-cli supervisor +assign-scenario` | 创建用户/部门指派 |
35
+ | `soke-cli supervisor +publish-scenario` | 发布督导场景 |
36
+ | `soke-cli supervisor +get-scenario` | 查询督导场景详情 |
37
+ | `soke-cli supervisor +check-resource` | 关闭前检查 |
38
+ | `soke-cli supervisor +close-scenario` | 关闭督导场景 |
39
+
40
+ 默认输出格式化后的 `data` JSON;需要关闭缩进时使用 `--pretty=false`,排障时加 `--raw` 查看完整 `{code,status,message,data,request_id}`。
41
+
42
+ ## 推荐创建流程
43
+
44
+ 1. 创建草稿:
45
+
46
+ ```bash
47
+ soke-cli supervisor +create-scenario \
48
+ --name "电话服务质检督导" \
49
+ --description "用于检查客服录音中的关键服务动作" \
50
+ --key-points "开场确认身份;倾听客户诉求;给出清晰处理方案;合规结束" \
51
+ --pretty
52
+ ```
53
+
54
+ 记录返回的 `data.id` 作为 `scenario_id`。
55
+
56
+ 2. 查询评分标准:
57
+
58
+ ```bash
59
+ soke-cli supervisor +list-scoring-criteria --page 1 --page-size 10 --pretty
60
+ ```
61
+
62
+ 选择模板时,保存 `data.list[].id` 和该模板的 `dimensions[]`。
63
+
64
+ 3. 更新场景和评分配置:
65
+
66
+ ```bash
67
+ soke-cli supervisor +update-scenario \
68
+ --scenario-id "<scenario_id>" \
69
+ --name "电话服务质检督导" \
70
+ --description "用于检查客服录音中的关键服务动作" \
71
+ --key-points "开场确认身份;倾听客户诉求;给出清晰处理方案;合规结束" \
72
+ --status 0 \
73
+ --template-id "<template_id>" \
74
+ --template-name "金融贷款评分标准" \
75
+ --template-version "1.0" \
76
+ --criteria-name "电话服务质检评分标准" \
77
+ --criteria-description "电话服务质检评分标准" \
78
+ --criteria-dimension-name "合规表达" \
79
+ --criteria-dimension-description "表达是否合规" \
80
+ --criteria-dimension-weight 100 \
81
+ --criteria-dimension-rule "符合则得分" \
82
+ --criteria-dimension-sort-order 1 \
83
+ --pretty
84
+ ```
85
+
86
+ 4. 指派前查重:
87
+
88
+ ```bash
89
+ soke-cli supervisor +list-assigns \
90
+ --scenario-id "<scenario_id>" \
91
+ --page 1 \
92
+ --page-size 50 \
93
+ --pretty
94
+ ```
95
+
96
+ 检查 `target_id`、`assign_type`、`status`,避免重复指派。
97
+
98
+ 5. 查询部门和成员:
99
+
100
+ ```bash
101
+ soke-cli supervisor +list-department-children --corp-id "<corp_id>" --pretty
102
+
103
+ soke-cli supervisor +list-department-members \
104
+ --department-id "<department_id>" \
105
+ --corp-id "<corp_id>" \
106
+ --page 1 \
107
+ --page-size 50 \
108
+ --pretty
109
+ ```
110
+
111
+ 6. 创建指派:
112
+
113
+ ```bash
114
+ # 指派用户
115
+ soke-cli supervisor +assign-scenario \
116
+ --scenario-id "<scenario_id>" \
117
+ --type user \
118
+ --target-ids "user_id_1,user_id_2" \
119
+ --pretty
120
+
121
+ # 指派部门
122
+ soke-cli supervisor +assign-scenario \
123
+ --scenario-id "<scenario_id>" \
124
+ --type department \
125
+ --target-ids "department_id_1" \
126
+ --pretty
127
+ ```
128
+
129
+ 7. 发布并验收:
130
+
131
+ ```bash
132
+ soke-cli supervisor +publish-scenario --scenario-id "<scenario_id>" --pretty
133
+
134
+ soke-cli supervisor +get-scenario --scenario-id "<scenario_id>" --pretty
135
+ ```
136
+
137
+ 发布后检查 `status`、`status_text`、`scoring_criteria_config`。
138
+
139
+ ## 关闭流程
140
+
141
+ 关闭前必须先检查:
142
+
143
+ ```bash
144
+ soke-cli supervisor +check-resource --scenario-id "<scenario_id>" --pretty
145
+ ```
146
+
147
+ 只有当 `data.can_operate=true` 时才执行:
148
+
149
+ ```bash
150
+ soke-cli supervisor +close-scenario --scenario-id "<scenario_id>" --pretty
151
+ ```
152
+
153
+ 如果 `can_operate=false`,根据 `block_message` 和 `bind_maps` 处理阻塞关系,不要强行关闭。
154
+
155
+ ## JSON 请求文件
156
+
157
+ ### 创建草稿
158
+
159
+ ```json
160
+ {
161
+ "name": "电话服务质检督导",
162
+ "description": "用于检查客服录音中的关键服务动作",
163
+ "key_points": "开场确认身份;倾听客户诉求;给出清晰处理方案;合规结束",
164
+ "status": 0
165
+ }
166
+ ```
167
+
168
+ ### 创建指派
169
+
170
+ ```json
171
+ {
172
+ "scenario_id": "<scenario_id>",
173
+ "assignments": [
174
+ {
175
+ "type": "user",
176
+ "target_ids": ["<user_id>"]
177
+ }
178
+ ]
179
+ }
180
+ ```
181
+
182
+ ## 排错
183
+
184
+ - 查部门成员时无数据:确认 `--corp-id` 与部门所属企业一致,并使用 `+list-department-children` 返回的部门 `id`。
185
+ - 发布后详情无评分配置:重新检查 `+update-scenario` 的 `scoring_criteria_config.criteria_data.dimensions` 是否为空。
186
+ - 关闭被阻塞:先查看 `+check-resource --raw --pretty` 中的 `block_message` 和 `bind_maps`。
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: soke-task
3
+ summary: 授客学堂异步任务管理(创建统计任务/查询任务状态/获取报表文件),支持学习地图和课程学员统计的报表导出与统计生成,通过 soke-cli 操作
4
+ version: 1.1.0
5
+ description: "授客学堂异步任务管理:通过 soke-cli task 创建统计任务、查询任务状态、获取导出文件。支持学习地图学员统计和课程学员统计的报表导出与统计生成。当用户需要生成学习地图或课程学员统计报表、生成统计、查询任务状态或获取文件下载地址时使用。"
6
+ metadata:
7
+ requires:
8
+ bins: ["soke-cli"]
9
+ cliHelp: "soke-cli task --help"
10
+ ---
11
+
12
+ # 异步任务管理 (soke-task)
13
+
14
+ **CRITICAL — 开始前 MUST 先读取 [`../soke-shared/MODULE.md`](../soke-shared/MODULE.md),其中包含认证、配置和权限处理。**
15
+
16
+ ## 核心规则
17
+
18
+ - 任务接口是独立模块,命令统一使用 `soke-cli task ...`,不要使用 `soke-cli learning-map ...` 创建或查询任务。
19
+ - 创建任务后必须保存返回的 `data.id`,再调用 `+get` 查询任务详情。
20
+ - 默认用 `--format json` 获取结构化输出;需要人工快速查看时可省略 format 输出表格。
21
+ - 当前已知任务类型是学习地图学员统计和课程学员统计;`--module` 默认 `learningMapUser`,课程学员统计使用 `--module courseUser`。
22
+ - `--target-id` 是统一目标 ID:`--module learningMapUser` 时会提交为 `学习地图id`,`--module courseUser` 时会提交为 `课程id`。
23
+ - `--departments` 和 `--users` 可传英文逗号分隔 ID 或 JSON 数组;CLI 会转换为接口需要的对象数组。
24
+ - `--action` 默认 `export`,`--type` 默认 `aloneDept`。
25
+ - 查询 `soke-cli task +get --id "TASK-ID"` 后,必须根据创建任务时传入的 `--action` 判断状态字段:`action=export` 看 `data.export_status`,`action=report` 看 `data.status`。
26
+
27
+ ## 命令
28
+
29
+ ### 创建学习地图学员统计任务
30
+
31
+ ```bash
32
+ soke-cli task +create \
33
+ --target-id "MAP-UUID" \
34
+ --learn-type "required" \
35
+ --type "aloneDept" \
36
+ --departments "130110584" \
37
+ --users "1302105847786" \
38
+ --custom-tags "job_number,position" \
39
+ --limit 4500 \
40
+ --format json
41
+ ```
42
+
43
+ ### 创建课程学员统计任务
44
+
45
+ ```bash
46
+ soke-cli task +create \
47
+ --target-id "COURSE-UUID" \
48
+ --module courseUser \
49
+ --learn-type "required" \
50
+ --type "aloneDept" \
51
+ --departments '[130110584]' \
52
+ --users '[1302105847786]' \
53
+ --limit 4500 \
54
+ --format json
55
+ ```
56
+
57
+ 完整参数:
58
+
59
+ | 参数 | 必填 | 默认值 | 说明 |
60
+ |------|------|--------|------|
61
+ | `--target-id` | 是 | - | 目标 UUID;`learningMapUser` 时作为 `map_id`,`courseUser` 时作为 `course_id` |
62
+ | `--module` | 否 | `learningMapUser` | 任务模块:`learningMapUser` 学习地图学员统计,`courseUser` 课程学员统计 |
63
+ | `--learn-type` | 否 | `required` | 学习类型,如 `required` |
64
+ | `--learn-status` | 否 | 空 | 学习状态筛选:空值表示不限,`learning` 未完成,`finished` 已完成 |
65
+ | `--eligible-status` | 否 | 空 | 达标状态筛选,空值表示不限 |
66
+ | `--limit` | 否 | `4500` | 任务处理上限 |
67
+ | `--action` | 否 | `export` | 操作类型:`export` 生成报表,`report` 生成统计 |
68
+ | `--type` | 否 | `aloneDept` | 部门导出类型:`aloneDept` 单列导出,`manyDept` 部门多列导出 |
69
+ | `--is-leave` | 否 | `0` | 是否离职:`0` 否,`1` 是 |
70
+ | `--taskId` | 否 | 空字符串 | 任务 ID,默认空字符串 |
71
+ | `--departments` | 否 | 空 | 部门 ID 列表,多个 ID 用英文逗号分隔;也可传 JSON 数组 |
72
+ | `--users` | 否 | 空 | 用户 ID 列表,多个 ID 用英文逗号分隔;也可传 JSON 数组 |
73
+ | `--custom-tags` | 否 | 空 | 导出的自定义字段列表,多个字段用英文逗号分隔;也可传 JSON 字符串数组 |
74
+
75
+ 响应关键字段:
76
+
77
+ | 字段 | 说明 |
78
+ |------|------|
79
+ | `data.id` | 任务 ID,查询任务详情时传给 `+get --id` |
80
+ | `data.key` | 任务去重或配置缓存 Key |
81
+ | `data.config_result` | 上游配置模块检查结果 |
82
+
83
+ 默认输出会打印单行任务 ID,例如 `id:13288419`。需要完整字段时使用 `--format json`。
84
+
85
+ ### 查询异步任务
86
+
87
+ ```bash
88
+ soke-cli task +get --id "TASK-ID" --format json
89
+ ```
90
+
91
+ 状态判断规则:
92
+
93
+ | 创建任务时的 `--action` | 查询完成状态字段 | 说明 |
94
+ |-------------------------|------------------|------|
95
+ | `export` | `data.export_status` | 生成报表时用导出状态判断是否生成文件 |
96
+ | `report` | `data.status` | 生成统计时用任务执行状态判断是否完成 |
97
+
98
+ 响应关键字段:
99
+
100
+ | 字段 | 说明 |
101
+ |------|------|
102
+ | `data.status` | 任务执行状态;`action=report` 生成统计时用此字段判断任务状态,接口示例中 `2` 表示执行完成 |
103
+ | `data.export_status` | 导出状态;`action=export` 生成报表时用此字段判断导出状态,接口示例中 `2` 表示已生成导出文件 |
104
+ | `data.filePath` | 导出文件访问地址,未生成时为空 |
105
+ | `data.filename` | 导出文件名 |
106
+ | `data.filesize` | 导出文件大小 |
107
+ | `data.params` | 创建任务参数的 JSON 字符串 |
108
+
109
+ ## 推荐工作流
110
+
111
+ ```bash
112
+ TASK_ID=$(soke-cli task +create \
113
+ --target-id "$MAP_UUID" \
114
+ --learn-type "required" \
115
+ --type "aloneDept" \
116
+ --custom-tags "工号,岗位,入职日期" \
117
+ --limit 4500 \
118
+ --format json | jq -r '.data.id')
119
+
120
+ soke-cli task +get --id "$TASK_ID" --format json | jq -r '.data.filePath'
121
+ ```
122
+
123
+ 按创建任务的 action 查询状态:
124
+
125
+ ```bash
126
+ # action=export
127
+ soke-cli task +get --id "$TASK_ID" --format json | jq -r '.data.export_status'
128
+
129
+ # action=report
130
+ soke-cli task +get --id "$TASK_ID" --format json | jq -r '.data.status'
131
+ ```
132
+
133
+ ## API 接口映射
134
+
135
+ | CLI 命令 | API 路径 | 方法 |
136
+ |----------|----------|------|
137
+ | `task +create` | `/skills/job/task` | POST (form) |
138
+ | `task +get` | `/skills/job/task/{id}` | GET |
139
+
140
+ ## 排错
141
+
142
+ - `data.filePath` 为空:任务可能还未完成,等待后重新执行 `task +get --id "TASK-ID" --format json`。
143
+ - `未登录授权`:按 `soke-shared` 执行 `soke-cli auth login` 后重试。
144
+ - 自定义字段没有导出:确认已通过 `--custom-tags "字段1,字段2"` 指定,字段名需与当前任务类型支持的自定义字段一致。
145
+ - 任务创建失败:确认 `--target-id` 与 `--module` 匹配;学习地图用 `--module learningMapUser`,课程用 `--module courseUser`。
146
+ - 部门或用户筛选无效:先用 `soke-cli assign +list-departments` / `soke-cli assign +list-users` 确认可用 ID,再传给 `--departments` / `--users`。
@@ -0,0 +1,221 @@
1
+ ---
2
+ name: soke-training-demand
3
+ summary: 授客学堂培训需求收集(提交需求/浏览列表/投票),提交时分步引导选择分类、标签、描述、紧急程度,通过 soke-cli 操作
4
+ version: 2.5.0
5
+ description: "授客学堂培训需求收集:通过 soke-cli training-demand 浏览需求列表、获取需求分类、分步引导提交培训需求(分类、标签、描述、紧急程度)以及为需求投票。当用户需要提交培训需求、浏览需求列表、给需求投票或查看需求分类时使用。"
6
+ metadata:
7
+ requires:
8
+ bins: ["soke-cli"]
9
+ executionGuard:
10
+ - "提交培训需求时,MUST 严格按 4 步依次执行(1->2->3->4),每完成一步 MUST 等待用户回复后才能进入下一步。NEVER 跳步、NEVER 合并多步为一步、NEVER 在用户未回复时自行推进。"
11
+ - "步骤 2(选择标签)是独立步骤,NEVER 被跳过(除非分类 tag 为空/null)。即使用户在步骤 1 选择了分类,也 MUST 先展示标签列表让用户选择或跳过,然后才能进入步骤 3。"
12
+ - "每一步输出后 MUST STOP 等待用户输入。NEVER 在同一个回复中同时展示两个步骤的提示。"
13
+ - "NEVER 自行发挥、NEVER 添加 skill 未定义的步骤或提示文字。所有输出格式和提示语必须严格按本 skill 中常见工作流的定义,一字不差。"
14
+ - "步骤 2 展示标签时,MUST 严格使用步骤 1 中用户选定的那个分类对象(通过用户选择的序号从 +list-categories 返回的 data.list 数组中精确取出)的 tag 字段。NEVER 使用其他分类的 tag、NEVER 凭记忆猜测标签、NEVER 用列表中其他位置分类的 tag。"
15
+ cliHelp: "soke-cli training-demand --help"
16
+ ---
17
+
18
+ # 培训需求收集
19
+
20
+ **CRITICAL — 开始前 MUST 先读取 ../soke-shared/MODULE.md,其中包含认证、配置和权限处理。**
21
+
22
+ ## 🛑 执行守卫(EXECUTION GUARD)
23
+
24
+ > **以下规则是硬性约束,违反任何一条即为执行错误:**
25
+ >
26
+ > 1. **逐步执行**:提交需求 MUST 严格按 4 步顺序(1->2->3->4)逐步引导,每步 MUST 等待用户回复后再进入下一步。NEVER 跳步、NEVER 合步。
27
+ > 2. **步骤独立**:每个步骤 MUST 单独输出为一个回复。NEVER 在同一个回复中同时展示两个步骤的提示。步骤 1 输出后 STOP 等用户选分类;步骤 2 输出后 STOP 等用户选标签;步骤 3 输出后 STOP 等用户输入描述;步骤 4 输出后 STOP 等用户选紧急程度。
28
+ > 3. **步骤 2 不可省略**:步骤 2(选择标签)是独立步骤,NEVER 被省略(除非分类 tag 为空/null)。NEVER 在步骤 1 的回复中同时展示标签选项。
29
+ > 4. **严禁自行发挥**:所有提示语、输出格式 MUST 严格照搬本 skill 常见工作流中的定义,NEVER 自行发挥、NEVER 添加额外文字或解释、NEVER 改变提示格式。
30
+ >
31
+ > 5. **标签-分类严格绑定**:步骤 2 展示标签时,MUST 严格使用步骤 1 中用户选定的分类对象(通过序号从 +list-categories 的 data.list 中精确取出)的 tag 字段。NEVER 用其他分类的 tag、NEVER 凭记忆猜测、NEVER 用列表中其他位置分类的 tag。不确定时 MUST 重新调用 +list-categories 按序号精确匹配。
32
+
33
+ ## 核心规则
34
+
35
+ - 分类、标签必须与管理后台设置完全一致,**禁止自行拓展或创造分类/标签**。标签来源仅限用户所选分类的 tag 字段。
36
+ - 提交培训需求必须严格按以下 **4 步顺序** 引导用户,不可跳步或合并:
37
+ 1. **选择分类**(单选) → 2. **选择标签**(选填,可多选≤5,可跳过,无标签时自动跳过) → 3. **填写培训需求**(≤200字,必填) → 4. **紧急程度**(1-5,选填)
38
+ - 分类:从 +list-categories 返回的 data.list[].title 中选择,**仅限单选**,不可同时选多个分类。
39
+ - 标签:从所选分类的 data.list[].tag 字段中按逗号拆分,编号列出供用户选择。**标签为选填,用户可以选择标签也可以不选直接跳过**。可多选最多5个。若该分类 tag 为空或不存在,提示"📌 该分类暂无标签",自动跳过标签步骤进入步骤3。
40
+ - 培训需求描述:即 --title,**必填,最多 200 字符**,纯文本输入。
41
+ - 紧急程度:即 --level,1=普通、2=较普通、3=一般、4=较紧急、5=最紧急,**选填**,不选时默认 0(不设置等级)。
42
+ - 投票前,先执行 +list,使用返回的培训需求 uuid。不要把分类 uuid 传给投票接口。
43
+ - 创建和投票是写操作。用户意图不明确时,先确认要提交或投票的对象。
44
+ - 默认用 --format json 获取结构化输出。
45
+
46
+ ### 提交成功后的展示规则
47
+ - **不显示需求 UUID**:提交成功后向用户展示的详情表格中,不要包含 uuid 字段。UUID 仅用于内部投票等操作,不向用户暴露。
48
+ - **时间加8小时**:API 返回的 create_time 是 UTC 时间,向用户展示时必须加 8 小时转换为 UTC+8(北京时间)。例如返回 "2026-07-23 01:56:31" 应展示为 "2026-07-23 09:56:31"。
49
+
50
+ ### 标签处理规则
51
+
52
+ - **隐藏接口字段**:所选分类的 tag 字段原始值是接口内部数据,**严禁在对话中向用户展示**(如不得出现"所选分类的 tag 字段为:公司介绍,规章制度"之类的话)。步骤 2 只展示编号后的标签选项列表,不暴露原始 tag 字段值或任何接口字段名。
53
+
54
+ +list-categories 返回的每个分类对象中 tag 字段是一个逗号分隔的字符串,例如 "企业文化培训,企业发展历程培训,营销战略发展规则培训"。提交需求时:
55
+ - **标签来源仅限当前分类**:从用户所选的那个分类的 tag 字段按逗号拆分出所有可选标签,编号列出供用户选择。**严禁跨分类混合标签或自行创造标签**。
56
+ - **🛑 标签-分类严格绑定(防错硬约束)**:步骤 2 展示标签时,MUST 从步骤 1 中用户选定的分类对象(即 +list-categories 返回的 data.list 中,按用户选择的序号精确匹配的那一条)的 tag 字段按逗号拆分。NEVER 使用其他分类的 tag 字段、NEVER 凭记忆猜测标签内容、NEVER 用列表中其他位置分类的 tag。如果记忆可能出错或不确定,MUST 重新执行 +list-categories 并严格按序号匹配对应分类对象后再拆分其 tag。
57
+ - 用户选中后,将选中的标签用逗号拼接传给 --tag。
58
+ - **标签选填**:标签为选填项,用户可以选择标签也可以**不选任何标签直接跳过**。跳过时不传 --tag(CLI 会从 --category-tag 自动合并)。用户输入"0"、"不选"、"跳过"等表示不选择标签,直接进入步骤 3。
59
+ - **最多选 5 个标签**:选择超过5个时提醒"❌ 最多只能选择5个标签,请减少选择"。
60
+ - **无标签时自动跳过**:若所选分类的 tag 为空字符串("")或不存在/为 null,提示"📌 该分类暂无标签,无需选择",自动跳过步骤 2 进入步骤 3。
61
+ - --category-tag 必须传所选分类的原始完整 tag 字段值(未拆分、未修改)。
62
+
63
+ ## 命令
64
+
65
+ ### 查询培训需求列表
66
+
67
+ ```bash
68
+ soke-cli training-demand +list \
69
+ --page 1 \
70
+ --limit 10 \
71
+ --status 1 \
72
+ --keyword "" \
73
+ --is-owner 0 \
74
+ --create-time-order desc \
75
+ --owner-vote 0 \
76
+ --format json
77
+ ```
78
+
79
+ 列表返回的 data.list[].uuid 是投票使用的培训需求 UUID。
80
+
81
+ ### 查询培训需求分类
82
+
83
+ ```bash
84
+ soke-cli training-demand +list-categories --format json
85
+ ```
86
+
87
+ 分类返回的 data.list[].uuid、data.list[].title 和 data.list[].tag 只用于创建需求。
88
+
89
+ ### 提交培训需求
90
+
91
+ 单分类提交时使用 --category-uuid:
92
+
93
+ ```bash
94
+ soke-cli training-demand +create \
95
+ --title "门店销售沟通训练" \
96
+ --tag "职场心态,需求测试" \
97
+ --level 0 \
98
+ --category-uuid "FA0C937C-EE52-463B-BE3A-C13F96C426AE" \
99
+ --format json
100
+ ```
101
+
102
+ - --title:培训需求描述,**必填,最多 200 字符**。
103
+ - --tag:从所选分类 tag 中用户选中的标签,逗号拼接;不传时 CLI 从 --category-tag 自动合并。
104
+ - --level:紧急程度,1=普通、5=最紧急,**选填**,默认 0。
105
+ - --category-uuid:所选分类的 uuid。
106
+ - 分类为单选,不使用 --category-list。
107
+
108
+ ### 给培训需求投票
109
+
110
+ ```bash
111
+ soke-cli training-demand +vote \
112
+ --uuid "41EA8B23-5E5E-48FD-99A3-FF8F420752A6" \
113
+ --format json
114
+ ```
115
+
116
+ --uuid 必须来自 +list 返回的需求 UUID。
117
+
118
+ ## 常见工作流
119
+
120
+ ### 提交培训需求(严格 4 步流程)
121
+
122
+ 用户说"我想提一个培训需求"或类似意图时,**必须**按以下 4 步依次引导,不可跳步:
123
+
124
+ **步骤 1 — 选择分类(单选)**
125
+ **🛑 本步骤 MUST 单独输出,NEVER 与步骤 2 合并在同一回复中。**
126
+
127
+ 1. 执行 soke-cli training-demand +list-categories --format json。
128
+ 2. 将返回的 data.list[].title 编号列出,格式严格如下(NEVER 自行发挥格式):
129
+ ```
130
+ 请选择培训需求分类(单选):
131
+ 1. 企业文化
132
+ 2. 职业素养
133
+ 3. 企业培训
134
+ ...
135
+ ```
136
+ 让用户**单选一个分类**。
137
+ 3. 记录用户所选分类的 uuid、title 和 tag(原始完整值)。
138
+ 4. **🛑 STOP HERE** — 等待用户选择分类后,再进入步骤 2。NEVER 在同一回复中展示步骤 2 的标签列表。
139
+
140
+ **步骤 2 — 选择标签(选填,可多选≤5,可跳过;无标签时自动跳过)**
141
+ **🛑 本步骤 MUST 单独输出,NEVER 与步骤 1 合并在同一回复中。**
142
+
143
+ 1. **展示分类标签**:从步骤 1 记录的所选分类 tag 字段中按逗号拆分,编号列出所有可选标签。**严禁在对话中暴露 tag 字段原始值或接口字段名**,只展示编号列表供用户选择。格式示例:
144
+ **🛑 关键防错**:MUST 确保标签来自步骤 1 中用户选定分类对象的 tag 字段。用户选择分类序号 N 后,MUST 从 +list-categories 返回的 data.list[N-1](序号从1开始,数组索引从0开始)取出分类对象,然后用其 tag 字段拆分展示。NEVER 凭记忆选其他分类的 tag、NEVER 用序号偏移后的分类。如不确定,必须重新调用 +list-categories 并严格按序号匹配。
145
+ ```
146
+ 请选择标签(选填,可多选,最多5个,也可不选直接跳过):
147
+ 1. 企业文化培训
148
+ 2. 企业发展历程培训
149
+ 3. 营销战略发展规则培训
150
+ ...
151
+
152
+ 请输入序号(多选用逗号分隔,如 1,3,5;不选可输入"0"或"跳过")
153
+ ```
154
+ 2. **无标签判断**:若所选分类的 tag 为空字符串("")或不存在/为 null,直接显示:
155
+ ```
156
+ 📌 该分类暂无标签,无需选择
157
+ ```
158
+ 然后自动跳过步骤 2,进入步骤 3。
159
+ 3. **选填,可跳过**:标签为选填项,用户可以选择标签也可以**不选任何标签直接跳过**。用户输入"0"、"不选"、"跳过"等表示不选择标签,直接进入步骤 3。
160
+ 4. **多选交互**:让用户输入序号多选标签(如"1,3,5"),最多选 5 个;选择超过 5 个时提醒"❌ 最多只能选择5个标签,请减少选择"。
161
+ 5. **确认选择**:若用户选择了标签,简要展示确认(如"✅ 已选择标签:企业文化培训, 营销战略发展规则培训"),提交时用逗号拼接为 --tag 参数值。若用户跳过,显示"⏭ 未选择标签,继续下一步"。
162
+ 6. **⚠️ 重要**:标签来源仅限当前所选分类的 tag 字段,严禁跨分类混合标签或自行创造标签。
163
+ 7. **🛑 STOP HERE** — 等待用户选择/跳过标签后,再进入步骤 3。NEVER 在同一回复中同时展示步骤 3 的提示。
164
+
165
+ **步骤 3 — 填写培训需求描述(必填,≤200字符)**
166
+ **🛑 本步骤 MUST 单独输出,NEVER 与步骤 2 合并在同一回复中。**
167
+
168
+ 1. 提示用户输入培训需求描述(纯文本),提示语严格如下(NEVER 自行发挥):
169
+ ```
170
+ 请输入培训需求描述(必填,最多200字符):
171
+ ```
172
+ 2. 记录输入内容,即 --title 参数值。
173
+ 3. 若用户输入超过 200 字符,提醒"❌ 需求描述最多200字符,请缩短或重新填写"。
174
+ 4. **🛑 STOP HERE** — 等待用户输入需求描述后,再进入步骤 4。NEVER 在同一回复中同时展示步骤 4 的提示。
175
+
176
+ **步骤 4 — 紃急程度(选填)**
177
+ **🛑 本步骤 MUST 单独输出,NEVER 与步骤 3 合并在同一回复中。**
178
+
179
+ 1. 提示用户选择紧急程度,提示语严格如下(NEVER 自行发挥):
180
+ ```
181
+ 请选择紧急程度(选填,不选默认为0):
182
+ 1 = 普通
183
+ 2 = 较普通
184
+ 3 = 一般
185
+ 4 = 较紧急
186
+ 5 = 最紧急
187
+
188
+ 输入数字或输入"0"/"跳过"表示不设置
189
+ ```
190
+ 2. 不选则默认 0(不设置等级)。用户输入"0"或"跳过"表示不设置。
191
+ 3. 记录选择值,即 --level 参数值。
192
+
193
+ **最终提交**
194
+ 用步骤 1-4 收集的数据执行 +create。提交前可向用户展示汇总确认。
195
+
196
+ ### 投票需求
197
+
198
+ 用户说"帮我给某个需求投票":
199
+ - 执行 +list --keyword "<关键词>" --format json。
200
+ - 用需求标题和创建人等信息确认目标。
201
+ - 执行 +vote --uuid "<需求uuid>"。
202
+
203
+ ### 浏览需求
204
+
205
+ 用户只想浏览需求:
206
+ - 执行 +list --page 1 --limit 10 --create-time-order desc。
207
+ - 返回标题、分类、标签、票数、是否已投票和需求 UUID。
208
+
209
+ ## 字段依赖
210
+
211
+ | 场景 | 依赖字段 | 来源 |
212
+ |------|----------|------|
213
+ | 创建需求 | --category-uuid / --tag / --title / --level | +list-categories 的 data.list[] + 用户输入 |
214
+ | 投票 | uuid | +list 的 data.list[].uuid |
215
+
216
+ ## 排错
217
+
218
+ - 创建失败提示分类无效:重新执行 +list-categories,不要自行手写分类 UUID。
219
+ - 创建失败提示标签无效:重新执行 +list-categories,从所选分类返回的 tag 中选择,不要自行编写标签。**确保 --category-tag 传的是原始完整 tag 字段值**。
220
+ - 投票失败提示需求无效:确认传入的是培训需求 UUID,不是分类 UUID。
221
+ - 鉴权失败:按 soke-shared 执行 soke-cli auth login 后重试。