@sokeai/cli 1.0.66 → 1.0.68

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 (87) hide show
  1. package/README.md +35 -0
  2. package/package.json +1 -1
  3. package/scripts/build-binaries.sh +10 -1
  4. package/skills/README.md +4 -0
  5. package/skills/SKILL.md +45 -1
  6. package/skills/ai-coach-director/.learnings/LEARNINGS.md +71 -0
  7. package/skills/ai-coach-director/SKILL.md +1229 -0
  8. package/skills/ai-coach-director/assets/ERRORS-TEMPLATE.md +5 -0
  9. package/skills/ai-coach-director/assets/FEATURE_REQUESTS-TEMPLATE.md +5 -0
  10. package/skills/ai-coach-director/assets/LEARNINGS-TEMPLATE.md +45 -0
  11. package/skills/ai-coach-director/assets/SKILL-TEMPLATE.md +177 -0
  12. package/skills/ai-coach-director/coaching/prompt-engineer/parts/part1-basic.md +59 -0
  13. package/skills/ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +317 -0
  14. package/skills/ai-coach-director/coaching/prompt-engineer/parts/part3-flow.md +72 -0
  15. package/skills/ai-coach-director/coaching/prompt-engineer/parts/part4-scoring.md +87 -0
  16. package/skills/ai-coach-director/coaching/prompt-engineer/parts/part5-constraints.md +48 -0
  17. package/skills/ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +217 -0
  18. package/skills/ai-coach-director/coaching/prompt-optimizer/prompt-optimizer.md +362 -0
  19. package/skills/ai-coach-director/coaching/role-profiler/role-profiler.md +87 -0
  20. package/skills/ai-coach-director/platform/interaction.md +312 -0
  21. package/skills/ai-coach-director/platform/soke-ai-training/soke-ai-training.md +93 -0
  22. package/skills/ai-coach-director/platform/sync-engine.md +974 -0
  23. package/skills/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
  24. package/skills/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
  25. package/skills/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
  26. package/skills/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
  27. package/skills/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
  28. package/skills/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
  29. package/skills/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
  30. package/skills/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
  31. package/skills/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
  32. package/skills/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
  33. package/skills/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
  34. package/skills/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
  35. package/skills/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
  36. package/skills/ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/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
  37. package/skills/ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277_/346/240/207/345/207/206/347/237/245/350/257/206/345/272/223.md +199 -0
  38. package/skills/ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277/347/237/245/350/257/206/345/272/223.md +388 -0
  39. package/skills/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
  40. package/skills/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
  41. package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/tuv-knowledge-base.md +125 -0
  42. package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/tuv-p03-first-call-scenario-prompt.md +428 -0
  43. package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204P03/351/231/252/347/273/203/346/211/247/350/241/214/346/226/271/346/241/210_20260610.md +225 -0
  44. package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/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
  45. package/skills/ai-coach-director/references/cases/create//346/237/220/345/234/260/346/226/271/351/223/266/350/241/214//346/237/220/345/234/260/346/226/271/351/223/266/350/241/214/345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277AI/351/231/252/347/273/203/346/265/213/350/257/225/347/224/250/344/276/213/345/220/210/351/233/206.md +525 -0
  46. package/skills/ai-coach-director/references/cases/create//347/211/251/346/265/201/350/241/214/344/270/232//347/211/251/346/265/201/350/241/214/344/270/232-/345/210/235/346/254/241/346/213/234/350/256/277/351/246/231/347/262/276/351/246/231/346/226/231/345/256/242/346/210/267.md +146 -0
  47. package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2061_/346/226/260/345/223/201/346/216/250/351/224/200_20260701.md +230 -0
  48. package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2062_/345/202/254/350/217/234/345/256/211/346/212/232_20260701.md +257 -0
  49. package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2063_/345/267/256/350/257/204/345/233/236/350/256/277_20260701.md +259 -0
  50. package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203/345/234/272/346/231/257/346/226/271/346/241/210_20260701.md +452 -0
  51. package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/345/256/242/346/210/267/347/241/256/350/256/244/345/217/215/351/246/210/350/241/250.md +133 -0
  52. package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/346/217/220/347/244/272/350/257/215/346/220/255/345/273/272_20260622.md +30 -0
  53. package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215_v1.md +333 -0
  54. package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215_v2_Part1-Part5.md +649 -0
  55. package/skills/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 +262 -0
  56. package/skills/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
  57. package/skills/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
  58. package/skills/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
  59. package/skills/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
  60. package/skills/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
  61. package/skills/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
  62. package/skills/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 +277 -0
  63. package/skills/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
  64. package/skills/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
  65. package/skills/ai-coach-director/references/cases//345/233/233/345/244/247/345/234/272/346/231/257_GoodCase_BadCase_20260701.md +194 -0
  66. package/skills/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
  67. package/skills/ai-coach-director/references/change-log-partwise-refactor.md +74 -0
  68. package/skills/ai-coach-director/references/env-check.md +132 -0
  69. package/skills/ai-coach-director/references/platform-api-pitfalls.md +218 -0
  70. package/skills/ai-coach-director/references/role-resource-matching.md +312 -0
  71. package/skills/ai-coach-director/references/self-improvement-examples.md +374 -0
  72. package/skills/ai-coach-director/references/verified-cli-cheatsheet.md +189 -0
  73. package/skills/ai-coach-director/scripts/activator.sh +4 -0
  74. package/skills/ai-coach-director/scripts/error-detector.sh +4 -0
  75. package/skills/ai-coach-director/scripts/extract-skill.sh +7 -0
  76. package/skills/soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md +3 -3
  77. package/skills/soke-course/SKILL.md +1 -1
  78. package/skills/soke-course/soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md +3 -3
  79. package/skills/soke-exam/SKILL.md +1 -1
  80. package/skills/soke-examPool/SKILL.md +124 -0
  81. package/skills/soke-learning-map/SKILL.md +3 -1
  82. package/skills/soke-learning-map/soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md +3 -3
  83. package/skills/soke-learning-profile/SKILL.md +1 -1
  84. package/skills/soke-photo-gallery/SKILL.md +1 -1
  85. package/skills/soke-shared/SKILL.md +1 -0
  86. package/skills/soke-task/SKILL.md +97 -0
  87. package/skills/soke-training-demand/SKILL.md +112 -0
