@sokeai/cli 1.0.77 → 1.0.79

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 (291) 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 +2 -1
  11. package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part1-basic.md +1 -1
  12. package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/publish-gate.md +1 -0
  13. package/skills/mono/references/modules/soke-ai-coach-director/platform/soke-ai-training/soke-ai-training.md +123 -0
  14. package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-handbook.md +5 -5
  15. package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part1.md +5 -5
  16. package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/platform-api-pitfalls.md +1 -1
  17. package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part1/SOP.md +2 -2
  18. package/skills/mono/references/modules/soke-ai-coach-director/scripts/gate_check.py +114 -0
  19. package/skills/mono/references/modules/soke-ai-coach-director/scripts/validate_operations.py +410 -0
  20. package/skills/{soke-ai-training/SKILL.md → mono/references/modules/soke-ai-training/MODULE.md} +3 -1
  21. package/skills/mono/references/modules/soke-assign/README.md +308 -0
  22. package/skills/{soke-certificate/SKILL.md → mono/references/modules/soke-certificate/MODULE.md} +2 -2
  23. package/skills/mono/references/modules/soke-course/MODULE.md +402 -0
  24. package/skills/mono/references/modules/soke-course/README.md +291 -0
  25. package/skills/{soke-course → mono/references/modules/soke-course}/references/examples.md +3 -3
  26. package/skills/{soke-exam/SKILL.md → mono/references/modules/soke-exam/MODULE.md} +1 -1
  27. package/skills/{soke-learning-map/SKILL.md → mono/references/modules/soke-learning-map/MODULE.md} +5 -6
  28. package/skills/{soke-learning-profile/SKILL.md → mono/references/modules/soke-learning-profile/MODULE.md} +2 -2
  29. package/skills/mono/references/modules/soke-lesson/README.md +53 -0
  30. package/skills/mono/references/modules/soke-material/README.md +49 -0
  31. package/skills/{soke-photo-gallery/SKILL.md → mono/references/modules/soke-photo-gallery/MODULE.md} +2 -3
  32. package/skills/mono/references/modules/soke-supervisor/MODULE.md +186 -0
  33. package/skills/mono/references/modules/soke-task/MODULE.md +146 -0
  34. package/skills/{soke-training-demand/SKILL.md → mono/references/modules/soke-training-demand/MODULE.md} +1 -1
  35. package/skills/mono/references/shared/cli-basics.md +185 -0
  36. package/skills/mono/scripts/check_readiness.py +28 -0
  37. package/skills/{soke-ai-coach-director → mono}/scripts/validate_operations.py +2 -2
  38. package/skills/multi/README.md +18 -0
  39. package/skills/multi/soke-ai-coach-director/CHANGELOG.md +203 -0
  40. package/skills/multi/soke-ai-coach-director/README.md +124 -0
  41. package/skills/multi/soke-ai-coach-director/SKILL.md +220 -0
  42. package/skills/multi/soke-ai-coach-director/assets/ERRORS-TEMPLATE.md +5 -0
  43. package/skills/multi/soke-ai-coach-director/assets/FEATURE_REQUESTS-TEMPLATE.md +5 -0
  44. package/skills/multi/soke-ai-coach-director/assets/LEARNINGS-TEMPLATE.md +45 -0
  45. package/skills/multi/soke-ai-coach-director/assets/SKILL-TEMPLATE.md +177 -0
  46. package/skills/multi/soke-ai-coach-director/coaching/knowledge-packager/knowledge-packager.md +91 -0
  47. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part1-basic.md +59 -0
  48. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +97 -0
  49. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part3-flow.md +72 -0
  50. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part4-scoring.md +87 -0
  51. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part5-constraints.md +48 -0
  52. package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +76 -0
  53. package/skills/multi/soke-ai-coach-director/coaching/prompt-optimizer/prompt-optimizer.md +381 -0
  54. package/skills/multi/soke-ai-coach-director/coaching/role-profiler/role-profiler.md +87 -0
  55. package/skills/multi/soke-ai-coach-director/platform/adapters/README.md +68 -0
  56. package/skills/multi/soke-ai-coach-director/platform/adapters/qclaw.md +67 -0
  57. package/skills/multi/soke-ai-coach-director/platform/adapters/workbuddy.md +44 -0
  58. package/skills/multi/soke-ai-coach-director/platform/adapters/wukong.md +70 -0
  59. package/skills/multi/soke-ai-coach-director/platform/adapters/zework.md +89 -0
  60. package/skills/multi/soke-ai-coach-director/platform/api-fallback.md +262 -0
  61. package/skills/multi/soke-ai-coach-director/platform/interaction.md +103 -0
  62. package/skills/multi/soke-ai-coach-director/platform/publish-gate.md +45 -0
  63. package/skills/multi/soke-ai-coach-director/platform/resource-finalizer.md +103 -0
  64. package/skills/{soke-ai-coach-director → multi/soke-ai-coach-director}/platform/soke-ai-training/soke-ai-training.md +1 -1
  65. package/skills/multi/soke-ai-coach-director/platform/sync-engine.md +39 -0
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. package/skills/multi/soke-ai-coach-director/references/change-log-partwise-refactor.md +74 -0
  95. package/skills/multi/soke-ai-coach-director/references/env-check.md +146 -0
  96. package/skills/multi/soke-ai-coach-director/references/exec-common.md +126 -0
  97. package/skills/multi/soke-ai-coach-director/references/exec-handbook.md +621 -0
  98. package/skills/multi/soke-ai-coach-director/references/exec-part1.md +86 -0
  99. package/skills/multi/soke-ai-coach-director/references/exec-part2.md +145 -0
  100. package/skills/multi/soke-ai-coach-director/references/exec-part3.md +91 -0
  101. package/skills/multi/soke-ai-coach-director/references/exec-part4.md +187 -0
  102. package/skills/multi/soke-ai-coach-director/references/gate-check-matrix.md +46 -0
  103. 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
  104. package/skills/multi/soke-ai-coach-director/references/micro-tune-labels.md +30 -0
  105. package/skills/multi/soke-ai-coach-director/references/platform-api-pitfalls.md +49 -0
  106. package/skills/multi/soke-ai-coach-director/references/role-resource-matching.md +45 -0
  107. package/skills/multi/soke-ai-coach-director/references/self-improvement-examples.md +376 -0
  108. package/skills/multi/soke-ai-coach-director/references/self-learning-engine.md +489 -0
  109. package/skills/multi/soke-ai-coach-director/references/shared.md +185 -0
  110. package/skills/multi/soke-ai-coach-director/references/subs/part1/SOP.md +17 -0
  111. package/skills/multi/soke-ai-coach-director/references/subs/part2/SOP.md +34 -0
  112. package/skills/multi/soke-ai-coach-director/references/subs/part3/SOP.md +27 -0
  113. package/skills/multi/soke-ai-coach-director/references/subs/part4/SOP.md +31 -0
  114. package/skills/multi/soke-ai-coach-director/references/subs/publish/SOP.md +81 -0
  115. package/skills/multi/soke-ai-coach-director/references/subs/tune/SOP.md +92 -0
  116. package/skills/multi/soke-ai-coach-director/references/verified-cli-cheatsheet.md +56 -0
  117. package/skills/multi/soke-ai-coach-director/scripts/activator.sh +4 -0
  118. package/skills/multi/soke-ai-coach-director/scripts/error-detector.sh +4 -0
  119. package/skills/multi/soke-ai-coach-director/scripts/extract-skill.sh +7 -0
  120. package/skills/multi/soke-ai-coach-director/scripts/gate_check.py +114 -0
  121. package/skills/multi/soke-ai-coach-director/scripts/validate_operations.py +410 -0
  122. package/skills/multi/soke-ai-training/SKILL.md +249 -0
  123. 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
  124. package/skills/multi/soke-ai-training/references/shared.md +185 -0
  125. package/skills/{soke-assign → multi/soke-assign}/README.md +3 -5
  126. package/skills/multi/soke-assign/SKILL.md +101 -0
  127. package/skills/{soke-course/SKILL.md → multi/soke-assign/references/dependencies/soke-course.md} +1 -1
  128. package/skills/multi/soke-assign/references/dependencies/soke-exam.md +600 -0
  129. package/skills/multi/soke-assign/references/installation.md +451 -0
  130. package/skills/multi/soke-assign/references/shared.md +185 -0
  131. package/skills/multi/soke-certificate/SKILL.md +715 -0
  132. package/skills/multi/soke-certificate/references/installation.md +451 -0
  133. package/skills/multi/soke-certificate/references/shared.md +185 -0
  134. package/skills/{soke-course → multi/soke-course}/README.md +5 -7
  135. package/skills/multi/soke-course/SKILL.md +399 -0
  136. package/skills/multi/soke-course/agents/openai.yaml +7 -0
  137. package/skills/multi/soke-course/examples/create-basic.md +70 -0
  138. package/skills/multi/soke-course/references/course-list-courses.md +216 -0
  139. package/skills/multi/soke-course/references/dependencies/soke-assign.md +103 -0
  140. package/skills/multi/soke-course/references/dependencies/soke-lesson.md +119 -0
  141. package/skills/multi/soke-course/references/dependencies/soke-material.md +105 -0
  142. package/skills/multi/soke-course/references/examples.md +480 -0
  143. package/skills/multi/soke-course/references/installation.md +451 -0
  144. package/skills/multi/soke-course/references/intent-cases.md +99 -0
  145. package/skills/multi/soke-course/references/shared.md +185 -0
  146. package/skills/multi/soke-course/references/sop-full-workflow.md +177 -0
  147. package/skills/multi/soke-course/references/sop-lesson-types.md +66 -0
  148. package/skills/multi/soke-course/references/sop-publish-check.md +76 -0
  149. package/skills/multi/soke-course/references/subs/ai/SOP.md +153 -0
  150. package/skills/multi/soke-course/references/subs/category/SOP.md +112 -0
  151. package/skills/multi/soke-course/references/subs/charge/SOP.md +107 -0
  152. package/skills/multi/soke-course/references/subs/copy/SOP.md +80 -0
  153. package/skills/multi/soke-course/references/subs/publish/SOP.md +168 -0
  154. package/skills/multi/soke-course/references/subs/query/SOP.md +165 -0
  155. package/skills/multi/soke-course/references/subs/settings/SOP.md +136 -0
  156. package/skills/multi/soke-course/references/subs/template/SOP.md +223 -0
  157. package/skills/multi/soke-course/references/troubleshoot.md +68 -0
  158. package/skills/multi/soke-course/scripts/check_readiness.py +87 -0
  159. package/skills/multi/soke-exam/SKILL.md +598 -0
  160. package/skills/multi/soke-exam/references/exam-get-exam-user.md +212 -0
  161. package/skills/multi/soke-exam/references/installation.md +451 -0
  162. package/skills/multi/soke-exam/references/shared.md +185 -0
  163. package/skills/multi/soke-exam-question-pool/SKILL.md +121 -0
  164. package/skills/multi/soke-exam-question-pool/references/installation.md +451 -0
  165. package/skills/multi/soke-exam-question-pool/references/shared.md +185 -0
  166. package/skills/multi/soke-learning-map/SKILL.md +553 -0
  167. package/skills/multi/soke-learning-map/references/dependencies/soke-assign.md +103 -0
  168. package/skills/{soke-task/SKILL.md → multi/soke-learning-map/references/dependencies/soke-task.md} +1 -1
  169. package/skills/multi/soke-learning-map/references/installation.md +451 -0
  170. package/skills/multi/soke-learning-map/references/shared.md +185 -0
  171. package/skills/multi/soke-learning-profile/SKILL.md +221 -0
  172. package/skills/multi/soke-learning-profile/references/installation.md +451 -0
  173. package/skills/multi/soke-learning-profile/references/shared.md +185 -0
  174. package/skills/multi/soke-lesson/SKILL.md +117 -0
  175. package/skills/multi/soke-lesson/references/installation.md +451 -0
  176. package/skills/multi/soke-lesson/references/shared.md +185 -0
  177. package/skills/multi/soke-material/SKILL.md +103 -0
  178. package/skills/multi/soke-material/references/installation.md +451 -0
  179. package/skills/multi/soke-material/references/shared.md +185 -0
  180. package/skills/multi/soke-photo-gallery/SKILL.md +284 -0
  181. package/skills/multi/soke-photo-gallery/references/installation.md +451 -0
  182. package/skills/multi/soke-photo-gallery/references/shared.md +185 -0
  183. package/skills/multi/soke-shared/SKILL.md +183 -0
  184. package/skills/multi/soke-supervisor/SKILL.md +184 -0
  185. package/skills/multi/soke-supervisor/references/installation.md +451 -0
  186. package/skills/multi/soke-supervisor/references/shared.md +185 -0
  187. package/skills/multi/soke-task/SKILL.md +144 -0
  188. package/skills/multi/soke-task/references/installation.md +451 -0
  189. package/skills/multi/soke-task/references/shared.md +185 -0
  190. package/skills/multi/soke-training-demand/SKILL.md +219 -0
  191. package/skills/multi/soke-training-demand/references/installation.md +451 -0
  192. package/skills/multi/soke-training-demand/references/shared.md +185 -0
  193. package/skills/soke-course/scripts/check_readiness.sh +0 -82
  194. /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
  195. /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
  196. /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
  197. /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
  198. /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
  199. /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
  200. /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
  201. /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
  202. /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
  203. /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
  204. /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
  205. /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
  206. /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
  207. /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
  208. /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
  209. /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
  210. /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
  211. /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
  212. /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
  213. /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
  214. /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
  215. /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
  216. /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
  217. /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
  218. /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
  219. /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
  220. /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
  221. /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
  222. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/CHANGELOG.md +0 -0
  223. /package/skills/{soke-ai-coach-director/SKILL.md → mono/references/modules/soke-ai-coach-director/MODULE.md} +0 -0
  224. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/ERRORS-TEMPLATE.md +0 -0
  225. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/FEATURE_REQUESTS-TEMPLATE.md +0 -0
  226. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/LEARNINGS-TEMPLATE.md +0 -0
  227. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/SKILL-TEMPLATE.md +0 -0
  228. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/knowledge-packager/knowledge-packager.md +0 -0
  229. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part2-roles.md +0 -0
  230. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part3-flow.md +0 -0
  231. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part4-scoring.md +0 -0
  232. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part5-constraints.md +0 -0
  233. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/prompt-engineer.md +0 -0
  234. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-optimizer/prompt-optimizer.md +0 -0
  235. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/role-profiler/role-profiler.md +0 -0
  236. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/README.md +0 -0
  237. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/qclaw.md +0 -0
  238. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/workbuddy.md +0 -0
  239. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/wukong.md +0 -0
  240. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/zework.md +0 -0
  241. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/api-fallback.md +0 -0
  242. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/interaction.md +0 -0
  243. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/resource-finalizer.md +0 -0
  244. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/sync-engine.md +0 -0
  245. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/change-log-partwise-refactor.md +0 -0
  246. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/env-check.md +0 -0
  247. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-common.md +0 -0
  248. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part2.md +0 -0
  249. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part3.md +0 -0
  250. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part4.md +0 -0
  251. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/gate-check-matrix.md +0 -0
  252. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/micro-tune-labels.md +0 -0
  253. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/role-resource-matching.md +0 -0
  254. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/self-improvement-examples.md +0 -0
  255. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/self-learning-engine.md +0 -0
  256. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part2/SOP.md +0 -0
  257. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part3/SOP.md +0 -0
  258. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part4/SOP.md +0 -0
  259. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/publish/SOP.md +0 -0
  260. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/tune/SOP.md +0 -0
  261. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/verified-cli-cheatsheet.md +0 -0
  262. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/scripts/activator.sh +0 -0
  263. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/scripts/error-detector.sh +0 -0
  264. /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/scripts/extract-skill.sh +0 -0
  265. /package/skills/{soke-assign/SKILL.md → mono/references/modules/soke-assign/MODULE.md} +0 -0
  266. /package/skills/{soke-course → mono/references/modules/soke-course}/agents/openai.yaml +0 -0
  267. /package/skills/{soke-course → mono/references/modules/soke-course}/examples/create-basic.md +0 -0
  268. /package/skills/{soke-course → mono/references/modules/soke-course}/references/course-list-courses.md +0 -0
  269. /package/skills/{soke-course → mono/references/modules/soke-course}/references/intent-cases.md +0 -0
  270. /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-full-workflow.md +0 -0
  271. /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-lesson-types.md +0 -0
  272. /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-publish-check.md +0 -0
  273. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/ai/SOP.md +0 -0
  274. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/category/SOP.md +0 -0
  275. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/charge/SOP.md +0 -0
  276. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/copy/SOP.md +0 -0
  277. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/publish/SOP.md +0 -0
  278. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/query/SOP.md +0 -0
  279. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/settings/SOP.md +0 -0
  280. /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/template/SOP.md +0 -0
  281. /package/skills/{soke-course → mono/references/modules/soke-course}/references/troubleshoot.md +0 -0
  282. /package/skills/{soke-exam → mono/references/modules/soke-exam}/references/exam-get-exam-user.md +0 -0
  283. /package/skills/{soke-exam-question-pool/SKILL.md → mono/references/modules/soke-exam-question-pool/MODULE.md} +0 -0
  284. /package/skills/{soke-lesson/SKILL.md → mono/references/modules/soke-lesson/MODULE.md} +0 -0
  285. /package/skills/{soke-material/SKILL.md → mono/references/modules/soke-material/MODULE.md} +0 -0
  286. /package/skills/{soke-shared/SKILL.md → mono/references/modules/soke-shared/MODULE.md} +0 -0
  287. /package/skills/{soke-ai-coach-director → mono}/scripts/gate_check.py +0 -0
  288. /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
  289. /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
  290. /package/skills/{soke-lesson → multi/soke-lesson}/README.md +0 -0
  291. /package/skills/{soke-material → multi/soke-material}/README.md +0 -0
