@sokeai/cli 1.0.77 → 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 (288) hide show
  1. package/package.json +1 -1
  2. package/scripts/install.js +2 -2
  3. package/scripts/local-test.js +1 -1
  4. package/scripts/test-auto-detect.js +20 -3
  5. package/skills/README.md +25 -174
  6. package/skills/SKILL.md +17 -239
  7. package/skills/mono/README.md +10 -0
  8. package/skills/mono/SKILL.md +223 -0
  9. 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
  10. package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/README.md +1 -3
  11. package/skills/mono/references/modules/soke-ai-coach-director/platform/soke-ai-training/soke-ai-training.md +123 -0
  12. package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/self-learning-engine.md +0 -4
  13. package/skills/{soke-ai-training/SKILL.md → mono/references/modules/soke-ai-training/MODULE.md} +1 -1
  14. package/skills/mono/references/modules/soke-assign/README.md +308 -0
  15. package/skills/{soke-certificate/SKILL.md → mono/references/modules/soke-certificate/MODULE.md} +2 -2
  16. package/skills/mono/references/modules/soke-course/MODULE.md +402 -0
  17. package/skills/mono/references/modules/soke-course/README.md +291 -0
  18. package/skills/{soke-course → mono/references/modules/soke-course}/references/examples.md +3 -3
  19. package/skills/{soke-exam/SKILL.md → mono/references/modules/soke-exam/MODULE.md} +1 -1
  20. package/skills/{soke-learning-map/SKILL.md → mono/references/modules/soke-learning-map/MODULE.md} +5 -6
  21. package/skills/{soke-learning-profile/SKILL.md → mono/references/modules/soke-learning-profile/MODULE.md} +2 -2
  22. package/skills/mono/references/modules/soke-lesson/README.md +53 -0
  23. package/skills/mono/references/modules/soke-material/README.md +49 -0
  24. package/skills/{soke-photo-gallery/SKILL.md → mono/references/modules/soke-photo-gallery/MODULE.md} +2 -3
  25. package/skills/mono/references/modules/soke-supervisor/MODULE.md +186 -0
  26. package/skills/mono/references/modules/soke-task/MODULE.md +146 -0
  27. package/skills/{soke-training-demand/SKILL.md → mono/references/modules/soke-training-demand/MODULE.md} +1 -1
  28. package/skills/mono/references/shared/cli-basics.md +185 -0
  29. package/skills/mono/scripts/check_readiness.py +28 -0
  30. package/skills/mono/scripts/gate_check.py +112 -0
  31. package/skills/mono/scripts/validate_operations.py +403 -0
  32. package/skills/multi/README.md +18 -0
  33. package/skills/multi/soke-ai-coach-director/CHANGELOG.md +203 -0
  34. package/skills/multi/soke-ai-coach-director/README.md +121 -0
  35. package/skills/multi/soke-ai-coach-director/SKILL.md +220 -0
  36. package/skills/multi/soke-ai-coach-director/assets/ERRORS-TEMPLATE.md +5 -0
  37. package/skills/multi/soke-ai-coach-director/assets/FEATURE_REQUESTS-TEMPLATE.md +5 -0
  38. package/skills/multi/soke-ai-coach-director/assets/LEARNINGS-TEMPLATE.md +44 -0
  39. package/skills/multi/soke-ai-coach-director/assets/SKILL-TEMPLATE.md +177 -0
  40. package/skills/multi/soke-ai-coach-director/coaching/knowledge-packager/knowledge-packager.md +91 -0
  41. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part1-basic.md +59 -0
  42. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +97 -0
  43. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part3-flow.md +72 -0
  44. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part4-scoring.md +87 -0
  45. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part5-constraints.md +48 -0
  46. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +76 -0
  47. package/skills/multi/soke-ai-coach-director/coaching/prompt-optimizer/prompt-optimizer.md +381 -0
  48. package/skills/multi/soke-ai-coach-director/coaching/role-profiler/role-profiler.md +87 -0
  49. package/skills/multi/soke-ai-coach-director/platform/adapters/README.md +68 -0
  50. package/skills/multi/soke-ai-coach-director/platform/adapters/qclaw.md +67 -0
  51. package/skills/multi/soke-ai-coach-director/platform/adapters/workbuddy.md +44 -0
  52. package/skills/multi/soke-ai-coach-director/platform/adapters/wukong.md +70 -0
  53. package/skills/multi/soke-ai-coach-director/platform/adapters/zework.md +89 -0
  54. package/skills/multi/soke-ai-coach-director/platform/api-fallback.md +262 -0
  55. package/skills/multi/soke-ai-coach-director/platform/interaction.md +103 -0
  56. package/skills/multi/soke-ai-coach-director/platform/publish-gate.md +44 -0
  57. package/skills/multi/soke-ai-coach-director/platform/resource-finalizer.md +103 -0
  58. package/skills/{soke-ai-coach-director → multi/soke-ai-coach-director}/platform/soke-ai-training/soke-ai-training.md +1 -1
  59. package/skills/multi/soke-ai-coach-director/platform/sync-engine.md +39 -0
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. package/skills/multi/soke-ai-coach-director/references/change-log-partwise-refactor.md +74 -0
  89. package/skills/multi/soke-ai-coach-director/references/env-check.md +146 -0
  90. package/skills/multi/soke-ai-coach-director/references/exec-common.md +126 -0
  91. package/skills/multi/soke-ai-coach-director/references/exec-handbook.md +621 -0
  92. package/skills/multi/soke-ai-coach-director/references/exec-part1.md +86 -0
  93. package/skills/multi/soke-ai-coach-director/references/exec-part2.md +145 -0
  94. package/skills/multi/soke-ai-coach-director/references/exec-part3.md +91 -0
  95. package/skills/multi/soke-ai-coach-director/references/exec-part4.md +187 -0
  96. package/skills/multi/soke-ai-coach-director/references/gate-check-matrix.md +46 -0
  97. package/skills/{soke-learning-map/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
  98. package/skills/multi/soke-ai-coach-director/references/micro-tune-labels.md +30 -0
  99. package/skills/multi/soke-ai-coach-director/references/platform-api-pitfalls.md +49 -0
  100. package/skills/multi/soke-ai-coach-director/references/role-resource-matching.md +45 -0
  101. package/skills/multi/soke-ai-coach-director/references/self-improvement-examples.md +373 -0
  102. package/skills/multi/soke-ai-coach-director/references/self-learning-engine.md +485 -0
  103. package/skills/multi/soke-ai-coach-director/references/shared.md +185 -0
  104. package/skills/multi/soke-ai-coach-director/references/subs/part1/SOP.md +17 -0
  105. package/skills/multi/soke-ai-coach-director/references/subs/part2/SOP.md +34 -0
  106. package/skills/multi/soke-ai-coach-director/references/subs/part3/SOP.md +27 -0
  107. package/skills/multi/soke-ai-coach-director/references/subs/part4/SOP.md +31 -0
  108. package/skills/multi/soke-ai-coach-director/references/subs/publish/SOP.md +81 -0
  109. package/skills/multi/soke-ai-coach-director/references/subs/tune/SOP.md +92 -0
  110. package/skills/multi/soke-ai-coach-director/references/verified-cli-cheatsheet.md +56 -0
  111. package/skills/multi/soke-ai-coach-director/scripts/gate_check.py +112 -0
  112. package/skills/multi/soke-ai-coach-director/scripts/validate_operations.py +403 -0
  113. package/skills/multi/soke-ai-training/SKILL.md +247 -0
  114. package/skills/{soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md → multi/soke-ai-training/references/installation.md} +0 -3
  115. package/skills/multi/soke-ai-training/references/shared.md +185 -0
  116. package/skills/{soke-assign → multi/soke-assign}/README.md +3 -5
  117. package/skills/multi/soke-assign/SKILL.md +101 -0
  118. package/skills/{soke-course/SKILL.md → multi/soke-assign/references/dependencies/soke-course.md} +1 -1
  119. package/skills/multi/soke-assign/references/dependencies/soke-exam.md +600 -0
  120. package/skills/multi/soke-assign/references/installation.md +451 -0
  121. package/skills/multi/soke-assign/references/shared.md +185 -0
  122. package/skills/multi/soke-certificate/SKILL.md +715 -0
  123. package/skills/multi/soke-certificate/references/installation.md +451 -0
  124. package/skills/multi/soke-certificate/references/shared.md +185 -0
  125. package/skills/{soke-course → multi/soke-course}/README.md +5 -7
  126. package/skills/multi/soke-course/SKILL.md +399 -0
  127. package/skills/multi/soke-course/agents/openai.yaml +7 -0
  128. package/skills/multi/soke-course/examples/create-basic.md +70 -0
  129. package/skills/multi/soke-course/references/course-list-courses.md +216 -0
  130. package/skills/multi/soke-course/references/dependencies/soke-assign.md +103 -0
  131. package/skills/multi/soke-course/references/dependencies/soke-lesson.md +119 -0
  132. package/skills/multi/soke-course/references/dependencies/soke-material.md +105 -0
  133. package/skills/multi/soke-course/references/examples.md +480 -0
  134. package/skills/multi/soke-course/references/installation.md +451 -0
  135. package/skills/multi/soke-course/references/intent-cases.md +99 -0
  136. package/skills/multi/soke-course/references/shared.md +185 -0
  137. package/skills/multi/soke-course/references/sop-full-workflow.md +177 -0
  138. package/skills/multi/soke-course/references/sop-lesson-types.md +66 -0
  139. package/skills/multi/soke-course/references/sop-publish-check.md +76 -0
  140. package/skills/multi/soke-course/references/subs/ai/SOP.md +153 -0
  141. package/skills/multi/soke-course/references/subs/category/SOP.md +112 -0
  142. package/skills/multi/soke-course/references/subs/charge/SOP.md +107 -0
  143. package/skills/multi/soke-course/references/subs/copy/SOP.md +80 -0
  144. package/skills/multi/soke-course/references/subs/publish/SOP.md +168 -0
  145. package/skills/multi/soke-course/references/subs/query/SOP.md +165 -0
  146. package/skills/multi/soke-course/references/subs/settings/SOP.md +136 -0
  147. package/skills/multi/soke-course/references/subs/template/SOP.md +223 -0
  148. package/skills/multi/soke-course/references/troubleshoot.md +68 -0
  149. package/skills/multi/soke-course/scripts/check_readiness.py +87 -0
  150. package/skills/multi/soke-exam/SKILL.md +598 -0
  151. package/skills/multi/soke-exam/references/exam-get-exam-user.md +212 -0
  152. package/skills/multi/soke-exam/references/installation.md +451 -0
  153. package/skills/multi/soke-exam/references/shared.md +185 -0
  154. package/skills/multi/soke-exam-question-pool/SKILL.md +121 -0
  155. package/skills/multi/soke-exam-question-pool/references/installation.md +451 -0
  156. package/skills/multi/soke-exam-question-pool/references/shared.md +185 -0
  157. package/skills/multi/soke-learning-map/SKILL.md +553 -0
  158. package/skills/multi/soke-learning-map/references/dependencies/soke-assign.md +103 -0
  159. package/skills/{soke-task/SKILL.md → multi/soke-learning-map/references/dependencies/soke-task.md} +1 -1
  160. package/skills/multi/soke-learning-map/references/installation.md +451 -0
  161. package/skills/multi/soke-learning-map/references/shared.md +185 -0
  162. package/skills/multi/soke-learning-profile/SKILL.md +221 -0
  163. package/skills/multi/soke-learning-profile/references/installation.md +451 -0
  164. package/skills/multi/soke-learning-profile/references/shared.md +185 -0
  165. package/skills/multi/soke-lesson/SKILL.md +117 -0
  166. package/skills/multi/soke-lesson/references/installation.md +451 -0
  167. package/skills/multi/soke-lesson/references/shared.md +185 -0
  168. package/skills/multi/soke-material/SKILL.md +103 -0
  169. package/skills/multi/soke-material/references/installation.md +451 -0
  170. package/skills/multi/soke-material/references/shared.md +185 -0
  171. package/skills/multi/soke-photo-gallery/SKILL.md +284 -0
  172. package/skills/multi/soke-photo-gallery/references/installation.md +451 -0
  173. package/skills/multi/soke-photo-gallery/references/shared.md +185 -0
  174. package/skills/multi/soke-shared/SKILL.md +183 -0
  175. package/skills/multi/soke-supervisor/SKILL.md +184 -0
  176. package/skills/multi/soke-supervisor/references/installation.md +451 -0
  177. package/skills/multi/soke-supervisor/references/shared.md +185 -0
  178. package/skills/multi/soke-task/SKILL.md +144 -0
  179. package/skills/multi/soke-task/references/installation.md +451 -0
  180. package/skills/multi/soke-task/references/shared.md +185 -0
  181. package/skills/multi/soke-training-demand/SKILL.md +219 -0
  182. package/skills/multi/soke-training-demand/references/installation.md +451 -0
  183. package/skills/multi/soke-training-demand/references/shared.md +185 -0
  184. package/skills/soke-ai-coach-director/scripts/activator.sh +0 -4
  185. package/skills/soke-ai-coach-director/scripts/error-detector.sh +0 -4
  186. package/skills/soke-ai-coach-director/scripts/extract-skill.sh +0 -7
  187. package/skills/soke-course/scripts/check_readiness.sh +0 -82
  188. /package/skills/{soke-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
  189. /package/skills/{soke-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
  190. /package/skills/{soke-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
  191. /package/skills/{soke-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
  192. /package/skills/{soke-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
  193. /package/skills/{soke-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
  194. /package/skills/{soke-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
  195. /package/skills/{soke-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
  196. /package/skills/{soke-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
  197. /package/skills/{soke-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
  198. /package/skills/{soke-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
  199. /package/skills/{soke-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
  200. /package/skills/{soke-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
  201. /package/skills/{soke-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
  202. /package/skills/{soke-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
  203. /package/skills/{soke-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
  204. /package/skills/{soke-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
  205. /package/skills/{soke-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
  206. /package/skills/{soke-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
  207. /package/skills/{soke-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
  208. /package/skills/{soke-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
  209. /package/skills/{soke-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
  210. /package/skills/{soke-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
  211. /package/skills/{soke-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
  212. /package/skills/{soke-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
  213. /package/skills/{soke-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
  214. /package/skills/{soke-ai-coach-director → mono}/references/cases//345/233/233/345/244/247/345/234/272/346/231/257_GoodCase_BadCase_20260701.md" +0 -0
  215. /package/skills/{soke-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
  216. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/CHANGELOG.md +0 -0
  217. /package/skills/{soke-ai-coach-director/SKILL.md → mono/references/modules/soke-ai-coach-director/MODULE.md} +0 -0
  218. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/ERRORS-TEMPLATE.md +0 -0
  219. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/FEATURE_REQUESTS-TEMPLATE.md +0 -0
  220. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/LEARNINGS-TEMPLATE.md +0 -0
  221. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/SKILL-TEMPLATE.md +0 -0
  222. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/knowledge-packager/knowledge-packager.md +0 -0
  223. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part1-basic.md +0 -0
  224. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part2-roles.md +0 -0
  225. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part3-flow.md +0 -0
  226. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part4-scoring.md +0 -0
  227. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part5-constraints.md +0 -0
  228. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/prompt-engineer.md +0 -0
  229. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-optimizer/prompt-optimizer.md +0 -0
  230. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/role-profiler/role-profiler.md +0 -0
  231. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/README.md +0 -0
  232. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/qclaw.md +0 -0
  233. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/workbuddy.md +0 -0
  234. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/wukong.md +0 -0
  235. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/zework.md +0 -0
  236. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/api-fallback.md +0 -0
  237. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/interaction.md +0 -0
  238. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/publish-gate.md +0 -0
  239. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/resource-finalizer.md +0 -0
  240. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/sync-engine.md +0 -0
  241. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/change-log-partwise-refactor.md +0 -0
  242. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/env-check.md +0 -0
  243. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-common.md +0 -0
  244. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-handbook.md +0 -0
  245. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part1.md +0 -0
  246. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part2.md +0 -0
  247. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part3.md +0 -0
  248. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part4.md +0 -0
  249. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/gate-check-matrix.md +0 -0
  250. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/micro-tune-labels.md +0 -0
  251. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/platform-api-pitfalls.md +0 -0
  252. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/role-resource-matching.md +0 -0
  253. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/self-improvement-examples.md +0 -0
  254. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part1/SOP.md +0 -0
  255. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part2/SOP.md +0 -0
  256. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part3/SOP.md +0 -0
  257. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part4/SOP.md +0 -0
  258. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/publish/SOP.md +0 -0
  259. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/tune/SOP.md +0 -0
  260. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/verified-cli-cheatsheet.md +0 -0
  261. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/scripts/gate_check.py +0 -0
  262. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/scripts/validate_operations.py +0 -0
  263. /package/skills/{soke-assign/SKILL.md → mono/references/modules/soke-assign/MODULE.md} +0 -0
  264. /package/skills/{soke-course → mono/references/modules/soke-course}/agents/openai.yaml +0 -0
  265. /package/skills/{soke-course → mono/references/modules/soke-course}/examples/create-basic.md +0 -0
  266. /package/skills/{soke-course → mono/references/modules/soke-course}/references/course-list-courses.md +0 -0
  267. /package/skills/{soke-course → mono/references/modules/soke-course}/references/intent-cases.md +0 -0
  268. /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-full-workflow.md +0 -0
  269. /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-lesson-types.md +0 -0
  270. /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-publish-check.md +0 -0
  271. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/ai/SOP.md +0 -0
  272. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/category/SOP.md +0 -0
  273. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/charge/SOP.md +0 -0
  274. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/copy/SOP.md +0 -0
  275. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/publish/SOP.md +0 -0
  276. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/query/SOP.md +0 -0
  277. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/settings/SOP.md +0 -0
  278. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/template/SOP.md +0 -0
  279. /package/skills/{soke-course → mono/references/modules/soke-course}/references/troubleshoot.md +0 -0
  280. /package/skills/{soke-exam → mono/references/modules/soke-exam}/references/exam-get-exam-user.md +0 -0
  281. /package/skills/{soke-exam-question-pool/SKILL.md → mono/references/modules/soke-exam-question-pool/MODULE.md} +0 -0
  282. /package/skills/{soke-lesson/SKILL.md → mono/references/modules/soke-lesson/MODULE.md} +0 -0
  283. /package/skills/{soke-material/SKILL.md → mono/references/modules/soke-material/MODULE.md} +0 -0
  284. /package/skills/{soke-shared/SKILL.md → mono/references/modules/soke-shared/MODULE.md} +0 -0
  285. /package/skills/{soke-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
  286. /package/skills/{soke-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
  287. /package/skills/{soke-lesson → multi/soke-lesson}/README.md +0 -0
  288. /package/skills/{soke-material → multi/soke-material}/README.md +0 -0
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: soke-course-settings
3
+ version: 1.0.0
4
+ description: 课程设置 — 基础信息编辑及高级设置项说明,支持通过 CLI 更新课程高级设置
5
+ tags: [soke, course, settings, configuration, advanced]
6
+ ---
7
+
8
+ # 课程设置
9
+
10
+ ## 触发描述
11
+
12
+ 课程创建后需要对课程标题、描述等基础信息进行修改,或需要更新高级设置项(学习模式、人脸识别、提醒、倍速等)时触发本技能。
13
+
14
+ ## CLI 支持的操作
15
+
16
+ ### 基础信息更新 `course +update`
17
+
18
+ ```bash
19
+ soke course +update \
20
+ --course-id <courseId> \
21
+ --title "<新标题>" \
22
+ --credit 10 \
23
+ --description "<新描述>" \
24
+ --image "<图片库 photoUri>"
25
+ ```
26
+
27
+ | 参数 | 必填 | 说明 |
28
+ |------|------|------|
29
+ | `--course-id` | 是 | 课程 ID |
30
+ | `--action` | 否 | 操作类型,默认 `update`;传 `close` 可关闭课程 |
31
+ | `--title` | 否 | 课程标题 |
32
+ | `--credit` | 否 | 学分 |
33
+ | `--description` | 否 | 课程描述/简介 |
34
+ | `--image` | 否 | 课程封面图片地址,使用图片库列表接口返回的 `photoUri` |
35
+ | `--image-x` | 否 | 封面裁剪 x 坐标,默认 0 |
36
+ | `--image-y` | 否 | 封面裁剪 y 坐标,默认 0 |
37
+ | `--image-w` | 否 | 封面裁剪宽度,默认 0 |
38
+ | `--image-h` | 否 | 封面裁剪高度,默认 0 |
39
+
40
+ > 至少传一个可更新字段,可同时更新。`--description ""` 会清空课程描述。
41
+
42
+ ### 高级设置更新 `course +advanced`
43
+
44
+ ```bash
45
+ soke course +advanced \
46
+ --course-id <courseId> \
47
+ --study-type 2 \
48
+ --is-accelerate 1 \
49
+ --is-drag 0 \
50
+ --evaluate-required 1
51
+ ```
52
+
53
+ | 参数 | 默认 | 说明 |
54
+ |------|------|------|
55
+ | `--course-id` | 必填 | 课程 ID |
56
+ | `--open-workrecord` | 0 | 待办推送,1 开启,0 不开启 |
57
+ | `--allow-after-expiration` | 1 | 截止后继续学习,1 允许,0 不允许 |
58
+ | `--open-face-recognition` | 0 | 课程前人脸识别,1 开启,0 不开启 |
59
+ | `--is-first-face` | 0 | 0 不识别,1 首次使用,2 每次进入 |
60
+ | `--learning-face-recognition` | 0 | 视频学习中人脸识别,1 开启,0 不开启 |
61
+ | `--face-recognition-times` | 1 | 视频学习中人脸识别次数 |
62
+ | `--study-type` | 1 | 学习模式,1 自由式,2 解锁式 |
63
+ | `--is-remind` | 0 | 未学提醒,1 开启,0 不开启 |
64
+ | `--remind-days` | 1 | 未学提醒推送周期,单位天 |
65
+ | `--remind-time` | 空 | 推送时间,格式 HH:MM:SS |
66
+ | `--remind-content` | 管理员提醒文案 | 未学提醒推送内容 |
67
+ | `--is-accelerate` | 1 | 视频或音频倍速,1 开启,0 不开启 |
68
+ | `--is-drag` | 0 | 视频是否可拖动,1 允许,0 不允许 |
69
+ | `--drag-type` | 1 | 1 仅首次播放不允许拖动,2 每次播放均不允许拖动 |
70
+ | `--evaluate-required` | 0 | 完成学习后打星评价,1 开启,0 不开启 |
71
+ | `--image-file` | 空 | 本地交流群二维码图片路径,命令内部上传到 OSS 并写入 `imageOssUrl`,不进入图片库;支持 jpg/jpeg/png |
72
+ | `--image-oss-url` | 空 | 已上传到 OSS/CDN 的交流群二维码完整访问 URL;与 `--image-file` 二选一 |
73
+ | `--is-hang` | 0 | 文档防挂机,1 开启,0 不开启 |
74
+ | `--hang-time` | 0 | 文档防挂机时间,单位分钟,最多 60 |
75
+ | `--comment-switch` | 1 | 课程评论,1 开启,0 不开启 |
76
+
77
+ 该命令请求 `PUT /skills/course/advanceSetting/{id}`,请求体固定带 `action=advanced`。
78
+
79
+ **交流群二维码 `imageOssUrl` 取值规则:**
80
+
81
+ 1. 如果用户提供的是本地二维码图片,直接使用 `--image-file`。命令会在内部调用 OSS 上传能力,使用 `Module: "image"` 上传,并把签名里的 `editorHost`(优先)或 `cdnhost` 与 OSS object 拼成完整 URL 写入 `imageOssUrl`。该图片不会进入图片库。
82
+
83
+ ```bash
84
+ soke-cli course +advanced \
85
+ --course-id <courseId> \
86
+ --image-file "./qrcode.png"
87
+ ```
88
+
89
+ 2. 如果用户已经有 OSS/CDN 完整访问 URL,直接传 `--image-oss-url`:
90
+
91
+ ```bash
92
+ soke-cli course +advanced \
93
+ --course-id <courseId> \
94
+ --image-oss-url "$IMAGE_URL"
95
+ ```
96
+
97
+ 3. `--image-file` 和 `--image-oss-url` 只能传一个。不要把图片 UUID、素材 UUID 或纯 `data.object` 当作 `imageOssUrl`;该字段需要可访问的完整图片 URL。
98
+
99
+ ## ⚠️ CLI 暂不支持的设置
100
+
101
+ | 设置项 | 说明 | 后台操作路径 |
102
+ |--------|------|-------------|
103
+ | **证书设置** `certificate` | 配置结业证书模板(背景图、字段、盖章)和通过条件 | 后台 → 课程管理 → 课程列表 → 编辑 → 证书设置 |
104
+ | **证书签名** `signature` | 配置证书上的签名图片(讲师/负责人手写签名) | 后台 → 课程管理 → 课程列表 → 编辑 → 证书设置 → 签名管理 |
105
+
106
+ ## 输出标准
107
+
108
+ 基础信息更新成功后:
109
+
110
+ ```
111
+ ✅ 课程信息更新成功
112
+ - 课程: {newTitle} (ID: {courseId})
113
+ - 描述: {newDescription 摘要}
114
+ ```
115
+
116
+ 高级设置更新成功后:
117
+
118
+ ```
119
+ ✅ 课程高级设置更新成功
120
+ - 课程: {courseId}
121
+ - 结果: 1
122
+ ```
123
+
124
+ ## 注意事项
125
+
126
+ 1. `course +update` 支持标题、学分、描述、封面图、分类 ID 修改,以及通过 `--action close` 关闭课程
127
+ 2. 封面图地址来自图片库列表接口返回的 `photoUri`
128
+ 3. 分类修改可通过 `--category-id` 更新
129
+ 4. 高级设置项之间可能存在依赖关系(如开启视频学习中人脸识别后再设置识别次数),建议按表格顺序逐项配置
130
+ 5. 钉钉二维码设置与课程复制时的行为有关联(复制时不携带,见 `soke-course-copy`)
131
+
132
+ ## 检查清单
133
+
134
+ - [ ] CLI 操作:title/description 或高级设置参数已准备完毕,courseId 确认存在
135
+ - [ ] 高级设置需求已识别,优先使用 `course +advanced`
136
+ - [ ] 证书/签名等未支持设置已提供对应后台路径
@@ -0,0 +1,223 @@
1
+ ---
2
+ name: course-template
3
+ version: 1.1.0
4
+ description: 课程模板选择 — 7套预置配置,按业务场景快速初始化课程设置
5
+ tags: [soke, course, template, preset]
6
+ ---
7
+
8
+ # 课程模板
9
+
10
+ ## 触发描述
11
+
12
+ 创建课程(Step 1.3 完成)后立即触发。根据用户业务场景推荐对应模板,输出预置配置清单。Phase 3 时展示当前所有设置项,用户可用自然语言逐项覆盖。
13
+
14
+ ## 模板速查
15
+
16
+ | # | 模板名称 | 一句话场景 | 特征标签 |
17
+ |---|---------|-----------|---------|
18
+ | 1 | 合规必修(最严) | 安全/合规/法务培训 | 🔒最严管控 |
19
+ | 2 | 考核认证 | 上岗/资格/技能鉴定 | 📝考试+证书 |
20
+ | 3 | 新人入职 | 新员工/转岗培训 | 🚀快速上手 |
21
+ | 4 | 知识分享 | 内部分享/兴趣课程 | 📖自由学习 |
22
+ | 5 | 领导力/软技能 | 管理/沟通/职业素养 | 🎓进阶提升 |
23
+ | 6 | 产品/业务培训 | 新产品上线/业务更新 | 📦快速推送 |
24
+ | 7 | 不选择模板 | 手动逐项配置 | ✋自行设置 |
25
+
26
+ ---
27
+
28
+ ## 配置映射表
29
+
30
+ ### 1. 合规必修(最严)
31
+
32
+ | 设置项 | 值 | CLI | 说明 |
33
+ |--------|-----|:---:|------|
34
+ | 学习模式 | 必修 + 解锁式(LongDragon) | ⚠️ | 后台:学习设置 |
35
+ | 人脸识别 | 开启 | ⚠️ | 后台:学习设置 → 人脸识别 |
36
+ | 倍速播放 | 禁用 | ⚠️ | 后台:学习设置 → 播放控制 |
37
+ | 拖动进度条 | 禁用 | ⚠️ | 后台:学习设置 → 播放控制 |
38
+ | 电子签名 | 开启 | ⚠️ | 后台:证书设置 → 签名管理 |
39
+ | 收费 | 可选 | ⚠️ | 后台:收费设置 |
40
+ | 截止时间 | 需设置 | ⚠️ | 后台:学习设置 |
41
+ | 课程评价 | 打星评价 | ⚠️ | 后台:评价设置 |
42
+ | 关联证书 | 是 | ⚠️ | 后台:证书设置 |
43
+ | 发布方式 | 审批发布 | ⚠️ | 后台:发布设置 |
44
+
45
+ **适用场景**:安全培训、合规培训、法务必修课。需要强制学习+防作弊+可追溯。
46
+
47
+ ---
48
+
49
+ ### 2. 考核认证
50
+
51
+ | 设置项 | 值 | CLI | 说明 |
52
+ |--------|-----|:---:|------|
53
+ | 学习模式 | 必修 + 解锁式(LongDragon) | ⚠️ | 后台:学习设置 |
54
+ | 小测验 | 限制次数 | ⚠️ | 后台:课件设置 |
55
+ | 作业 | 多级审批 | ⚠️ | 后台:课件设置 |
56
+ | 人脸识别 | 选开 | ⚠️ | 后台:学习设置 → 人脸识别 |
57
+ | 关联证书 | 是 | ⚠️ | 后台:证书设置 |
58
+ | 发布方式 | 审批发布 | ⚠️ | 后台:发布设置 |
59
+
60
+ **适用场景**:上岗考试、资格认证、技能鉴定。需考核+认证背书。
61
+
62
+ ---
63
+
64
+ ### 3. 新人入职
65
+
66
+ | 设置项 | 值 | CLI | 说明 |
67
+ |--------|-----|:---:|------|
68
+ | 学习模式 | 必修 + 自由模式(Free) | ⚠️ | 后台:学习设置 |
69
+ | 倍速播放 | 开启 | ⚠️ | 后台:学习设置 → 播放控制 |
70
+ | 未学提醒 | 开启 | ⚠️ | 后台:学习设置 → 提醒设置 |
71
+ | 截止时间 | 需设置 | ⚠️ | 后台:学习设置 |
72
+ | 自动配课 | 开启 | ⚠️ | 后台:指派设置 |
73
+ | 课程评价 | 打星评价 | ⚠️ | 后台:评价设置 |
74
+
75
+ **适用场景**:新员工培训、转岗培训。需快速覆盖+自动推送+追踪完成。
76
+
77
+ ---
78
+
79
+ ### 4. 知识分享
80
+
81
+ | 设置项 | 值 | CLI | 说明 |
82
+ |--------|-----|:---:|------|
83
+ | 学习模式 | 选修 + 自由模式(Free) | ⚠️ | 后台:学习设置 |
84
+ | 倍速播放 | 开启 | ⚠️ | 后台:学习设置 → 播放控制 |
85
+ | 拖动进度条 | 允许 | ⚠️ | 后台:学习设置 → 播放控制 |
86
+ | 收费 | 免费 | ⚠️ | 后台:收费设置 |
87
+ | 小测验 | 不限次数 | ⚠️ | 后台:课件设置 |
88
+
89
+ **适用场景**:内部分享、兴趣课程、文化宣传。低门槛+自由学习+无考核压力。
90
+
91
+ ---
92
+
93
+ ### 5. 领导力/软技能
94
+
95
+ | 设置项 | 值 | CLI | 说明 |
96
+ |--------|-----|:---:|------|
97
+ | 学习模式 | 选修或必修 + 自由模式(Free) | ⚠️ | 后台:学习设置 |
98
+ | 作业 | 无需批改 | ⚠️ | 后台:课件设置 |
99
+ | 课程评价 | 打星评价 | ⚠️ | 后台:评价设置 |
100
+ | 关联证书 | 可选 | ⚠️ | 后台:证书设置 |
101
+ | 钉钉群 | 可配置 | ⚠️ | 后台:学习设置 → 钉钉二维码 |
102
+
103
+ **适用场景**:管理培训、沟通课程、职业素养。互动+讨论+可选认证。
104
+
105
+ ---
106
+
107
+ ### 6. 产品/业务培训
108
+
109
+ | 设置项 | 值 | CLI | 说明 |
110
+ |--------|-----|:---:|------|
111
+ | 学习模式 | 必修 + 自由模式(Free) | ⚠️ | 后台:学习设置 |
112
+ | 倍速播放 | 开启 | ⚠️ | 后台:学习设置 → 播放控制 |
113
+ | 拖动进度条 | 允许 | ⚠️ | 后台:学习设置 → 播放控制 |
114
+ | 小测验 | 开启 | ⚠️ | 后台:课件设置 |
115
+ | 定时发布 | 需设置 | ⚠️ | 后台:发布设置 |
116
+ | 未学提醒 | 开启 | ⚠️ | 后台:学习设置 → 提醒设置 |
117
+
118
+ **适用场景**:新产品上线、业务知识更新。需快速推送+检验理解+追踪覆盖。
119
+
120
+ ---
121
+
122
+ ### 7. 不选择模板
123
+
124
+ 不预置任何配置项,所有设置在 Phase 3 逐项手动确认。适合模板不匹配的场景或需要精细控制的课程。
125
+
126
+ ---
127
+
128
+ ## 执行流程
129
+
130
+ ### Step 1: 模板选择弹窗(Phase 1 创建课程后立即触发)
131
+
132
+ **先输出速查表:**
133
+
134
+ ```
135
+ 📋 可选模板(7种):
136
+
137
+ | # | 名称 | 适用场景 | 核心配置 |
138
+ |---|------|---------|---------|
139
+ | 1 | 合规必修 | 安全/合规/法务培训 | 人脸+签名+证书+审批 |
140
+ | 2 | 考核认证 | 上岗考试/资格认证 | 考试+证书+多级审批 |
141
+ | 3 | 新人入职 | 新员工/转岗培训 | 提醒+自动配课+评价 |
142
+ | 4 | 知识分享 | 内部分享/兴趣课程 | 自由学习+免费+不限测验 |
143
+ | 5 | 领导力/软技能 | 管理/沟通/职业素养 | 作业+评价+证书+钉钉群 |
144
+ | 6 | 产品/业务培训 | 新产品上线/业务更新 | 定时发布+小测验+提醒 |
145
+ | 7 | 不选择模板 | 模板不匹配/精细控制 | 无预设,后续逐项手动配置 |
146
+ ```
147
+
148
+ **再弹窗让用户选:**
149
+
150
+ ```
151
+ ask_user_question
152
+ question: "选择课程模板(7选1,详情见上方表格)"
153
+ header: "模板"
154
+ options:
155
+ - label: "1. 合规必修" description: "安全/合规/法务 · 人脸+签名+证书+审批"
156
+ - label: "2. 考核认证" description: "上岗考试/资格认证 · 考试+证书"
157
+ - label: "3. 新人入职" description: "新员工/转岗 · 提醒+配课+评价"
158
+ - label: "4. 知识分享" description: "内部分享/兴趣 · 自由学习+免费"
159
+ - label: "5. 领导力/软技能" description: "管理/沟通/素养 · 作业+证书+钉钉群"
160
+ - label: "6. 产品/业务培训" description: "产品上线/业务更新 · 定时+测验+提醒"
161
+ - label: "7. 不选择模板" description: "无预设,逐项手动配置"
162
+ ```
163
+
164
+ ### Step 2: 输出模板配置
165
+
166
+ 用户选 1-6 → 输出该模板完整配置表:
167
+
168
+ ```
169
+ ✅ 已选择「{模板名称}」模板
170
+
171
+ 📋 该模板预置以下设置(CLI 不支持,需后台操作):
172
+
173
+ | 设置项 | 预置值 | 后台路径 |
174
+ |--------|--------|---------|
175
+ | xxx | xxx | 后台 → xxx |
176
+ | ... | ... | ... |
177
+
178
+ ⏭️ 后续进入 Phase 3 时,可以逐项修改以上设置。回复"继续"进入下一步。
179
+ ```
180
+
181
+ 用户选 7.「不选择模板」→ 不输出配置清单,直接进入 Phase 1 的路由弹窗。
182
+
183
+ ### Step 3: Phase 3 展示当前设置(可逐项修改)
184
+
185
+ 进入 Phase 3 时,将当前课程所有设置项以表格形式展示:
186
+
187
+ ```
188
+ 📋 当前设置(模板: {模板名称}):
189
+
190
+ | 设置项 | 当前值 |
191
+ |--------|--------|
192
+ | 标题 | "xxx" |
193
+ | 描述 | "xxx" |
194
+ | 学习模式 | 必修+解锁式 |
195
+ | 人脸识别 | 开启 |
196
+ | ... | ... |
197
+
198
+ 💬 想修改哪项?直接告诉我就行,比如:
199
+ - "标题改成 xxx"
200
+ - "学习模式改成自由式"
201
+ - "关掉人脸识别"
202
+ - "加一个证书"
203
+ ```
204
+
205
+ 用户输入修改指令后的处理:
206
+
207
+ | 修改项 | CLI 支持 | 处理方式 |
208
+ |--------|:---:|------|
209
+ | 标题/描述 | ✅ | 执行 `course +update` 更新,表中同步刷新 |
210
+ | 其他所有设置 | ⚠️ | "该设置需在后台修改(路径: xxx)。我会在清单中标注为待修改。" |
211
+ | 修改模板预设值 | ⚠️ | "已记录:{设置项} → {新值}(需在后台操作)" |
212
+
213
+ 每次修改后刷新配置表,直到用户说"可以了"/"继续"进入下一步。
214
+
215
+ ---
216
+
217
+ ## 注意事项
218
+
219
+ 1. 模板选择后不自动通过 CLI 修改课程 — 大部分设置 CLI 不支持
220
+ 2. 模板选择不影响已创建的 title/description/category-id
221
+ 3. Phase 3 必须展示完整设置清单,让用户逐项确认/修改
222
+ 4. 用户选「不选择模板」(7)时,Phase 3 也需展示所有可配置项,方便用户了解能做什么
223
+ 5. 若用户选了模板但没去后台配置,发布阶段 Gate Check 可能阻塞
@@ -0,0 +1,68 @@
1
+ # 常见问题排错指南
2
+
3
+ ## 认证类
4
+
5
+ | 错误信息 | 原因 | 修复 |
6
+ |---------|------|------|
7
+ | `access_key_id not configured` | 未配置登录凭证 | `soke-cli config set --key access_key_id --value <your-key>` |
8
+ | `Token 过期 / 401 Unauthorized` | 登录 Token 已过期 | `soke-cli auth login` |
9
+ | `Permission denied / 403` | 当前账号无操作权限 | 联系管理员在开放平台开通权限 |
10
+
11
+ ## 课程操作类
12
+
13
+ | 错误信息 | 原因 | 修复 |
14
+ |---------|------|------|
15
+ | `课程标题为空` | 未设置标题 | `course +update --course-id <id> --title "标题"` |
16
+ | `分类不存在 / category not found` | category-id 无效 | `course +list-categories` 重新查询有效分类 |
17
+ | `课程不存在 / Course not found` | course-id 无效或已删除 | `course +list-courses` 确认课程列表 |
18
+ | `课程状态不是未发布,不能发布` | status=1(已发布)或2(已关闭) | 已发布无需操作;已关闭不能重新发布 |
19
+ | `课件数量不足` | 课程无课件 | 进入 Phase 2 添加课件 |
20
+
21
+ ## 上传类
22
+
23
+ | 错误信息 | 原因 | 修复 |
24
+ |---------|------|------|
25
+ | `file not found` | 文件路径错误或不存在 | 检查路径是否正确,使用绝对路径 |
26
+ | `文件类型不支持` | 格式不在支持列表中 | 转换为 .mp4/.mp3/.pdf 等支持格式 |
27
+ | `文件大小超过限制` | 文件超过上限 | 压缩文件后重试 |
28
+ | `OSS upload failed` | 网络问题或 Token 失效 | 重新登录后重试 |
29
+ | `转码失败` | 文件损坏或格式异常 | 删除失败课件,确认源文件可用后重新上传 |
30
+
31
+ ## 课件操作类
32
+
33
+ | 错误信息 | 原因 | 修复 |
34
+ |---------|------|------|
35
+ | `素材不存在 / media not found` | media-id 无效 | 确认素材已上传成功 `file +list-files` |
36
+ | `课件类型不匹配` | type 与素材不符 | type 必须与素材上传响应的 type 一致 |
37
+ | `课件已存在` | 重复创建 | 检查 `course +lesson-list` |
38
+ | `课件数量达到上限` | 课程课件数超标 | 删除不需要的课件 |
39
+
40
+ ## 指派类
41
+
42
+ | 错误信息 | 原因 | 修复 |
43
+ |---------|------|------|
44
+ | `课程未发布,不能指派` | status ≠ 1 | 先发布课程再指派 |
45
+ | `用户不存在` | user-id 无效 | `assign +list-users` 确认有效用户 |
46
+ | `部门不存在` | dept-id 无效 | `assign +list-departments` 确认有效部门 |
47
+
48
+ ## 查询类
49
+
50
+ | 错误信息 | 原因 | 修复 |
51
+ |---------|------|------|
52
+ | `时间范围超过365天` | +list-courses 限制 | 分批查询,每年一次 |
53
+ | `数据为空` | 筛选条件无匹配 | 放宽筛选条件或检查权限范围 |
54
+
55
+ ## 通用调试步骤
56
+
57
+ ```bash
58
+ # 1. 检查认证状态
59
+ soke-cli config show
60
+
61
+ # 2. 检查课程是否存在
62
+ soke-cli course +get-course --course-id "xxx" --format json
63
+
64
+ # 3. 检查课件状态
65
+ soke-cli course +lesson-list --course-id "xxx" --format json
66
+
67
+ # 4. 始终使用 --format json 获取结构化输出
68
+ ```
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env python3
2
+ """Check that the soke-course Skill and CLI prerequisites are available."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import shutil
7
+ import subprocess
8
+ import sys
9
+ from pathlib import Path
10
+
11
+
12
+ def check_command() -> bool:
13
+ executable = shutil.which("soke-cli")
14
+ if not executable:
15
+ print(" ❌ soke-cli 未安装")
16
+ print(" 请读取 references/installation.md 按步骤安装")
17
+ return False
18
+
19
+ try:
20
+ version = subprocess.run(
21
+ [executable, "--version"],
22
+ check=False,
23
+ capture_output=True,
24
+ text=True,
25
+ ).stdout.strip()
26
+ except OSError as exc:
27
+ print(f" ❌ soke-cli 无法执行: {exc}")
28
+ return False
29
+
30
+ print(f" ✅ soke-cli: {version or '已找到'}")
31
+ return True
32
+
33
+
34
+ def check_login() -> None:
35
+ executable = shutil.which("soke-cli")
36
+ if not executable:
37
+ return
38
+ result = subprocess.run(
39
+ [executable, "config", "show"],
40
+ check=False,
41
+ capture_output=True,
42
+ text=True,
43
+ )
44
+ output = f"{result.stdout}\n{result.stderr}"
45
+ if "user_token" in output:
46
+ print(" ✅ 已登录")
47
+ else:
48
+ print(" ⚠️ 未登录或 Token 过期")
49
+ print(" 请运行: soke-cli auth login")
50
+
51
+
52
+ def main() -> int:
53
+ base_dir = Path(__file__).resolve().parent.parent
54
+ print("🔍 课程发布主管 — 环境检查")
55
+ print("============================\n")
56
+
57
+ guide = base_dir / "references" / "installation.md"
58
+ print("📖 前置依赖:")
59
+ print(f" {'✅' if guide.is_file() else '❌'} references/installation.md {'存在' if guide.is_file() else '缺失'}")
60
+
61
+ print("\n🔧 命令行工具:")
62
+ available = check_command()
63
+ if available:
64
+ check_login()
65
+
66
+ print("\n📋 包内依赖:")
67
+ for name in ("soke-material", "soke-lesson", "soke-assign"):
68
+ dependency = base_dir / "references" / "dependencies" / f"{name}.md"
69
+ print(f" {'✅' if dependency.is_file() else '⚠️'} {name}")
70
+
71
+ print("\n📁 子能力 SOP:")
72
+ for name in ("category", "settings", "charge", "publish", "copy", "query", "ai"):
73
+ sop = base_dir / "references" / "subs" / name / "SOP.md"
74
+ print(f" {'✅' if sop.is_file() else '⚠️'} {name}")
75
+
76
+ print("\n📚 参考文档:")
77
+ for name in ("intent-cases.md", "sop-full-workflow.md", "sop-lesson-types.md", "sop-publish-check.md", "troubleshoot.md"):
78
+ reference = base_dir / "references" / name
79
+ print(f" {'✅' if reference.is_file() else '⚠️'} {name}")
80
+
81
+ print("\n✅ 环境检查完成")
82
+ return 0 if available else 1
83
+
84
+
85
+ if __name__ == "__main__":
86
+ sys.exit(main())
87
+