@@ -0,0 +1,189 @@
1
+ # MentorAI CLI 已验证命令清单
2
+
3
+ > 用于 AI 陪练场景的标准命令速查。凡涉及场景创建、读取、预览、应用、封面上传、知识包同步,统一使用 `soke-cli ai-training +...`,不要省略 `ai-training`。
4
+
5
+ ## 0. 总规则
6
+
7
+ - 错误写法:`soke-cli +create-scenario`
8
+ - 正确写法:`soke-cli ai-training +create-scenario`
9
+ - 同理,`+get-scenario`、`+preview-scenario-update`、`+apply-scenario-update`、`+upload-scenario-cover`、`+sync`、`+bind-scenario` 都必须挂在 `ai-training` 子命令下
10
+ - 每次 `preview` / `apply` 前,先重新执行一次 `soke-cli ai-training +get-scenario`
11
+ - 每次 `apply` 后,立刻执行一次 `soke-cli ai-training +get-scenario --raw` 做验收
12
+ - ⚠️ **所有 soke-cli 命令通过 Bash 工具执行时,必须设置 `dangerouslyDisableSandbox: true`**。soke-cli 是 Go 编译二进制,在沙箱中会被限制执行(`permission denied` 或静默无输出)。此规则适用于本文件中全部命令,不限于创建型流程
13
+
14
+ ## 1. Step1 创建场景
15
+
16
+ ### 1.1 上传封面
17
+
18
+ ```bash
19
+ soke-cli ai-training +upload-scenario-cover \
20
+ --file ./scenario-cover.png \
21
+ --pretty
22
+ ```
23
+
24
+ ### 1.2 创建场景
25
+
26
+ ```bash
27
+ soke-cli ai-training +create-scenario \
28
+ --request-file ./step1-create.json \
29
+ --pretty
30
+ ```
31
+
32
+ ### 1.3 创建后立即回读
33
+
34
+ ```bash
35
+ soke-cli ai-training +get-scenario \
36
+ --scenario-id <scenario_id> \
37
+ --raw \
38
+ --pretty
39
+ ```
40
+
41
+ ## 2. Part2-Part5 通用同步模板
42
+
43
+ ### 2.1 先获取最新基线
44
+
45
+ ```bash
46
+ soke-cli ai-training +get-scenario \
47
+ --scenario-id <scenario_id> \
48
+ --pretty
49
+ ```
50
+
51
+ ### 2.2 预览更新
52
+
53
+ ```bash
54
+ soke-cli ai-training +preview-scenario-update \
55
+ --scenario-id <scenario_id> \
56
+ --base-updated-at <updated_at> \
57
+ --operations-file ./partX-operations.json \
58
+ --idempotency-key "cli-<scenario_short>-partX-preview" \
59
+ --reason "PartX: 更新说明" \
60
+ --pretty
61
+ ```
62
+
63
+ ### 2.3 应用更新
64
+
65
+ ```bash
66
+ soke-cli ai-training +apply-scenario-update \
67
+ --scenario-id <scenario_id> \
68
+ --base-updated-at <updated_at> \
69
+ --operations-file ./partX-operations.json \
70
+ --idempotency-key "cli-<scenario_short>-partX-apply" \
71
+ --reason "PartX: 更新说明" \
72
+ --pretty
73
+ ```
74
+
75
+ ### 2.4 应用后强制验收
76
+
77
+ ```bash
78
+ soke-cli ai-training +get-scenario \
79
+ --scenario-id <scenario_id> \
80
+ --raw \
81
+ --pretty
82
+ ```
83
+
84
+ ## 3. 各 Part 推荐 operations 文件名
85
+
86
+ - Part2:`./part2-operations.json`
87
+ - Part3:`./part3-operations.json`
88
+ - Part4:`./part4-operations.json`
89
+ - Part5:`./part5-operations.json`
90
+ - 微调:`./optimize-operations.json`
91
+
92
+ ## 4. 知识包同步与场景绑定
93
+
94
+ ### 4.1 同步知识包
95
+
96
+ ```bash
97
+ soke-cli ai-training +sync \
98
+ --manifest ./knowledge-package.json \
99
+ --idempotency-key "cli-<package_id>-sync" \
100
+ --pretty
101
+ ```
102
+
103
+ ### 4.2 绑定到场景
104
+
105
+ ```bash
106
+ soke-cli ai-training +bind-scenario \
107
+ --scenario-id <scenario_id> \
108
+ --version-ids <version_id> \
109
+ --compile-plan
110
+ ```
111
+
112
+ ## 5. 发布场景
113
+
114
+ ### 5.1 发布
115
+
116
+ ```bash
117
+ soke-cli ai-training +publish-scenario \
118
+ --scenario-id <scenario_id> \
119
+ --version 1 \
120
+ --version-description "CLI发布" \
121
+ --pretty
122
+ ```
123
+
124
+ ### 5.2 发布后验收
125
+
126
+ ```bash
127
+ soke-cli ai-training +get-scenario \
128
+ --scenario-id <scenario_id> \
129
+ --raw \
130
+ --pretty
131
+ ```
132
+
133
+ ## 6. 快照与恢复
134
+
135
+ ### 6.1 查询快照
136
+
137
+ ```bash
138
+ soke-cli ai-training +list-scenario-snapshots \
139
+ --scenario-id <scenario_id> \
140
+ --page 1 \
141
+ --page-size 20 \
142
+ --pretty
143
+ ```
144
+
145
+ ### 6.2 恢复快照
146
+
147
+ ```bash
148
+ soke-cli ai-training +restore-scenario-snapshot \
149
+ --scenario-id <scenario_id> \
150
+ --snapshot-id <snapshot_id> \
151
+ --reason "回滚本次 CLI 更新" \
152
+ --pretty
153
+ ```
154
+
155
+ ## 7. 当前已验证可用命令
156
+
157
+ - `soke-cli ai-training +upload-scenario-cover`
158
+ - `soke-cli ai-training +create-scenario`
159
+ - `soke-cli ai-training +get-scenario`
160
+ - `soke-cli ai-training +list-scenarios`
161
+ - `soke-cli ai-training +preview-scenario-update`
162
+ - `soke-cli ai-training +apply-scenario-update`
163
+ - `soke-cli ai-training +publish-scenario`
164
+ - `soke-cli ai-training +list-scenario-snapshots`
165
+ - `soke-cli ai-training +restore-scenario-snapshot`
166
+ - `soke-cli ai-training +sync`
167
+ - `soke-cli ai-training +bind-scenario`
168
+
169
+ ## 8. 常见误抄与纠正
170
+
171
+ - 误抄:`soke-cli +create-scenario`
172
+ - 改成:`soke-cli ai-training +create-scenario`
173
+ - 误抄:`soke-cli +get-scenario`
174
+ - 改成:`soke-cli ai-training +get-scenario`
175
+ - 误抄:`soke-cli +preview-scenario-update`
176
+ - 改成:`soke-cli ai-training +preview-scenario-update`
177
+ - 误抄:`soke-cli +apply-scenario-update`
178
+ - 改成:`soke-cli ai-training +apply-scenario-update`
179
+ - 误抄:`soke-cli +sync`
180
+ - 改成:`soke-cli ai-training +sync`
181
+ - 误抄:`soke-cli +bind-scenario`
182
+ - 改成:`soke-cli ai-training +bind-scenario`
183
+
184
+ ## 7. 推荐阅读顺序
185
+
186
+ 1. 先看 `platform-api-pitfalls.md`
187
+ 2. 再看 `platform/sync-engine.md`
188
+ 3. 真正执行前,按本文件复制命令模板
189
+ 4. 若平台返回与历史文档冲突,以最新 CLI 实证为准
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # AI 陪练 — 学习提醒钩子
3
+ # 每轮对话后提醒评估学习(可选启用)
4
+ echo "[activator] 提醒:检查本轮是否有新的学习点需要记录"
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # AI 陪练 — 命令错误检测
3
+ # 命令执行失败时自动检测并提示记录
4
+ echo "[error-detector] 检测到错误,建议记录到 .learnings/ERRORS.md"
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ # AI 陪练 — 学习条目提取为独立 skill
3
+ # 用法: extract-skill.sh LRN-YYYYMMDD-XXX [--dry-run]
4
+ LEARNING_ID="$1"
5
+ DRY_RUN="$2"
6
+ echo "[extract-skill] 从 $LEARNING_ID 提取新 skill"
7
+ [ "$DRY_RUN" = "--dry-run" ] && echo "[dry-run] 预览模式,不实际执行"
@@ -227,9 +227,9 @@ soke-cli config show
227
227
  app_secret: (未设置)