@@ -0,0 +1,715 @@
1
+ ---
2
+ name: soke-certificate
3
+ description: "证书管理查询:查询证书列表、证书分类、证书获得人员。当用户需要查看证书模板/证书列表、筛选已发布证书、获取证书 UUID 或查询证书发放人员时使用。 | Certificate management query: list certificates, certificate categories, and certificate users. Use when users need certificate templates/lists, published certificate filtering, certificate UUIDs, or issued certificate users."
4
+ metadata:
5
+ requires:
6
+ bins: ["soke-cli"]
7
+ cliHelp: "soke-cli certificate --help"
8
+ ---
9
+
10
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`./references/shared.md`](./references/shared.md),其中包含认证、配置、权限处理**
11
+
12
+ ## 核心概念
13
+
14
+ - **Certificate(证书)**: 企业后台配置的证书模板或证书资源,通过 `uuid` 标识
15
+ - **Category(证书分类)**: 证书分类,通过 `category_id` / `uuid` 标识
16
+ - **CertificateUser(证书获得人员)**: 已获得某个证书的学员记录
17
+
18
+ ## Shortcuts(推荐优先使用)
19
+
20
+ | Shortcut | 说明 |
21
+ |----------|------|
22
+ | [`+templates`](#templates) | 查询证书内置模板列表 |
23
+ | [`+list`](#list) | 查询证书列表 |
24
+ | [`+category`](#category) | 查询证书分类 |
25
+ | [`+create`](#create) | 创建证书 |
26
+ | [`+get`](#get) | 获取证书详情 |
27
+ | [`+users`](#users) | 查询证书用户获取记录 |
28
+ | [`+award`](#award) | 手动颁发证书 |
29
+ | [`+cancel-user`](#cancel-user) | 取消学员证书 |
30
+ | [`+check-linked`](#check-linked) | 查询证书模块关联 |
31
+ | [`+coordinate`](#coordinate) | 设置证书坐标 |
32
+ | [`+update`](#update) | 更新证书数据、发布或关闭证书 |
33
+ | [`+delete`](#delete) | 删除证书 |
34
+
35
+ ---
36
+
37
+ ## 命令详解
38
+
39
+ ### +templates
40
+
41
+ 查询证书内置模板列表。
42
+
43
+ **命令格式**:
44
+ ```bash
45
+ soke-cli certificate +templates [--format json|yaml|table]
46
+ ```
47
+
48
+ **返回字段**(表格显示关键字段):
49
+ - `name`: 模板名称
50
+ - `url`: 模板图片 URL
51
+ - `path`: 模板文件路径
52
+
53
+ **示例**:
54
+ ```bash
55
+ soke-cli certificate +templates
56
+
57
+ # 查看完整返回
58
+ soke-cli certificate +templates --format json
59
+ ```
60
+
61
+ **接口**: `GET /skills/certificate/template`
62
+
63
+ ---
64
+
65
+ ### +list
66
+
67
+ 查询证书列表,支持按状态筛选。
68
+
69
+ **命令格式**:
70
+ ```bash
71
+ soke-cli certificate +list \
72
+ [--page <page>] \
73
+ [--limit <limit>] \
74
+ [--status <status>] \
75
+ [--keyword <keyword>] \
76
+ [--format json|yaml|table]
77
+ ```
78
+
79
+ **参数说明**:
80
+ - `--page`: 页码,默认 `1`
81
+ - `--limit`: 每页条数,默认 `10`
82
+ - `--status`: 证书状态,可选;`0` 未发布,`1` 已发布,`2` 已关闭
83
+ - `--keyword`: 关键词,模糊查询证书标题/编码
84
+
85
+ **返回字段**(表格显示关键字段):
86
+ - `uuid`: 证书 UUID
87
+ - `title`: 证书标题
88
+ - `status`: 证书状态
89
+ - `code`: 证书编号
90
+ - `type`: 证书类型
91
+ - `category_title`: 分类名称
92
+ - `create_time`: 创建时间
93
+ - `update_time`: 更新时间
94
+
95
+ **示例**:
96
+ ```bash
97
+ # 查询已发布证书
98
+ soke-cli certificate +list --page 1 --limit 10 --status 1
99
+
100
+ # 模糊查询证书
101
+ soke-cli certificate +list --keyword "普通证书" --page 1 --limit 10
102
+
103
+ # 查询全部证书并输出完整 JSON
104
+ soke-cli certificate +list --page 1 --limit 20 --format json
105
+ ```
106
+ ---
107
+
108
+ ### +create
109
+
110
+ 创建证书。通常先通过 `+templates` 获取模板 `url/path`,再通过 `+category` 获取分类 UUID。
111
+
112
+ **命令格式**:
113
+ ```bash
114
+ soke-cli certificate +create \
115
+ --title <title> \
116
+ --code <code> \
117
+ --image <template_url> \
118
+ --target-path <template_path> \
119
+ --category-id <category_uuid> \
120
+ [--category-title <title>] \
121
+ [--path <uuid1,uuid2>] \
122
+ [--status <0|1|2>] \
123
+ [--description <text>] \
124
+ [--custom-content <text>] \
125
+ [--serial-number <number>] \
126
+ [--is-expiration <0|1>] \
127
+ [--expiration-day <days>] \
128
+ [--is-expiration-remind <0|1>] \
129
+ [--type <type>] \
130
+ [--advance-day <days>] \
131
+ [--is-student <0|1>] \
132
+ [--format json|yaml|table]
133
+ ```
134
+
135
+ **核心参数**:
136
+ - `--title`: 证书标题,必填
137
+ - `--code`: 证书编号,必填;必须唯一,只能由字母、数字、下划线组成,不超过 20 位
138
+ - `--image`: 证书图片 URL,必填;可以来自图片库图片,也可以来自 `+templates` 返回的内置模板 URL
139
+ - `--target-path`: 证书图片 OSS 路径,必填;例如 `dingfc5d942826fce9d9/public/image/certificate/certificate1.png`
140
+ - `--category-id`: 分类 UUID,必填,来自 `+category`
141
+ - `--path`: 分类路径 UUID 列表;不传时默认使用 `--category-id`
142
+ - `--custom-content`: 自定义内容;不传时默认使用 `--description`
143
+ - `--serial-number`: 流水号位数,系统会自动生成流水号并作为证书编号尾数;建议位数大于系统学员数位数,否则可能造成证书编号重复
144
+
145
+ **常用默认值**:
146
+ - `--status`: 默认 `0`
147
+ - `--serial-number`: 默认 `6`
148
+ - `--is-expiration`: 默认 `0`
149
+ - `--expiration-day`: 默认 `0`
150
+ - `--is-expiration-remind`: 默认 `0`
151
+ - `--type`: 默认 `1`
152
+ - `--advance-day`: 默认 `1`
153
+ - `--is-student`: 默认 `1`
154
+
155
+ **返回字段**(表格显示关键字段):
156
+ - `uuid`: 新证书 UUID
157
+ - `title`: 证书标题
158
+ - `status`: 证书状态
159
+ - `code`: 证书编号
160
+ - `serial_number`: 流水号位数
161
+ - `is_expiration`: 是否按有效期过期
162
+ - `expiration_day`: 有效天数
163
+ - `create_time`: 创建时间
164
+ - `create_user_name`: 创建人
165
+
166
+ **示例**:
167
+ ```bash
168
+ soke-cli certificate +create \
169
+ --title "111" \
170
+ --code "2343242345546565645" \
171
+ --image "https://newsokecdn.soke.cn/dingfc5d942826fce9d9/public/image/certificate/certificate1.png" \
172
+ --target-path "dingfc5d942826fce9d9/public/image/certificate/certificate1.png" \
173
+ --category-id "704E6B75-F4B3-4961-AEE4-D8C9FCC2D7FC" \
174
+ --status 0 \
175
+ --description "测试证书" \
176
+ --custom-content "测试证书" \
177
+ --serial-number 6 \
178
+ --is-expiration 1 \
179
+ --expiration-day 30 \
180
+ --is-expiration-remind 0 \
181
+ --type 1 \
182
+ --format json
183
+ ```
184
+ ---
185
+
186
+ ### +category
187
+
188
+ 查询证书分类列表,支持按分类名称模糊搜索。
189
+
190
+ **命令格式**:
191
+ ```bash
192
+ soke-cli certificate +category \
193
+ [--keyword <keyword>] \
194
+ [--format json|yaml|table]
195
+ ```
196
+
197
+ **参数说明**:
198
+ - `--keyword`: 关键词,模糊查询证书分类名称
199
+
200
+ **返回字段**(表格显示关键字段):
201
+ - `uuid`: 分类 UUID
202
+ - `title`: 分类名称
203
+ - `parent_id`: 父分类 ID
204
+ - `weight`: 排序权重
205
+ - `has_children`: 是否有子分类
206
+ - `create_dept_user_name`: 创建人
207
+ - `create_time`: 创建时间
208
+
209
+ **示例**:
210
+ ```bash
211
+ # 按关键词查询证书分类
212
+ soke-cli certificate +category --keyword "添加编号"
213
+
214
+ # 查询全部证书分类并输出完整 JSON
215
+ soke-cli certificate +category --format json
216
+ ```
217
+ ---
218
+
219
+ ### +get
220
+
221
+ 获取证书详情。
222
+
223
+ **命令格式**:
224
+ ```bash
225
+ soke-cli certificate +get \
226
+ --certificate-id <certificate_uuid> \
227
+ [--format json|yaml|table]
228
+ ```
229
+
230
+ **参数说明**:
231
+ - `--certificate-id`: 证书 UUID,通常来自 `certificate +list` 返回的 `data.list[].uuid`
232
+
233
+ **返回字段**(表格显示关键字段):
234
+ - `uuid`: 证书 UUID
235
+ - `title`: 证书标题
236
+ - `status`: 证书状态
237
+ - `code`: 证书编号
238
+ - `type`: 证书类型
239
+ - `target_point`: 目标学分/学时
240
+ - `category_title`: 分类名称
241
+ - `expire_time`: 过期时间
242
+ - `create_time`: 创建时间
243
+ - `update_time`: 更新时间
244
+
245
+ **示例**:
246
+ ```bash
247
+ soke-cli certificate +get --certificate-id DAACD37D-1B72-4CE4-B8D0-12C7F4DAA4C3
248
+
249
+ # 查看完整 info 和 categoryInfo
250
+ soke-cli certificate +get --certificate-id DAACD37D-1B72-4CE4-B8D0-12C7F4DAA4C3 --format json
251
+ ```
252
+ ---
253
+
254
+ ### +users
255
+
256
+ 查询证书用户获取记录,支持按证书、关键词、状态分页筛选。
257
+
258
+ **命令格式**:
259
+ ```bash
260
+ soke-cli certificate +users \
261
+ --certificate-id <certificate_uuid> \
262
+ [--keyword <keyword>] \
263
+ [--page <page>] \
264
+ [--limit <limit>] \
265
+ [--status <status>] \
266
+ [--format json|yaml|table]
267
+ ```
268
+
269
+ **参数说明**:
270
+ - `--certificate-id`: 证书 UUID,必填
271
+ - `--keyword`: 关键词,模糊查询用户姓名/工号
272
+ - `--page`: 页码,默认 `1`
273
+ - `--limit`: 每页条数,默认 `10`
274
+ - `--status`: 获取记录状态筛选,默认 `all`
275
+
276
+ **返回字段**(表格显示关键字段):
277
+ - `uuid`: 证书获取记录 UUID
278
+ - `dept_user_id`: 部门用户 ID
279
+ - `dept_user_name`: 学员姓名
280
+ - `job_number`: 工号
281
+ - `certificate_title`: 证书名称
282
+ - `certificate_num`: 证书编号
283
+ - `module`: 来源模块
284
+ - `status`: 状态
285
+ - `award_time`: 颁发时间
286
+ - `expire_time`: 证书过期时间
287
+
288
+ **示例**:
289
+ ```bash
290
+ # 查询某证书下的用户获取记录
291
+ soke-cli certificate +users --certificate-id 8200D7C4-6DD1-4F09-BC9B-940512A7E7C4 --page 1 --limit 10 --status all
292
+
293
+ # 按用户关键词筛选
294
+ soke-cli certificate +users --certificate-id 8200D7C4-6DD1-4F09-BC9B-940512A7E7C4 --keyword "武玲"
295
+
296
+ # 查看完整字段
297
+ soke-cli certificate +users --certificate-id 8200D7C4-6DD1-4F09-BC9B-940512A7E7C4 --format json
298
+ ```
299
+ ---
300
+
301
+ ### +award
302
+
303
+ 手动给用户颁发证书。`user_list` 需要使用部门用户列表中的用户对象。
304
+
305
+ **命令格式**:
306
+ ```bash
307
+ soke-cli certificate +award \
308
+ --certificate-id <certificate_uuid> \
309
+ --certificate-title <title> \
310
+ --certificate-num <certificate_num> \
311
+ --certificate-image <image_url> \
312
+ --user-list-json '<user_array_json>' \
313
+ [--lang zh] \
314
+ [--utcoffset -28800] \
315
+ [--format json|yaml|table]
316
+ ```
317
+
318
+ **参数说明**:
319
+ - `--certificate-id`: 证书 UUID,通常来自 `certificate +list`
320
+ - `--certificate-title`: 证书标题
321
+ - `--certificate-num`: 证书编号
322
+ - `--certificate-image`: 证书图片 URL
323
+ - `--user-list-json`: 部门用户对象数组 JSON,来自 `contact +list-department-users`
324
+ - `--lang`: 语言,默认 `zh`
325
+ - `--utcoffset`: 时区偏移,默认 `-28800`
326
+
327
+ **user-list-json 示例字段**:
328
+ - `dept_id`: 部门 ID
329
+ - `user_id`: 用户 ID
330
+ - `show_name`: 展示姓名
331
+ - `dept_user_id`: 部门用户 ID
332
+ - `dept_user_name`: 部门用户姓名
333
+ - `avatar_color`: 头像颜色
334
+ - `avatar`: 头像
335
+ - `job_number`: 工号
336
+ - `position`: 职位
337
+
338
+ **示例**:
339
+ ```bash
340
+ # 先查询部门用户
341
+ soke-cli contact +list-department-users --dept-id -999 --page 1 --page-size 100 --format json
342
+
343
+ # 使用部门用户对象数组颁发证书
344
+ soke-cli certificate +award \
345
+ --certificate-id CE459727-7895-4F90-9F68-FEEB532BC5EA \
346
+ --certificate-title "普通证书批量导入测试1111" \
347
+ --certificate-num "15678765432123456787" \
348
+ --certificate-image "https://newsokecdn.soke.cn/dingfc5d942826fce9d9/public/image/certificate/certificate2.gif" \
349
+ --user-list-json '[{"dept_id":-999,"user_id":"92B5B989-A708-477A-8ACF-4222C7137CF5","show_name":"钰欣","dept_user_id":"SOKE0088-5840-423E-B205-0E3CC6D877F1","dept_user_name":"钰欣","avatar_color":"#4DA9EB","avatar":"","job_number":"","position":""}]'
350
+ ```
351
+
352
+ **接口**: `POST /skills/certificate/user/create?lang=zh&utcoffset=-28800`
353
+
354
+ ---
355
+
356
+ ### +cancel-user
357
+
358
+ 取消学员证书。路径里的 UUID 是 `certificate +users` 返回的证书获取记录 `uuid`,不是证书 UUID。
359
+
360
+ **命令格式**:
361
+ ```bash
362
+ soke-cli certificate +cancel-user \
363
+ --certificate-user-id <certificate_user_uuid> \
364
+ --content <reason> \
365
+ [--format json|yaml|table]
366
+ ```
367
+
368
+ **参数说明**:
369
+ - `--certificate-user-id`: 证书获取记录 UUID,来自 `certificate +users` 返回的 `data.list[].uuid`
370
+ - `--content`: 取消理由
371
+
372
+ **返回字段**(表格显示关键字段):
373
+ - `status`: 更新后的状态
374
+ - `is_delete`: 是否删除
375
+ - `cancel_message`: 取消原因
376
+ - `update_time`: 更新时间
377
+ - `update_user_name`: 更新人
378
+ - `certificate_image`: 证书图片
379
+
380
+ **示例**:
381
+ ```bash
382
+ # 先查询证书用户获取记录,拿到记录 uuid
383
+ soke-cli certificate +users --certificate-id 8200D7C4-6DD1-4F09-BC9B-940512A7E7C4 --format json
384
+
385
+ # 取消学员证书
386
+ soke-cli certificate +cancel-user \
387
+ --certificate-user-id 47C64244-E402-4CD9-84FD-406E7967BE33 \
388
+ --content "这是理由"
389
+ ```
390
+
391
+ **接口**: `PUT /skills/certificate/user/update/{uuid}`
392
+
393
+ ---
394
+
395
+ ### +check-linked
396
+
397
+ 查询证书是否被课程、考试、学习地图、培训或学习阶段关联。
398
+
399
+ **命令格式**:
400
+ ```bash
401
+ soke-cli certificate +check-linked \
402
+ --certificate-id <certificate_uuid> \
403
+ [--format json|yaml|table]
404
+ ```
405
+
406
+ **参数说明**:
407
+ - `--certificate-id`: 证书 UUID,通常来自 `certificate +list` 返回的 `data.list[].uuid`
408
+
409
+ **返回字段**(表格显示关键字段):
410
+ - `module`: 模块标识
411
+ - `module_name`: 模块名称
412
+ - `title`: 关联资源标题
413
+ - `title_num`: 关联资源数量
414
+
415
+ **示例**:
416
+ ```bash
417
+ soke-cli certificate +check-linked --certificate-id 8200D7C4-6DD1-4F09-BC9B-940512A7E7C4
418
+ ```
419
+
420
+ ---
421
+
422
+ ### +coordinate
423
+
424
+ 设置证书上的用户名、发证时间、到期时间、编号、自定义内容、积分、部门等字段坐标和样式。
425
+
426
+ **命令格式**:
427
+ ```bash
428
+ soke-cli certificate +coordinate \
429
+ --certificate-id <certificate_uuid> \
430
+ [--user-name-left <px>] \
431
+ [--user-name-top <px>] \
432
+ [--user-name-font-size <px>] \
433
+ [--user-name-color <color>] \
434
+ [--date-time-left <px>] \
435
+ [--date-time-top <px>] \
436
+ [--date-time-font-size <px>] \
437
+ [--date-time-color <color>] \
438
+ [--expire-time-left <px>] \
439
+ [--expire-time-top <px>] \
440
+ [--expire-time-font-size <px>] \
441
+ [--expire-time-color <color>] \
442
+ [--cert-code-left <px>] \
443
+ [--cert-code-top <px>] \
444
+ [--cert-code-font-size <px>] \
445
+ [--cert-code-color <color>] \
446
+ [--customize-left <px>] \
447
+ [--customize-top <px>] \
448
+ [--customize-font-size <px>] \
449
+ [--customize-color <color>] \
450
+ [--point-left <px>] \
451
+ [--point-top <px>] \
452
+ [--point-font-size <px>] \
453
+ [--point-color <color>] \
454
+ [--dept-names-left <px>] \
455
+ [--dept-names-top <px>] \
456
+ [--dept-names-font-size <px>] \
457
+ [--dept-names-color <color>] \
458
+ [--width <px>] \
459
+ [--height <px>] \
460
+ [--dept-show <0|1>] \
461
+ [--format json|yaml|table]
462
+ ```
463
+
464
+ **参数说明**:
465
+ - `--certificate-id`: 证书 UUID,通常来自 `certificate +list` 返回的 `data.list[].uuid`
466
+ - `--user-name-left/top/font-size/color`: 用户名距离左边框、顶部的像素位置,以及文字大小和颜色
467
+ - `--date-time-left/top/font-size/color`: 发证时间距离左边框、顶部的像素位置,以及文字大小和颜色
468
+ - `--expire-time-left/top/font-size/color`: 到期时间距离左边框、顶部的像素位置,以及文字大小和颜色
469
+ - `--cert-code-left/top/font-size/color`: 证书编号距离左边框、顶部的像素位置,以及文字大小和颜色
470
+ - `--customize-left/top/font-size/color`: 自定义内容距离左边框、顶部的像素位置,以及文字大小和颜色
471
+ - `--point-left/top/font-size/color`: 积分距离左边框、顶部的像素位置,以及文字大小和颜色
472
+ - `--dept-names-left/top/font-size/color`: 部门距离左边框、顶部的像素位置,以及文字大小和颜色
473
+ - `--width` / `--height`: 证书画布宽高,单位像素
474
+ - `--dept-show`: 部门是否显示,`0` 不显示,`1` 显示
475
+ - `--status`: 证书状态,`0` 未发布,`1` 已发布,`2` 已关闭
476
+ - `--action`: 坐标设置动作,默认 `coor`
477
+ - `--nwidth` / `--nheight`: 证书图片宽高缩放比例
478
+
479
+ **示例**:
480
+ ```bash
481
+ soke-cli certificate +coordinate \
482
+ --certificate-id 65092195-49D0-453F-9CE1-A6CBB4502EF1 \
483
+ --user-name-left "518.7747789200492px" \
484
+ --user-name-top "450.53825882621436px" \
485
+ --user-name-font-size "16px" \
486
+ --user-name-color "#409EFF" \
487
+ --date-time-left "826.5791337253736px" \
488
+ --date-time-top "496.53478056534476px" \
489
+ --expire-time-left "707.2756554645041px" \
490
+ --expire-time-top "498.1573838275412px" \
491
+ --cert-code-left "780.7005668573794px" \
492
+ --cert-code-top "443.16283331829567px" \
493
+ --cert-code-font-size "16px" \
494
+ --cert-code-color "#409EFF" \
495
+ --customize-left "444px" \
496
+ --customize-top "218px" \
497
+ --customize-font-size "16px" \
498
+ --customize-color "#409EFF" \
499
+ --point-left "220px" \
500
+ --point-top "160px" \
501
+ --point-font-size "16px" \
502
+ --point-color "#409EFF" \
503
+ --dept-names-left "220px" \
504
+ --dept-names-top "220px" \
505
+ --dept-names-font-size "16px" \
506
+ --dept-names-color "#409EFF" \
507
+ --width 1653 \
508
+ --height "1169.9919626086958" \
509
+ --dept-show 1
510
+ ```
511
+
512
+ ---
513
+
514
+ ### +update
515
+
516
+ 更新证书数据、发布证书或关闭证书。接口根据 `action` 判断操作类型:`update` 更新数据,`publish` 发布,`close` 关闭。
517
+
518
+ **命令格式**:
519
+ ```bash
520
+ soke-cli certificate +update \
521
+ --certificate-id <certificate_uuid> \
522
+ --action <update|publish|close> \
523
+ [--title <title>] \
524
+ [--code <code>] \
525
+ [--store-code <old_code>] \
526
+ [--image <image_url>] \
527
+ [--target-path <oss_path>] \
528
+ [--description <text>] \
529
+ [--path <uuid1,uuid2>] \
530
+ [--custom-content <text>] \
531
+ [--serial-number <number>] \
532
+ [--expire-time <YYYY-MM-DD>] \
533
+ [--target-point <point>] \
534
+ [--credit-year <year>] \
535
+ [--is-expiration <0|1>] \
536
+ [--expiration-day <days>] \
537
+ [--is-expiration-remind <0|1>] \
538
+ [--advance-day <days>] \
539
+ [--is-student <0|1>] \
540
+ [--is-designated-personnel <0|1>] \
541
+ [--format json|yaml|table]
542
+ ```
543
+
544
+ **参数说明**:
545
+ - `--certificate-id`: 证书 UUID,通常来自 `certificate +list` 返回的 `data.list[].uuid`
546
+ - `--action`: 操作类型;`update` 更新数据,`publish` 发布证书,`close` 关闭证书
547
+ - `--title`: 证书标题,`action=update` 时必填
548
+ - `--code`: 新证书编号,`action=update` 时必填;唯一,只能由字母、数字、下划线组成,不超过 20 位
549
+ - `--store-code`: 原证书编号,`action=update` 时必填
550
+ - `--image`: 证书图片 URL,`action=update` 时必填;可以来自图片库或内置模板
551
+ - `--target-path`: 证书图片 OSS 路径,`action=update` 时必填
552
+ - `--path`: 分类路径 UUID 列表,多个用英文逗号分隔,`action=update` 时必填
553
+ - `--custom-content`: 自定义内容;不传时默认使用 `--description`
554
+
555
+ **返回字段**(表格显示关键字段):
556
+ - `title`: 证书标题
557
+ - `code`: 证书编号
558
+ - `status`: 更新后的状态
559
+ - `update_time`: 更新时间
560
+ - `update_user_name`: 更新人
561
+
562
+ **示例**:
563
+ ```bash
564
+ # 更新证书数据
565
+ soke-cli certificate +update \
566
+ --certificate-id 65092195-49D0-453F-9CE1-A6CBB4502EF1 \
567
+ --action update \
568
+ --title "证书关闭获取测试" \
569
+ --code "1234444445577447787" \
570
+ --store-code "123444444557744778" \
571
+ --image "https://newsokecdn.soke.cn/dingfc5d942826fce9d9/public/image/certificate/certificate4.png" \
572
+ --target-path "dingfc5d942826fce9d9/public/image/certificate/certificate4.png" \
573
+ --description "232323" \
574
+ --path "DFECCF24-AFC5-40E4-A0FD-3B71BFB6B140" \
575
+ --custom-content "1212" \
576
+ --serial-number 6 \
577
+ --target-point "0.00"
578
+
579
+ # 发布证书
580
+ soke-cli certificate +update --certificate-id 65092195-49D0-453F-9CE1-A6CBB4502EF1 --action publish
581
+
582
+ # 关闭证书
583
+ soke-cli certificate +update --certificate-id 65092195-49D0-453F-9CE1-A6CBB4502EF1 --action close
584
+ ```
585
+
586
+ **接口**: `PUT /skills/certificate/update/{uuid}`
587
+
588
+ ---
589
+
590
+ ### +delete
591
+
592
+ 删除证书。
593
+
594
+ **命令格式**:
595
+ ```bash
596
+ soke-cli certificate +delete \
597
+ --certificate-id <certificate_uuid> \
598
+ [--format json|yaml|table]
599
+ ```
600
+
601
+ **参数说明**:
602
+ - `--certificate-id`: 证书 UUID,通常来自 `certificate +list` 返回的 `data.list[].uuid`
603
+
604
+ **示例**:
605
+ ```bash
606
+ soke-cli certificate +delete --certificate-id DAACD37D-1B72-4CE4-B8D0-12C7F4DAA4C3
607
+ ```
608
+
609
+ **接口**: `DELETE /skills/certificate/delete/{uuid}`
610
+
611
+ ---
612
+
613
+ ## 常见工作流
614
+
615
+ ### 查询内置模板
616
+
617
+ ```bash
618
+ soke-cli certificate +templates
619
+ ```
620
+
621
+ ### 创建证书
622
+
623
+ ```bash
624
+ soke-cli certificate +templates
625
+ soke-cli certificate +category --keyword "<分类关键词>"
626
+ soke-cli certificate +create \
627
+ --title "<证书标题>" \
628
+ --code "<唯一证书编号>" \
629
+ --image "<templates 返回的 url>" \
630
+ --target-path "<模板或图片库图片的 OSS path>" \
631
+ --category-id "<category 返回的 uuid>" \
632
+ --description "<证书简介>"
633
+ ```
634
+
635
+ ### 查询已发布证书并获取 UUID
636
+
637
+ ```bash
638
+ soke-cli certificate +list --status 1 --page 1 --limit 10 --format json
639
+ ```
640
+
641
+ 从返回的 `data.list[].uuid` 中获取证书 UUID。
642
+
643
+ ### 查看证书详情
644
+
645
+ ```bash
646
+ soke-cli certificate +get --certificate-id <certificate_uuid> --format json
647
+ ```
648
+
649
+ ### 查询证书用户获取记录
650
+
651
+ ```bash
652
+ soke-cli certificate +users --certificate-id <certificate_uuid> --page 1 --limit 10 --status all
653
+ ```
654
+
655
+ ### 手动颁发证书
656
+
657
+ ```bash
658
+ soke-cli contact +list-department-users --dept-id <dept_id> --format json
659
+ soke-cli certificate +award --certificate-id <certificate_uuid> --certificate-title "<证书标题>" --certificate-num "<证书编号>" --certificate-image "<证书图片 URL>" --user-list-json '<部门用户对象数组 JSON>'
660
+ ```
661
+
662
+ ### 取消学员证书
663
+
664
+ ```bash
665
+ soke-cli certificate +users --certificate-id <certificate_uuid> --format json
666
+ soke-cli certificate +cancel-user --certificate-user-id <certificate +users 返回的 uuid> --content "<取消理由>"
667
+ ```
668
+
669
+ ### 删除前检查模块关联
670
+
671
+ ```bash
672
+ soke-cli certificate +check-linked --certificate-id <certificate_uuid>
673
+ ```
674
+
675
+ ### 设置证书坐标
676
+
677
+ ```bash
678
+ soke-cli certificate +get --certificate-id <certificate_uuid> --format json
679
+ soke-cli certificate +coordinate --certificate-id <certificate_uuid> --user-name-left "518px" --user-name-top "450px"
680
+ ```
681
+
682
+ ### 更新、发布或关闭证书
683
+
684
+ ```bash
685
+ soke-cli certificate +update --certificate-id <certificate_uuid> --action update --title "<证书标题>" --code "<新证书编号>" --store-code "<原证书编号>" --image "<图片 URL>" --target-path "<OSS path>" --path "<分类 UUID>"
686
+ soke-cli certificate +update --certificate-id <certificate_uuid> --action publish
687
+ soke-cli certificate +update --certificate-id <certificate_uuid> --action close
688
+ ```
689
+
690
+ ### 删除证书
691
+
692
+ ```bash
693
+ soke-cli certificate +delete --certificate-id <certificate_uuid>
694
+ ```
695
+
696
+ ## 注意事项
697
+
698
+ 1. `+list` 使用 `limit` 参数,对接 `/skills/certificate/list`
699
+ 2. `+templates` 返回内置模板 URL 和对应 path
700
+ 3. `+create` 的 `image` 可以来自图片库图片或 `+templates` 返回的内置模板 URL
701
+ 4. `+create` 的 `path` 不传时默认使用 `category-id`
702
+ 5. `+create` 的 `target-path` 是图片 OSS 路径,不是完整 URL
703
+ 6. `+create` 的 `code` 是唯一证书编号,只能由字母、数字、下划线组成,不超过 20 位
704
+ 7. `+create` 的 `serial-number` 是系统自动生成的流水号位数,作为编号尾数,建议大于系统学员数位数
705
+ 8. `+category` 对接新版证书分类接口,返回结构为 `data.list.list`
706
+ 9. `+get` 返回完整 `data`,表格仅展示证书核心字段
707
+ 10. `+users` 对接证书用户获取记录接口,按 `certificate_id` 查询证书下用户获取记录
708
+ 11. `+award` 的 `user-list-json` 必须是部门用户对象数组,先从 `contact +list-department-users` 获取
709
+ 12. `+cancel-user` 使用的是 `+users` 返回的证书获取记录 UUID,不是证书 UUID
710
+ 13. `+check-linked` 可用于删除前确认是否有关联模块
711
+ 14. `+coordinate` 会根据命令行参数自动组装接口所需的坐标 JSON
712
+ 15. `+update` 的 `action` 支持 `update`、`publish`、`close`;`action=update` 时会发送证书数据字段
713
+ 16. `+delete` 是删除操作,请先确认目标证书 UUID
714
+ 17. 表格输出仅展示关键字段,完整字段请使用 `--format json`
715
+ 18. 权限不足或 Token 问题参考 [`./references/shared.md`](./references/shared.md)