228
228
  api_base_url:
229
229
  corpid: corp_123456
230
- dept_user_id: user_789012
231
- user_token: eyJh...xyz
232
- bot_token: (未设置)
230
+ 用户ID: user_789012
231
+ 用户凭证: eyJh...xyz
232
+ token过期时间: 2026-10-17 12:00:00
233
233
  ```
234
234
 
235
235
  > 💡 **说明**: `app_key` 和 `app_secret` 在当前版本中不需要手动配置,授权流程会自动处理所有必要的认证信息。
@@ -239,7 +239,7 @@ Gate 4→5: ✅ status=1
239
239
  #### Phase 5: 指派学员
240
240
 
241
241
  → 调度 soke-assign
242
-
242
+
243
243
  Step 5.1 拉取部门列表
244
244
  exec: soke assign +list-departments
245
245
  提取: 全量部门名称+ID → 存内存
@@ -227,9 +227,9 @@ soke-cli config show
227
227
  app_secret: (未设置)
228
228
  api_base_url:
229
229
  corpid: corp_123456
230
- dept_user_id: user_789012
231
- user_token: eyJh...xyz
232
- bot_token: (未设置)
230
+ 用户ID: user_789012
231
+ 用户凭证: eyJh...xyz
232
+ token过期时间: 2026-10-17 12:00:00
233
233
  ```
234
234
 
235
235
  > 💡 **说明**: `app_key` 和 `app_secret` 在当前版本中不需要手动配置,授权流程会自动处理所有必要的认证信息。
@@ -2,7 +2,7 @@
2
2
  name: soke-exam
3
3
  summary: 授客考试管理(考试/题库/试题/试卷的创建、查询与管理),通过 soke-cli 操作
4
4
  version: 1.1.0
5
- description: "授客考试管理:创建和查询考试、题库、试题、试卷,管理考试用户和成绩。当用户需要创建考试、创建试题、管理题库、查询考试成绩、查看考试列表时使用。"
5
+ description: "授客考试管理:创建和查询考试、题库、试题、试卷,管理考试用户和成绩。当用户需要创建考试、创建试题、管理题库、查询考试成绩、查看考试列表时使用。 | Soke exam management: create and query exams, question banks, questions, and papers; manage exam users and scores. Use when users need to create exams, create questions, manage question banks, query exam scores, or view exam lists."
6
6
  metadata:
7
7
  requires:
8
8
  bins: ["soke-cli"]
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: soke-examPool
3
+ summary: 授客可练习题库查询(题库列表、题库详情、题目列表),通过 soke-cli exam-pool 命令操作
4
+ version: 1.0.0
5
+ description: "授客可练习题库查询:按 examQuestionPool 接口链路先查询题库列表,再用题库 uuid 查询详情和题目列表。当用户需要查看可练习题库、题库详情、题目内容、答案和解析时使用。 | Soke question pool lookup: use the examQuestionPool API flow to list pools, get pool detail, and list questions."
6
+ metadata:
7
+ requires:
8
+ bins: ["soke-cli"]
9
+ cliHelp: "soke-cli exam-pool --help"
10
+ ---
11
+
12
+ # 可练习题库查询 (examQuestionPool)
13
+
14
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../soke-shared/SKILL.md`](../soke-shared/SKILL.md),其中包含认证、配置、权限处理**
15
+
16
+ ## 核心链路
17
+
18
+ 这组命令对接 `/skills/examQuestionPool/...` 接口。调用顺序必须固定:
19
+
20
+ 1. `+list` 获取题库列表,从 `data.list[].uuid` 取题库 UUID。
21
+ 2. `+get --pool-id <uuid>` 查询详情,确认 `data.info.uuid` 与传入 `pool-id` 一致。
22
+ 3. `+questions --pool-id <uuid>` 使用同一个 `pool-id` 查询题目。
23
+
24
+ `--page`、`--page-size`、`--status` 只用于第一步列表分页和筛选,不要传给详情或题目查询。
25
+
26
+ ## Shortcuts 总览
27
+
28
+ | Shortcut | 说明 |
29
+ |----------|------|
30
+ | `+list` | 获取可练习题库列表,返回后续 `pool-id` 所需的 `uuid` |
31
+ | `+get` | 根据题库 `pool-id` 获取可练习题库详情 |
32
+ | `+questions` | 根据同一个 `pool-id` 获取题库题目 |
33
+
34
+ ## +list
35
+
36
+ 获取可练习题库列表。
37
+
38
+ ```bash
39
+ soke-cli exam-pool +list \
40
+ --page 1 \
41
+ --page-size 10 \
42
+ --status 1 \
43
+ --format json
44
+ ```
45
+
46
+ | 参数 | 必需 | 说明 |
47
+ |------|------|------|
48
+ | `--page` | 否 | 页码,从 1 开始,默认 1 |
49
+ | `--page-size` | 否 | 每页条数,默认 10 |
50
+ | `--status` | 否 | 状态筛选,`1` 表示启用 |
51
+
52
+ 关键返回字段:
53
+
54
+ | 字段 | 说明 |
55
+ |------|------|
56
+ | `data.list[].uuid` | 题库 UUID,后续作为 `--pool-id` |
57
+ | `data.list[].title` | 题库标题 |
58
+ | `data.list[].question_count` | 题目数量 |
59
+ | `data.list[].category_title` | 分类名称 |
60
+
61
+ ## +get
62
+
63
+ 根据题库 UUID 获取可练习题库详情。
64
+
65
+ ```bash
66
+ soke-cli exam-pool +get \
67
+ --pool-id "<上一步 data.list[].uuid>" \
68
+ --format json
69
+ ```
70
+
71
+ | 参数 | 必需 | 说明 |
72
+ |------|------|------|
73
+ | `--pool-id` | 是 | 题库 ID,必须来自 `+list` 的 `data.list[].uuid` |
74
+
75
+ 关键返回字段:
76
+
77
+ | 字段 | 说明 |
78
+ |------|------|
79
+ | `data.info.uuid` | 题库 UUID,应与请求 `--pool-id` 一致 |
80
+ | `data.info.title` | 题库标题 |
81
+ | `data.all_count` | 题库总题数 |
82
+ | `data.point` | 积分配置 |
83
+ | `data.examPoolUser` | 当前用户在题库中的状态 |
84
+ | `data.question_url` | 题库题目 JSON 地址 |
85
+ | `data.answer_url` | 题库答案 JSON 地址 |
86
+
87
+ ## +questions
88
+
89
+ 根据同一个题库 UUID 获取题目明细。
90
+
91
+ ```bash
92
+ soke-cli exam-pool +questions \
93
+ --pool-id "<同一个题库 uuid>" \
94
+ --format json
95
+ ```
96
+
97
+ | 参数 | 必需 | 说明 |
98
+ |------|------|------|
99
+ | `--pool-id` | 是 | 题库 ID,复用列表或详情中的同一个 UUID |
100
+
101
+ 关键返回字段:
102
+
103
+ | 字段 | 说明 |
104
+ |------|------|
105
+ | `data.pool_id` | 题库 ID,应与请求 `--pool-id` 一致 |
106
+ | `data.content[].uuid` | 题目 UUID |
107
+ | `data.content[].title` | 题目标题 |
108
+ | `data.content[].type` | 题目类型 |
109
+ | `data.content[].choices` | 选项列表 |
110
+ | `data.content[].show_answer` | 展示答案 |
111
+ | `data.content[].analysis` | 题目解析 |
112
+
113
+ ## 推荐操作顺序
114
+
115
+ ```bash
116
+ # 1. 查询题库列表,取 data.list[0].uuid
117
+ soke-cli exam-pool +list --page 1 --page-size 10 --status 1 --format json
118
+
119
+ # 2. 查询题库详情
120
+ soke-cli exam-pool +get --pool-id "<pool_uuid>" --format json
121
+
122
+ # 3. 查询同一题库的题目
123
+ soke-cli exam-pool +questions --pool-id "<pool_uuid>" --format json
124
+ ```
@@ -2,7 +2,7 @@
2
2
  name: soke-learning-map
3
3
  summary: 授客学堂学习地图管理(创建/阶段/发布/查询/指派),完整管理学习地图生命周期
4
4
  version: 1.0.0
5
- description: "授客学堂学习地图管理:完整的学习地图生命周期管理,包括创建学习地图、查询课程分类与课程、检查课程可用性、创建阶段、发布地图、指派部门/学员、查询学员进度的全链路流程。集成 soke-assign(指派管理)子 skill。当用户需要创建学习地图、添加阶段和课程内容、发布地图、指派学员、查询学习进度时使用。"
5
+ description: "授客学堂学习地图管理:完整的学习地图生命周期管理,包括创建学习地图、查询课程分类与课程、检查课程可用性、创建阶段、发布地图、指派部门/学员、查询学员进度的全链路流程。集成 soke-assign(指派管理)子 skill。学习地图学员统计导出任务已独立到 soke-task skill。当用户需要创建学习地图、添加阶段和课程内容、发布地图、指派学员、查询学习进度时使用。 | Soke Academy learning map management: complete learning map lifecycle management, covering the full workflow of creating learning maps, querying course categories and courses, checking course availability, creating stages, publishing maps, assigning departments/learners, and querying learner progress. Integrates soke-assign (assignment management) sub-skill. Learning map learner statistics export tasks are handled by the standalone soke-task skill. Use when users need to create learning maps, add stages and course content, publish maps, assign learners, or query learning progress."
6
6
  metadata:
7
7
  requires:
8
8
  bins: ["soke-cli"]
@@ -380,6 +380,8 @@ soke-cli learning-map +detail --uuid "MAP-UUID" --format json
380
380
  | `+list-item-users` | 查询内容学员列表 | read |
381
381
  | `+get-map-user` | 查询单个学员详情 | read |
382
382
 
383
+ 学员统计导出任务使用独立模块:`soke-cli task +create` / `soke-cli task +get`,详见 [`../soke-task/SKILL.md`](../soke-task/SKILL.md)。
384
+
383
385
  ### 指派管理(soke-assign)
384
386
 
385
387
  | 命令 | 说明 |
@@ -227,9 +227,9 @@ soke-cli config show
227
227
  app_secret: (未设置)
228
228
  api_base_url:
229
229
  corpid: corp_123456
230
- dept_user_id: user_789012
231
- user_token: eyJh...xyz
232
- bot_token: (未设置)
230
+ 用户ID: user_789012
231
+ 用户凭证: eyJh...xyz
232
+ token过期时间: 2026-10-17 12:00:00
233
233
  ```
234
234
 
235
235
  > 💡 **说明**: `app_key` 和 `app_secret` 在当前版本中不需要手动配置,授权流程会自动处理所有必要的认证信息。
@@ -2,7 +2,7 @@
2
2
  name: soke-learning-profile
3
3
  summary: 学员学习档案查询
4
4
  version: 1.0.0
5
- description: "学员学习档案查询:查询学员的完整学习记录,包括课程学习、考试成绩、证书获取、学分积分等。当用户需要查询学员学习档案、查看学员学习情况、统计学员学习数据、查询学员综合学习信息时使用。"
5
+ description: "学员学习档案查询:查询学员的完整学习记录,包括课程学习、考试成绩、证书获取、学分积分等。当用户需要查询学员学习档案、查看学员学习情况、统计学员学习数据、查询学员综合学习信息时使用。 | Learner learning profile query: query a learner's complete learning records, including course learning progress, exam scores, certificate acquisition, credits, and points. Use when users need to query learner profiles, review learning status, aggregate learning statistics, or retrieve comprehensive learning information for a learner."
6
6
  metadata:
7
7
  requires:
8
8
  bins: ["soke-cli"]
@@ -2,7 +2,7 @@
2
2
  name: soke-photo-gallery
3
3
  summary: 授客图片库管理(查询分类/图片列表、上传图片、批量删除),上传自动处理 OSS 存储
4
4
  version: 1.0.0
5
- description: "授客图片库管理:查询图片分类列表、查询图片库列表、上传本地图片到图片库(自动先上传 OSS 再创建记录)、批量删除图片。当用户需要管理图片库、上传图片、查询图片、删除图片时使用。"
5
+ description: "授客图片库管理:查询图片分类列表、查询图片库列表、上传本地图片到图片库(自动先上传 OSS 再创建记录)、批量删除图片。当用户需要管理图片库、上传图片、查询图片、删除图片时使用。 | Soke photo gallery management: query image category lists, query photo gallery lists, upload local images to the gallery (automatically uploads to OSS first, then creates the record), and batch delete images. Use when users need to manage the photo gallery, upload images, query images, or delete images."
6
6
  metadata:
7
7
  requires:
8
8
  bins: ["soke-cli"]
@@ -21,6 +21,7 @@ soke-cli auth login
21
21
  ```
22
22
 
23
23
  配置项包括:
24
+ - `app_id`: 开放平台应用ID
24
25
  - `app_key`: 开放平台应用Key
25
26
  - `app_secret`: 开放平台应用Secret
26
27
  - `api_base_url`: API地址(默认: https://opendev.soke.cn)
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: soke-task
3
+ summary: 授客学堂异步任务管理(创建任务/查询任务),支持学习地图学员统计导出
4
+ version: 1.0.0
5
+ description: "授客学堂异步任务管理:通过独立 task 命令创建和查询异步导出任务。目前支持学习地图学员统计导出任务,按“创建任务 -> 获取 data.id -> 查询任务详情和 filePath”的流程使用。当用户需要导出学习地图学员统计、查询导出任务状态、获取导出文件下载地址时使用。 | Soke Academy async task management: create and query export jobs through the standalone task command. Currently supports learning map learner statistics export tasks. Use when users need to export learner statistics, check export task status, or obtain exported file URLs."
6
+ metadata:
7
+ requires:
8
+ bins: ["soke-cli"]
9
+ cliHelp: "soke-cli task --help"
10
+ ---
11
+
12
+ # 异步任务管理 (soke-task)
13
+
14
+ **CRITICAL — 开始前 MUST 先读取 [`../soke-shared/SKILL.md`](../soke-shared/SKILL.md),其中包含认证、配置和权限处理。**
15
+
16
+ ## 核心规则
17
+
18
+ - 任务接口是独立模块,命令统一使用 `soke-cli task ...`,不要使用 `soke-cli learning-map ...` 创建或查询任务。
19
+ - 创建任务后必须保存返回的 `data.id`,再调用 `+get` 查询任务详情。
20
+ - 默认用 `--format json` 获取结构化输出;需要人工快速查看时可省略 format 输出表格。
21
+ - 当前已知任务类型是学习地图学员统计导出,`--module` 默认 `learningMapUser`,`--action` 默认 `export`。
22
+
23
+ ## 命令
24
+
25
+ ### 创建学习地图学员统计导出任务
26
+
27
+ ```bash
28
+ soke-cli task +create \
29
+ --map-id "MAP-UUID" \
30
+ --learn-type "required" \
31
+ --limit 4500 \
32
+ --format json
33
+ ```
34
+
35
+ 完整参数:
36
+
37
+ | 参数 | 必填 | 默认值 | 说明 |
38
+ |------|------|--------|------|
39
+ | `--map-id` | 是 | - | 学习地图 UUID |
40
+ | `--module` | 否 | `learningMapUser` | 任务模块,学习地图学员统计固定为 `learningMapUser` |
41
+ | `--learn-type` | 否 | `required` | 学习类型,如 `required` |
42
+ | `--learn-status` | 否 | 空 | 学习状态筛选:空值表示不限,`learning` 未完成,`finished` 已完成 |
43
+ | `--eligible-status` | 否 | 空 | 达标状态筛选,空值表示不限 |
44
+ | `--limit` | 否 | `4500` | 任务处理上限 |
45
+ | `--action` | 否 | `export` | 操作类型,导出任务固定为 `export` |
46
+
47
+ 响应关键字段:
48
+
49
+ | 字段 | 说明 |
50
+ |------|------|
51
+ | `data.id` | 任务 ID,查询任务详情时传给 `+get --id` |
52
+ | `data.key` | 任务去重或配置缓存 Key |
53
+ | `data.config_result` | 上游配置模块检查结果 |
54
+
55
+ 默认输出会打印单行任务 ID,例如 `id:13288419`。需要完整字段时使用 `--format json`。
56
+
57
+ ### 查询异步导出任务
58
+
59
+ ```bash
60
+ soke-cli task +get --id "TASK-ID" --format json
61
+ ```
62
+
63
+ 响应关键字段:
64
+
65
+ | 字段 | 说明 |
66
+ |------|------|
67
+ | `data.status` | 任务执行状态;接口示例中 `2` 表示执行完成 |
68
+ | `data.export_status` | 导出状态;接口示例中 `2` 表示已生成导出文件 |
69
+ | `data.filePath` | 导出文件访问地址,未生成时为空 |
70
+ | `data.filename` | 导出文件名 |
71
+ | `data.filesize` | 导出文件大小 |
72
+ | `data.params` | 创建任务参数的 JSON 字符串 |
73
+
74
+ ## 推荐工作流
75
+
76
+ ```bash
77
+ TASK_ID=$(soke-cli task +create \
78
+ --map-id "$MAP_UUID" \
79
+ --learn-type "required" \
80
+ --limit 4500 \
81
+ --format json | jq -r '.data.id')
82
+
83
+ soke-cli task +get --id "$TASK_ID" --format json | jq -r '.data.filePath'
84
+ ```
85
+
86
+ ## API 接口映射
87
+
88
+ | CLI 命令 | API 路径 | 方法 |
89
+ |----------|----------|------|
90
+ | `task +create` | `/skills/job/task` | POST (form) |
91
+ | `task +get` | `/skills/job/task/{id}` | GET |
92
+
93
+ ## 排错
94
+
95
+ - `data.filePath` 为空:任务可能还未完成,等待后重新执行 `task +get --id "TASK-ID" --format json`。
96
+ - `未登录授权`:按 `soke-shared` 执行 `soke-cli auth login` 后重试。
97
+ - 任务创建失败:确认 `--map-id` 是有效学习地图 UUID,`--module learningMapUser`,`--action export`。
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: soke-training-demand
3
+ summary: 培训需求收集:查询需求、查询分类、提交培训需求和投票
4
+ version: 1.0.0
5
+ description: "用于通过 soke-cli 对接授客AI培训需求收集接口。当用户需要查看培训需求列表、获取需求分类、提交新的培训需求、或给培训需求投票时使用。"
6
+ metadata:
7
+ requires:
8
+ bins: ["soke-cli"]
9
+ cliHelp: "soke-cli training-demand --help"
10
+ ---
11
+
12
+ # 培训需求收集
13
+
14
+ **CRITICAL — 开始前 MUST 先读取 [`../soke-shared/SKILL.md`](../soke-shared/SKILL.md),其中包含认证、配置和权限处理。**
15
+
16
+ ## 核心规则
17
+
18
+ - 提交需求前,先执行 `+list-categories`,使用返回的分类 `uuid` 和 `title`。
19
+ - 投票前,先执行 `+list`,使用返回的培训需求 `uuid`。不要把分类 `uuid` 传给投票接口。
20
+ - 创建和投票是写操作。用户意图不明确时,先确认要提交或投票的对象。
21
+ - 默认用 `--format json` 获取结构化输出;需要人工快速查看时可省略 format 输出表格。
22
+
23
+ ## 命令
24
+
25
+ ### 查询培训需求列表
26
+
27
+ ```bash
28
+ soke-cli training-demand +list \
29
+ --page 1 \
30
+ --limit 10 \
31
+ --status 1 \
32
+ --keyword "" \
33
+ --is-owner 0 \
34
+ --create-time-order desc \
35
+ --owner-vote 0 \
36
+ --format json
37
+ ```
38
+
39
+ 列表返回的 `data.list[].uuid` 是投票使用的培训需求 UUID。
40
+
41
+ ### 查询培训需求分类
42
+
43
+ ```bash
44
+ soke-cli training-demand +list-categories --format json
45
+ ```
46
+
47
+ 分类返回的 `data.list[].uuid` 和 `data.list[].title` 只用于创建需求。
48
+
49
+ ### 提交培训需求
50
+
51
+ 推荐从分类列表提取分类后,用分类 UUID 和名称提交:
52
+
53
+ ```bash
54
+ soke-cli training-demand +create \
55
+ --title "门店销售沟通训练" \
56
+ --tag "销售,沟通" \
57
+ --level 0 \
58
+ --category-uuid "FA0C937C-EE52-463B-BE3A-C13F96C426AE" \
59
+ --category-title "新建培训需求测试" \
60
+ --format json
61
+ ```
62
+
63
+ 多分类或已有完整分类数组时,使用 `--category-list`:
64
+
65
+ ```bash
66
+ soke-cli training-demand +create \
67
+ --title "新员工产品知识培训" \
68
+ --tag "产品,新员工" \
69
+ --level 0 \
70
+ --category-list '[{"uuid":"FA0C937C-EE52-463B-BE3A-C13F96C426AE","title":"新建培训需求测试"}]' \
71
+ --format json
72
+ ```
73
+
74
+ ### 给培训需求投票
75
+
76
+ ```bash
77
+ soke-cli training-demand +vote \
78
+ --uuid "41EA8B23-5E5E-48FD-99A3-FF8F420752A6" \
79
+ --format json
80
+ ```
81
+
82
+ `--uuid` 必须来自 `+list` 返回的需求 UUID。
83
+
84
+ ## 常见工作流
85
+
86
+ 1. 用户说“我想提一个培训需求”:
87
+ - 先问清楚标题、标签、分类偏好和等级。
88
+ - 执行 `+list-categories --format json`。
89
+ - 匹配或让用户选择分类。
90
+ - 执行 `+create`。
91
+
92
+ 2. 用户说“帮我给某个需求投票”:
93
+ - 执行 `+list --keyword "<关键词>" --format json`。
94
+ - 用需求标题和创建人等信息确认目标。
95
+ - 执行 `+vote --uuid "<需求uuid>"`。
96
+
97
+ 3. 用户只想浏览需求:
98
+ - 执行 `+list --page 1 --limit 10 --create-time-order desc`。
99
+ - 返回标题、分类、标签、票数、是否已投票和需求 UUID。
100
+
101
+ ## 字段依赖
102
+
103
+ | 场景 | 依赖字段 | 来源 |
104
+ |------|----------|------|
105
+ | 创建需求 | `category_list[].uuid` / `category_list[].title` | `+list-categories` 的 `data.list[]` |
106
+ | 投票 | `uuid` | `+list` 的 `data.list[].uuid` |
107
+
108
+ ## 排错
109
+
110
+ - 创建失败提示分类无效:重新执行 `+list-categories`,不要使用需求列表中的分类名称手写 UUID。
111
+ - 投票失败提示需求无效:确认传入的是培训需求 UUID,不是分类 UUID。
112
+ - 鉴权失败:按 `soke-shared` 执行 `soke-cli auth login` 后重试。