@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.
- package/package.json +1 -1
- package/scripts/install.js +2 -2
- package/scripts/local-test.js +1 -1
- package/scripts/test-auto-detect.js +20 -3
- package/skills/README.md +25 -174
- package/skills/SKILL.md +17 -239
- package/skills/mono/README.md +10 -0
- package/skills/mono/SKILL.md +223 -0
- 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
- package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/README.md +2 -1
- package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part1-basic.md +1 -1
- package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/publish-gate.md +1 -0
- package/skills/mono/references/modules/soke-ai-coach-director/platform/soke-ai-training/soke-ai-training.md +123 -0
- package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-handbook.md +5 -5
- package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part1.md +5 -5
- package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/platform-api-pitfalls.md +1 -1
- package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part1/SOP.md +2 -2
- package/skills/mono/references/modules/soke-ai-coach-director/scripts/gate_check.py +114 -0
- package/skills/mono/references/modules/soke-ai-coach-director/scripts/validate_operations.py +410 -0
- package/skills/{soke-ai-training/SKILL.md → mono/references/modules/soke-ai-training/MODULE.md} +3 -1
- package/skills/mono/references/modules/soke-assign/README.md +308 -0
- package/skills/{soke-certificate/SKILL.md → mono/references/modules/soke-certificate/MODULE.md} +2 -2
- package/skills/mono/references/modules/soke-course/MODULE.md +402 -0
- package/skills/mono/references/modules/soke-course/README.md +291 -0
- package/skills/{soke-course → mono/references/modules/soke-course}/references/examples.md +3 -3
- package/skills/{soke-exam/SKILL.md → mono/references/modules/soke-exam/MODULE.md} +1 -1
- package/skills/{soke-learning-map/SKILL.md → mono/references/modules/soke-learning-map/MODULE.md} +5 -6
- package/skills/{soke-learning-profile/SKILL.md → mono/references/modules/soke-learning-profile/MODULE.md} +2 -2
- package/skills/mono/references/modules/soke-lesson/README.md +53 -0
- package/skills/mono/references/modules/soke-material/README.md +49 -0
- package/skills/{soke-photo-gallery/SKILL.md → mono/references/modules/soke-photo-gallery/MODULE.md} +2 -3
- package/skills/mono/references/modules/soke-supervisor/MODULE.md +186 -0
- package/skills/mono/references/modules/soke-task/MODULE.md +146 -0
- package/skills/{soke-training-demand/SKILL.md → mono/references/modules/soke-training-demand/MODULE.md} +1 -1
- package/skills/mono/references/shared/cli-basics.md +185 -0
- package/skills/mono/scripts/check_readiness.py +28 -0
- package/skills/{soke-ai-coach-director → mono}/scripts/validate_operations.py +2 -2
- package/skills/multi/README.md +18 -0
- package/skills/multi/soke-ai-coach-director/CHANGELOG.md +203 -0
- package/skills/multi/soke-ai-coach-director/README.md +124 -0
- package/skills/multi/soke-ai-coach-director/SKILL.md +220 -0
- package/skills/multi/soke-ai-coach-director/assets/ERRORS-TEMPLATE.md +5 -0
- package/skills/multi/soke-ai-coach-director/assets/FEATURE_REQUESTS-TEMPLATE.md +5 -0
- package/skills/multi/soke-ai-coach-director/assets/LEARNINGS-TEMPLATE.md +45 -0
- package/skills/multi/soke-ai-coach-director/assets/SKILL-TEMPLATE.md +177 -0
- package/skills/multi/soke-ai-coach-director/coaching/knowledge-packager/knowledge-packager.md +91 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part1-basic.md +59 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +97 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part3-flow.md +72 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part4-scoring.md +87 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part5-constraints.md +48 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +76 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-optimizer/prompt-optimizer.md +381 -0
- package/skills/multi/soke-ai-coach-director/coaching/role-profiler/role-profiler.md +87 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/README.md +68 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/qclaw.md +67 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/workbuddy.md +44 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/wukong.md +70 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/zework.md +89 -0
- package/skills/multi/soke-ai-coach-director/platform/api-fallback.md +262 -0
- package/skills/multi/soke-ai-coach-director/platform/interaction.md +103 -0
- package/skills/multi/soke-ai-coach-director/platform/publish-gate.md +45 -0
- package/skills/multi/soke-ai-coach-director/platform/resource-finalizer.md +103 -0
- package/skills/{soke-ai-coach-director → multi/soke-ai-coach-director}/platform/soke-ai-training/soke-ai-training.md +1 -1
- package/skills/multi/soke-ai-coach-director/platform/sync-engine.md +39 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/skills/multi/soke-ai-coach-director/references/change-log-partwise-refactor.md +74 -0
- package/skills/multi/soke-ai-coach-director/references/env-check.md +146 -0
- package/skills/multi/soke-ai-coach-director/references/exec-common.md +126 -0
- package/skills/multi/soke-ai-coach-director/references/exec-handbook.md +621 -0
- package/skills/multi/soke-ai-coach-director/references/exec-part1.md +86 -0
- package/skills/multi/soke-ai-coach-director/references/exec-part2.md +145 -0
- package/skills/multi/soke-ai-coach-director/references/exec-part3.md +91 -0
- package/skills/multi/soke-ai-coach-director/references/exec-part4.md +187 -0
- package/skills/multi/soke-ai-coach-director/references/gate-check-matrix.md +46 -0
- 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
- package/skills/multi/soke-ai-coach-director/references/micro-tune-labels.md +30 -0
- package/skills/multi/soke-ai-coach-director/references/platform-api-pitfalls.md +49 -0
- package/skills/multi/soke-ai-coach-director/references/role-resource-matching.md +45 -0
- package/skills/multi/soke-ai-coach-director/references/self-improvement-examples.md +376 -0
- package/skills/multi/soke-ai-coach-director/references/self-learning-engine.md +489 -0
- package/skills/multi/soke-ai-coach-director/references/shared.md +185 -0
- package/skills/multi/soke-ai-coach-director/references/subs/part1/SOP.md +17 -0
- package/skills/multi/soke-ai-coach-director/references/subs/part2/SOP.md +34 -0
- package/skills/multi/soke-ai-coach-director/references/subs/part3/SOP.md +27 -0
- package/skills/multi/soke-ai-coach-director/references/subs/part4/SOP.md +31 -0
- package/skills/multi/soke-ai-coach-director/references/subs/publish/SOP.md +81 -0
- package/skills/multi/soke-ai-coach-director/references/subs/tune/SOP.md +92 -0
- package/skills/multi/soke-ai-coach-director/references/verified-cli-cheatsheet.md +56 -0
- package/skills/multi/soke-ai-coach-director/scripts/activator.sh +4 -0
- package/skills/multi/soke-ai-coach-director/scripts/error-detector.sh +4 -0
- package/skills/multi/soke-ai-coach-director/scripts/extract-skill.sh +7 -0
- package/skills/multi/soke-ai-coach-director/scripts/gate_check.py +114 -0
- package/skills/multi/soke-ai-coach-director/scripts/validate_operations.py +410 -0
- package/skills/multi/soke-ai-training/SKILL.md +249 -0
- 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
- package/skills/multi/soke-ai-training/references/shared.md +185 -0
- package/skills/{soke-assign → multi/soke-assign}/README.md +3 -5
- package/skills/multi/soke-assign/SKILL.md +101 -0
- package/skills/{soke-course/SKILL.md → multi/soke-assign/references/dependencies/soke-course.md} +1 -1
- package/skills/multi/soke-assign/references/dependencies/soke-exam.md +600 -0
- package/skills/multi/soke-assign/references/installation.md +451 -0
- package/skills/multi/soke-assign/references/shared.md +185 -0
- package/skills/multi/soke-certificate/SKILL.md +715 -0
- package/skills/multi/soke-certificate/references/installation.md +451 -0
- package/skills/multi/soke-certificate/references/shared.md +185 -0
- package/skills/{soke-course → multi/soke-course}/README.md +5 -7
- package/skills/multi/soke-course/SKILL.md +399 -0
- package/skills/multi/soke-course/agents/openai.yaml +7 -0
- package/skills/multi/soke-course/examples/create-basic.md +70 -0
- package/skills/multi/soke-course/references/course-list-courses.md +216 -0
- package/skills/multi/soke-course/references/dependencies/soke-assign.md +103 -0
- package/skills/multi/soke-course/references/dependencies/soke-lesson.md +119 -0
- package/skills/multi/soke-course/references/dependencies/soke-material.md +105 -0
- package/skills/multi/soke-course/references/examples.md +480 -0
- package/skills/multi/soke-course/references/installation.md +451 -0
- package/skills/multi/soke-course/references/intent-cases.md +99 -0
- package/skills/multi/soke-course/references/shared.md +185 -0
- package/skills/multi/soke-course/references/sop-full-workflow.md +177 -0
- package/skills/multi/soke-course/references/sop-lesson-types.md +66 -0
- package/skills/multi/soke-course/references/sop-publish-check.md +76 -0
- package/skills/multi/soke-course/references/subs/ai/SOP.md +153 -0
- package/skills/multi/soke-course/references/subs/category/SOP.md +112 -0
- package/skills/multi/soke-course/references/subs/charge/SOP.md +107 -0
- package/skills/multi/soke-course/references/subs/copy/SOP.md +80 -0
- package/skills/multi/soke-course/references/subs/publish/SOP.md +168 -0
- package/skills/multi/soke-course/references/subs/query/SOP.md +165 -0
- package/skills/multi/soke-course/references/subs/settings/SOP.md +136 -0
- package/skills/multi/soke-course/references/subs/template/SOP.md +223 -0
- package/skills/multi/soke-course/references/troubleshoot.md +68 -0
- package/skills/multi/soke-course/scripts/check_readiness.py +87 -0
- package/skills/multi/soke-exam/SKILL.md +598 -0
- package/skills/multi/soke-exam/references/exam-get-exam-user.md +212 -0
- package/skills/multi/soke-exam/references/installation.md +451 -0
- package/skills/multi/soke-exam/references/shared.md +185 -0
- package/skills/multi/soke-exam-question-pool/SKILL.md +121 -0
- package/skills/multi/soke-exam-question-pool/references/installation.md +451 -0
- package/skills/multi/soke-exam-question-pool/references/shared.md +185 -0
- package/skills/multi/soke-learning-map/SKILL.md +553 -0
- package/skills/multi/soke-learning-map/references/dependencies/soke-assign.md +103 -0
- package/skills/{soke-task/SKILL.md → multi/soke-learning-map/references/dependencies/soke-task.md} +1 -1
- package/skills/multi/soke-learning-map/references/installation.md +451 -0
- package/skills/multi/soke-learning-map/references/shared.md +185 -0
- package/skills/multi/soke-learning-profile/SKILL.md +221 -0
- package/skills/multi/soke-learning-profile/references/installation.md +451 -0
- package/skills/multi/soke-learning-profile/references/shared.md +185 -0
- package/skills/multi/soke-lesson/SKILL.md +117 -0
- package/skills/multi/soke-lesson/references/installation.md +451 -0
- package/skills/multi/soke-lesson/references/shared.md +185 -0
- package/skills/multi/soke-material/SKILL.md +103 -0
- package/skills/multi/soke-material/references/installation.md +451 -0
- package/skills/multi/soke-material/references/shared.md +185 -0
- package/skills/multi/soke-photo-gallery/SKILL.md +284 -0
- package/skills/multi/soke-photo-gallery/references/installation.md +451 -0
- package/skills/multi/soke-photo-gallery/references/shared.md +185 -0
- package/skills/multi/soke-shared/SKILL.md +183 -0
- package/skills/multi/soke-supervisor/SKILL.md +184 -0
- package/skills/multi/soke-supervisor/references/installation.md +451 -0
- package/skills/multi/soke-supervisor/references/shared.md +185 -0
- package/skills/multi/soke-task/SKILL.md +144 -0
- package/skills/multi/soke-task/references/installation.md +451 -0
- package/skills/multi/soke-task/references/shared.md +185 -0
- package/skills/multi/soke-training-demand/SKILL.md +219 -0
- package/skills/multi/soke-training-demand/references/installation.md +451 -0
- package/skills/multi/soke-training-demand/references/shared.md +185 -0
- package/skills/soke-course/scripts/check_readiness.sh +0 -82
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/CHANGELOG.md +0 -0
- /package/skills/{soke-ai-coach-director/SKILL.md → mono/references/modules/soke-ai-coach-director/MODULE.md} +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/ERRORS-TEMPLATE.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/FEATURE_REQUESTS-TEMPLATE.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/LEARNINGS-TEMPLATE.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/SKILL-TEMPLATE.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/knowledge-packager/knowledge-packager.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part2-roles.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part3-flow.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part4-scoring.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part5-constraints.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/prompt-engineer.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-optimizer/prompt-optimizer.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/role-profiler/role-profiler.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/README.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/qclaw.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/workbuddy.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/wukong.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/zework.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/api-fallback.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/interaction.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/resource-finalizer.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/sync-engine.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/change-log-partwise-refactor.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/env-check.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-common.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part2.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part3.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/exec-part4.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/gate-check-matrix.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/micro-tune-labels.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/role-resource-matching.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/self-improvement-examples.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/self-learning-engine.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part2/SOP.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part3/SOP.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/part4/SOP.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/publish/SOP.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/subs/tune/SOP.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/verified-cli-cheatsheet.md +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/scripts/activator.sh +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/scripts/error-detector.sh +0 -0
- /package/skills/{soke-ai-coach-director → mono/references/modules/soke-ai-coach-director}/scripts/extract-skill.sh +0 -0
- /package/skills/{soke-assign/SKILL.md → mono/references/modules/soke-assign/MODULE.md} +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/agents/openai.yaml +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/examples/create-basic.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/course-list-courses.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/intent-cases.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-full-workflow.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-lesson-types.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-publish-check.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/ai/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/category/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/charge/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/copy/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/publish/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/query/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/settings/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/template/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/troubleshoot.md +0 -0
- /package/skills/{soke-exam → mono/references/modules/soke-exam}/references/exam-get-exam-user.md +0 -0
- /package/skills/{soke-exam-question-pool/SKILL.md → mono/references/modules/soke-exam-question-pool/MODULE.md} +0 -0
- /package/skills/{soke-lesson/SKILL.md → mono/references/modules/soke-lesson/MODULE.md} +0 -0
- /package/skills/{soke-material/SKILL.md → mono/references/modules/soke-material/MODULE.md} +0 -0
- /package/skills/{soke-shared/SKILL.md → mono/references/modules/soke-shared/MODULE.md} +0 -0
- /package/skills/{soke-ai-coach-director → mono}/scripts/gate_check.py +0 -0
- /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
- /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
- /package/skills/{soke-lesson → multi/soke-lesson}/README.md +0 -0
- /package/skills/{soke-material → multi/soke-material}/README.md +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Part2 角色生成与同步子 SOP
|
|
2
|
+
|
|
3
|
+
> 由 SKILL.md Step 5 调用。生成前先读 `coaching/prompt-engineer/parts/part2-roles.md` 加载内容框架。执行遵循「展示 → 自检 → 弹窗确认(模板2)→ 后台资源匹配+整包同步」。
|
|
4
|
+
|
|
5
|
+
## 角色结构(1 OS + N 角色)
|
|
6
|
+
|
|
7
|
+
每种顾客状态必须拆为**独立角色**(禁止单角色内部状态机切换)。每角色含:name / description / communication_style / background(四段画像)/ personality_type(单 MBTI)/ personality / tags / knowledge_level / taboos_objections。
|
|
8
|
+
|
|
9
|
+
## 关键结构规则
|
|
10
|
+
|
|
11
|
+
- `replace_ai_roles` 数据键 `data.roles`(非 `data.ai_roles`)— 最高频错误。
|
|
12
|
+
- 外壳 10 字段(scenario_role_id / customization_level="full" / is_custom_role=true / customized_fields 列全 12 字段 / created_at / updated_at / template_id=null / template_name=null / template_version=null)在 `role_data` 外层;`source_type="custom"` 在 `role_data` 内。
|
|
13
|
+
- `avatar` 写 URL(`+list-role-avatars` 的 `url`),`voice_id` 写 ID(`+list-role-voices` 的 `id`)。
|
|
14
|
+
- 资源匹配后台执行(见 `role-resource-matching.md`),随整包一次写入,不二次确认。
|
|
15
|
+
|
|
16
|
+
## 同步写入策略
|
|
17
|
+
|
|
18
|
+
默认整包 `replace_ai_roles` 一次写全部角色 + OS(OS 用 update_basic 单独写)。整包失败降级为逐个 `add_ai_role` + 单独 update_basic 写 OS。
|
|
19
|
+
|
|
20
|
+
### 异常处理:最小稳定结构降级
|
|
21
|
+
|
|
22
|
+
回读出现 `name="角色数据异常"` / 字段 null 时:
|
|
23
|
+
1. **字段级排雷**:personality_type 收敛单值、source_type 内外层不重复、customized_fields 与实际字段一致。
|
|
24
|
+
2. **最小稳定结构重试**:仅保留 name/description/communication_style/background/avatar/voice_id,移除 knowledge_level/taboos_objections/tags/personality。
|
|
25
|
+
3. **回读即准**:name≠"角色数据异常"、background 四段完整、avatar/voice_id 非空、OS 非空。
|
|
26
|
+
4. **禁止带病续流**:仍有异常停在 Part2,不进 Part3。
|
|
27
|
+
|
|
28
|
+
## background 强制闸门
|
|
29
|
+
|
|
30
|
+
生成 JSON 后 preview 前:逐字比对 JSON 的 background 与展示文本一致 + 四段画像完整,任一不过驳回修正。
|
|
31
|
+
|
|
32
|
+
## 自查清单(14 项)
|
|
33
|
+
|
|
34
|
+
1. `data.roles`(非 data.ai_roles);2. 每角色含 scenario_role_id;3. 角色数≥2;4. name 非空;5. description 非空;6. background 四段完整;7. communication_style 非空;8. personality_type 单值;9. avatar 非空 URL;10. voice_id 非空 ID;11. 外壳字段在外层、source_type 在 role_data 内;12. OS 非空;13. background 展示=JSON 一致;14. 无空 background。
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Part3 流程设置同步子 SOP
|
|
2
|
+
|
|
3
|
+
> 由 SKILL.md Step 5 调用。生成前先读 `coaching/prompt-engineer/parts/part3-flow.md` 加载内容框架。环节数 3-7、每阶段 3-5 轮、编号连续。
|
|
4
|
+
|
|
5
|
+
## 原子性约束
|
|
6
|
+
|
|
7
|
+
开场语(update_basic)+ 所有环节(add_conversation_step)必须合并为**同一批 operations 一次 preview+apply**,禁止拆分多次。失败则整个 Part3 判失败,不允许部分成功静默续流。
|
|
8
|
+
|
|
9
|
+
## 回读判定矩阵(preview 证据优先于 get-scenario)
|
|
10
|
+
|
|
11
|
+
| preview 证据 | get-scenario 回读 | 判定 |
|
|
12
|
+
|-------------|-------------------|------|
|
|
13
|
+
| opening + steps 双项有 add 证据 | 双项非空 | ✅ 通过 |
|
|
14
|
+
| 双项有证据 | opening 非空、steps 为空 | ✅ 通过(CLI bug 白名单) |
|
|
15
|
+
| opening 无证据 | 任意 | ❌ 失败 |
|
|
16
|
+
| steps 无 add 证据 | steps 为空 | ❌ 失败 |
|
|
17
|
+
| preview/apply 报错 | 任意 | ❌ 失败 |
|
|
18
|
+
|
|
19
|
+
核心原则:preview 确认平台接收了操作即视为原子成功;get-scenario 回读 `conversation_steps` 为空是 CLI 已知 bug(v1.0.65+),不改变成功判定。
|
|
20
|
+
|
|
21
|
+
## 已知 CLI 回读口径差异
|
|
22
|
+
|
|
23
|
+
`add_conversation_step` apply 返回成功但 get-scenario 回读 `conversation_steps: []`,opening_dialogue 也可能不同步反映——这是已知差异,不代表数据未写入。验收时 preview/apply 成功即默认进 Part4,记录「平台回读异常待观察」,不要求先去 Web 后台确认。仅 preview/apply 本身失败才停下排查。
|
|
24
|
+
|
|
25
|
+
## 自查清单(8 项)
|
|
26
|
+
|
|
27
|
+
1. opening_dialogue_type 固定整数 1;2. 每环节含 step_name/student_objective/ai_task/max_rounds;3. 编号从 1 连续;4. 无空缺;5. 字段结构正确;6. opening_dialogue 第一人称无后台痕迹;7. information 不含考核/评分信息;8. status=1。
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Part4 评分配置同步子 SOP
|
|
2
|
+
|
|
3
|
+
> 由 SKILL.md Step 5 调用。生成前先读 `coaching/prompt-engineer/parts/part4-scoring.md` 加载内容框架。`scoring_rule`/`criteria` 禁止示例对话,一票否决嵌入各维度 scoring_rule 末尾。
|
|
4
|
+
|
|
5
|
+
## shell 字段位置铁律(v2.26 硬阻断)
|
|
6
|
+
|
|
7
|
+
4 个 shell 字段必须写在 `data.config` **顶层**,不能放进 `criteria_data` 内(错放导致 UI 显示"请选择或创建评分标准",API 不报错 warnings=[]):
|
|
8
|
+
|
|
9
|
+
| 字段 | 必须位置 |
|
|
10
|
+
|------|---------|
|
|
11
|
+
| `scenario_criteria_id` | `data.config` 顶层 |
|
|
12
|
+
| `customization_level="full"` | `data.config` 顶层 |
|
|
13
|
+
| `is_custom_criteria=true` | `data.config` 顶层 |
|
|
14
|
+
| `customized_fields=["criteria_data"]` | `data.config` 顶层 |
|
|
15
|
+
|
|
16
|
+
`criteria_data` 内只放业务字段:`name` / `description` / `dimensions` / `total_weight` / `source_type="enterprise"` / `status=1` / `tags`。
|
|
17
|
+
|
|
18
|
+
apply 后 get-scenario 回读确认 shell 字段在 `scoring_criteria_config` 顶层全部存在,任一缺失 = 失败,调整后重新 apply。
|
|
19
|
+
|
|
20
|
+
## 执行流程
|
|
21
|
+
|
|
22
|
+
用户确认 → 生成 part4-operations.json → 对照自查清单 → preview → apply → get-scenario 回读验证 shell 字段位置 + 权重和 100。
|
|
23
|
+
|
|
24
|
+
## 自查清单(19 项,关键项)
|
|
25
|
+
|
|
26
|
+
**shell 位置**:1. config 顶层含 scenario_criteria_id;2. customization_level="full";3. is_custom_criteria=true;4. customized_fields=["criteria_data"](均不在 criteria_data 内)。
|
|
27
|
+
**业务字段**:5. 用 replace_scoring_criteria_config;6. data.config.criteria_data 三层嵌套;7. 维度≥2;8. 权重和=100;9. 每维度含名称/权重/评分规则/评分点;10. scoring_rule 无示例对话;11. 一票否决嵌入维度末尾;12. 无全局 one_vote_veto;13. 每维度≥2 评分点;14. status=1;15. source_type="enterprise";16. tags 非空;17. 每维度含 id(dim_{code});18. sort_order 数字;19. apply 后回读 shell 字段在顶层。
|
|
28
|
+
|
|
29
|
+
## 评分维度设计原则
|
|
30
|
+
|
|
31
|
+
维度数:简单场景 3-4、复杂 4-5;权重:沟通类 50-60%、专业类 40-50%;一票否决格式"以下行为触犯即该维度 0 分且总分不合格:…"。
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# 场景发布与交付子 SOP
|
|
2
|
+
|
|
3
|
+
> 由 SKILL.md Step 6-9 调用。执行前已通过 Step 5 全部 Part 验收。
|
|
4
|
+
|
|
5
|
+
## Step 6: 平台同步验证
|
|
6
|
+
|
|
7
|
+
1. 读取 `state-snapshot.json`,验证所有 Part 的 `applied` 均为 `true`
|
|
8
|
+
2. 执行 `soke-cli ai-training +get-scenario --scenario-id <id> --pretty`
|
|
9
|
+
3. 逐字段验证:
|
|
10
|
+
- `key_points`、`description`、`name` → 与 `step1-create.json` 一致
|
|
11
|
+
- `ai_roles` 非空 + `role_data.name` ≠ "角色数据异常"
|
|
12
|
+
- `scoring_criteria_config` 维度数/名称/权重与 part4-operations.json 一致
|
|
13
|
+
- 练习配置与 part5-operations.json 一致
|
|
14
|
+
4. 记录 `scenario_id` 和平台 URL
|
|
15
|
+
|
|
16
|
+
> 🚦 闸门:所有 Part `applied: true` + 关键字段一致。
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Step 7: 创建质量闸门(v2.39 精简:12 项 → 3 项补查)
|
|
21
|
+
|
|
22
|
+
内部检查,不在对话窗展示逐项明细。通过后仅输出 `✅ 质量闸门全部通过`。
|
|
23
|
+
|
|
24
|
+
> **v2.39 精简规则**:Part1-5 自检全部通过后,12 项中 9 项自动视为通过(与 Part 自检重叠)。仅补查以下 3 项:
|
|
25
|
+
|
|
26
|
+
| # | 检查项 | 来源步骤 | 不通过处理 | v2.39 |
|
|
27
|
+
|---|--------|---------|-----------|--------|
|
|
28
|
+
| 1 | 材料完整 | Step 1 | 返回 Step 1 | ↔Part1自检(跳过) |
|
|
29
|
+
| 2 | 场景拆解合理 | Step 2 | 返回 Step 2 | ↔Step2确认(跳过) |
|
|
30
|
+
| 3 | 角色行为化 | Part2 | 返回 Part2 | ↔Part2自检(跳过) |
|
|
31
|
+
| 4 | 信息释放规则明确 | Part2 | 返回 Part2 | ↔Part2自检(跳过) |
|
|
32
|
+
| 5 | 每阶段进入/退出条件 | Part3 | 返回 Part3 | ↔Part3自检(跳过) |
|
|
33
|
+
| 6 | 评分可识别(一票否决嵌入) | Part4 | 返回 Part4 | ↔Part4自检(跳过) |
|
|
34
|
+
| 7 | 练习配置匹配固定模板 | Part5 | 返回 Part5 | ↔Part5自检(跳过) |
|
|
35
|
+
| 8 | 有测试用例 | - | 补充 | ⚡仅闸门(🟡可选) |
|
|
36
|
+
| 9 | 整体设定 ≤ 3000 字 | Part2 | 压缩 | ⚡仅闸门 |
|
|
37
|
+
| 10 | 每个 Part 已完整展示 | Step 5 | 重展示 | ⚡仅闸门 |
|
|
38
|
+
| 11 | Part2-Part5 完整度 ≥ Part1 | Step 5 | 补展示 | ↔Part自检(跳过) |
|
|
39
|
+
| 12 | 封面/图片未前台展示 | - | 修正 | ↔Part1自检(跳过) |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Step 8: 发布闸门(资源兜底)
|
|
44
|
+
|
|
45
|
+
1. 资源收官:`platform/resource-finalizer.md`
|
|
46
|
+
- 固定封面存在
|
|
47
|
+
- 所有角色头像补齐
|
|
48
|
+
- 所有角色语音补齐
|
|
49
|
+
2. 发布验门:`platform/publish-gate.md`
|
|
50
|
+
- 封面非空
|
|
51
|
+
- avatar 全部非空 URL
|
|
52
|
+
- voice_id 全部非空 ID
|
|
53
|
+
- 无"角色数据异常"
|
|
54
|
+
3. 任一失败 → 停止发布 → 输出缺口清单
|
|
55
|
+
4. 全部通过 → Step 9
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Step 9: 场景发布
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
soke-cli ai-training +publish-scenario \
|
|
63
|
+
--scenario-id <scenario_id> \
|
|
64
|
+
--version 1 \
|
|
65
|
+
--version-description "CLI发布" \
|
|
66
|
+
--pretty
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
发布后验收:`+get-scenario --scenario-id <id> --pretty` 确认状态。
|
|
70
|
+
|
|
71
|
+
> 🚦 闸门:发布成功后方可交付。
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 发布后:知识打包(🚦 v2.27 强制弹窗,用户可选跳过)
|
|
76
|
+
|
|
77
|
+
🚦 **强制闸门**:发布成功后必须触发知识包确认弹窗(模板 7),不可静默跳过。
|
|
78
|
+
|
|
79
|
+
触发条件:所有创建型流程均须弹出模板 7。资料含"话术/SOP/障碍应对/标准提问"时,弹窗额外提示"检测到话术素材,建议同步知识包"。
|
|
80
|
+
|
|
81
|
+
流程:发布成功 → 弹模板 7 → 用户选择 → 确认则 `knowledge-packager` 提炼 → `+sync` → `+bind-scenario` → 回读验收;跳过则记录状态并输出"知识包可到平台后台手动上传"提示。
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# 微调任务子 SOP
|
|
2
|
+
|
|
3
|
+
> 由 SKILL.md「微调型任务流程」调用。
|
|
4
|
+
|
|
5
|
+
## 执行流程
|
|
6
|
+
|
|
7
|
+
### 1. 收集微调输入包
|
|
8
|
+
|
|
9
|
+
必须尽量收集:
|
|
10
|
+
- 当前提示词
|
|
11
|
+
- 原始对话记录
|
|
12
|
+
- 用户反馈原话
|
|
13
|
+
- 期望表现
|
|
14
|
+
- 场景类型
|
|
15
|
+
- 当前评分结果
|
|
16
|
+
- 音频/转写文本(如涉及语音)
|
|
17
|
+
- 设备/账号/操作路径(如涉及技术)
|
|
18
|
+
|
|
19
|
+
### 2. 🚨 确认分析对象
|
|
20
|
+
|
|
21
|
+
在陪练对话中,"AI"和"学员"是两个不同角色。诊断前必须先声明:
|
|
22
|
+
- 本次分析对象是 **AI(客户角色)** 还是 **学员**
|
|
23
|
+
- AI 模拟客户让学员练习的场景中,诊断对象为 AI(客户角色)
|
|
24
|
+
|
|
25
|
+
### 3. 技术分流
|
|
26
|
+
|
|
27
|
+
凡涉及以下问题,优先按技术处理,**不直接改提示词**:
|
|
28
|
+
- ASR 识别错误
|
|
29
|
+
- 语音尾字丢失
|
|
30
|
+
- TTS 声音不符
|
|
31
|
+
- 播报未结束就跳评分页
|
|
32
|
+
- 授权不同步
|
|
33
|
+
- 部门同步失败
|
|
34
|
+
- 按钮报错
|
|
35
|
+
- iOS 录音权限
|
|
36
|
+
- 评分等待无提示
|
|
37
|
+
|
|
38
|
+
### 4. 诊断标签
|
|
39
|
+
|
|
40
|
+
按严格顺序打标签:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
T排障 → O拟真 → P指令执行 → N自然度 → I信息释放/K知识 → E结束/S场景 → L逻辑/F格式 → R评分
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
| 标签 | 含义 | 判定要点 |
|
|
47
|
+
|------|------|---------|
|
|
48
|
+
| T | 技术/体验 | ASR/TTS/权限/跳转 |
|
|
49
|
+
| O | 角色OOC | 太热情/太攻击/不该说的术语 |
|
|
50
|
+
| P | 指令执行度 | AI 行为与提示词指令不一致 |
|
|
51
|
+
| N | 自然度 | 模板化、万能回应、句式单一 |
|
|
52
|
+
| I | 信息释放 | 开场透露全部症状/底线 |
|
|
53
|
+
| K | 知识/合规 | 产品知识错误、禁用话术 |
|
|
54
|
+
| E | 结束违规 | 提前结束、成交后追问 |
|
|
55
|
+
| S | 场景规则 | 药房/合规/B2B 场景规则 |
|
|
56
|
+
| L | 逻辑违规 | 信任值异常、价格防线 |
|
|
57
|
+
| F | 格式违规 | 括号动作、Markdown、后台痕迹 |
|
|
58
|
+
| R | 评分规则 | 评分项抽象、目标错位 |
|
|
59
|
+
| D | 数据/看板 | 指标口径、数据污染 |
|
|
60
|
+
|
|
61
|
+
**没有标签,不进入修改建议。**
|
|
62
|
+
|
|
63
|
+
### 5. 匹配资产库
|
|
64
|
+
|
|
65
|
+
按需选读 `references/cases/` 下对应资产。
|
|
66
|
+
|
|
67
|
+
### 6. 调度 prompt-optimizer
|
|
68
|
+
|
|
69
|
+
输出标注版改稿、复测方案、版本记录建议。
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 缺失规则
|
|
74
|
+
|
|
75
|
+
| 缺失项 | 处理方式 |
|
|
76
|
+
|--------|---------|
|
|
77
|
+
| 无原始对话 | 只能做结构审查,不断言具体行为偏差 |
|
|
78
|
+
| 无当前提示词 | 只能给优化方向,不输出最终修改版 |
|
|
79
|
+
| 只有"感觉不像" | 追问具体对话片段或期望表现 |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 微调闸门(8 项)
|
|
84
|
+
|
|
85
|
+
1. 有证据
|
|
86
|
+
2. 已技术分流
|
|
87
|
+
3. 已打标签
|
|
88
|
+
4. 有修改决策
|
|
89
|
+
5. 有标注改稿
|
|
90
|
+
6. 有复测方案
|
|
91
|
+
7. 有版本记录建议
|
|
92
|
+
8. 微调后「整体设定」节去空白字符 ≤ 3000
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# MentorAI CLI 已验证命令清单
|
|
2
|
+
|
|
3
|
+
> 标准命令速查。统一 `soke-cli ai-training +...`,不省略 `ai-training`。所有 soke-cli 命令经 Bash 执行必须设 `dangerouslyDisableSandbox: true`。
|
|
4
|
+
> **v2.37:所有命令输出一律 `> /tmp/xxx.json 2>/dev/null` 重定向,禁止 `--pretty` 直出到对话。** Python 从重定向文件提取字段。
|
|
5
|
+
|
|
6
|
+
## 核心命令
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
# 创建场景(Part1)— 重定向,Python 提取 scenario_id
|
|
10
|
+
soke-cli ai-training +create-scenario --request-file ./part1-create.json > /tmp/part1_create.json 2>/dev/null
|
|
11
|
+
|
|
12
|
+
# 读场景(每次 preview/apply 前先取最新 updated_at;apply 后 --raw 验收)— 重定向
|
|
13
|
+
soke-cli ai-training +get-scenario --scenario-id <id> --raw > /tmp/scenario_get.json 2>/dev/null
|
|
14
|
+
|
|
15
|
+
# 预览/应用(默认 request-file 模式)— 重定向,Python 提取 updated_at
|
|
16
|
+
soke-cli ai-training +preview-scenario-update --scenario-id <id> --request-file ./partX-update.json > /tmp/partX_preview.json 2>/dev/null
|
|
17
|
+
soke-cli ai-training +apply-scenario-update --scenario-id <id> --request-file ./partX-update.json > /tmp/partX_apply.json 2>/dev/null
|
|
18
|
+
|
|
19
|
+
# 排障退回 operations 模式(apply 必传 --idempotency-key,preview 不传;两者都要 --reason)
|
|
20
|
+
soke-cli ai-training +preview-scenario-update --scenario-id <id> --operations-file ./partX-operations.json --base-updated-at <updated_at> --reason "PartX: 说明" > /tmp/partX_preview.json 2>/dev/null
|
|
21
|
+
soke-cli ai-training +apply-scenario-update --scenario-id <id> --operations-file ./partX-operations.json --base-updated-at <updated_at> --idempotency-key "cli-<short>-partX-apply" --reason "PartX: 说明" > /tmp/partX_apply.json 2>/dev/null
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## 知识包 / 发布 / 快照
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# 知识包同步 + 绑定 — 重定向
|
|
28
|
+
soke-cli ai-training +sync --manifest ./knowledge-package.json --idempotency-key "cli-<package_id>-sync" > /tmp/kb_sync.json 2>/dev/null
|
|
29
|
+
soke-cli ai-training +bind-scenario --scenario-id <id> --version-ids <version_id> --compile-plan > /tmp/kb_bind.json 2>/dev/null
|
|
30
|
+
|
|
31
|
+
# 发布 — 重定向
|
|
32
|
+
soke-cli ai-training +publish-scenario --scenario-id <id> --version 1 --version-description "CLI发布" > /tmp/publish.json 2>/dev/null
|
|
33
|
+
|
|
34
|
+
# 快照查询 / 恢复(排障)— 重定向
|
|
35
|
+
soke-cli ai-training +list-scenario-snapshots --scenario-id <id> --page 1 --page-size 20 > /tmp/snapshots.json 2>/dev/null
|
|
36
|
+
soke-cli ai-training +restore-scenario-snapshot --scenario-id <id> --snapshot-id <snapshot_id> --reason "回滚本次 CLI 更新" > /tmp/restore.json 2>/dev/null
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 资源库查询(Part2 头像/语音)— 重定向,Python 提取 URL/ID
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# 头像 — 重定向到 /tmp/avatars.json,Python 提取 url 字段
|
|
43
|
+
soke-cli ai-training +list-role-avatars --lang zh --show-detail > /tmp/avatars.json 2>/dev/null
|
|
44
|
+
# 声音 — 重定向到 /tmp/voices.json,Python 提取 id 字段
|
|
45
|
+
soke-cli ai-training +list-role-voices --lang zh > /tmp/voices.json 2>/dev/null
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## ⚠️ v2.37 禁止事项
|
|
49
|
+
|
|
50
|
+
- **禁止 `--pretty` 直出到对话**:所有命令输出必须重定向到 `/tmp/` 文件
|
|
51
|
+
- **禁止用 apply 验证数据**:apply 是写入操作,验证用 `+get-scenario`。用 apply 回读环节会导致 `add_conversation_step` 重复添加
|
|
52
|
+
- **禁止分多轮 sed 回看 PDF**:pdftotext 提取后一次性 grep+sed+Write 落盘提炼稿
|
|
53
|
+
|
|
54
|
+
## 各 Part 文件名
|
|
55
|
+
|
|
56
|
+
Part2-5 均生成 `partX-operations.json` + `partX-update.json`;微调 `optimize-operations.json` + `optimize-update.json`;全流程 `state-snapshot.json`(不出现聊天)。
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
soke-ai-coach-director · 闸门一次性校验器(v2.42)
|
|
4
|
+
Usage:
|
|
5
|
+
python3 scripts/gate_check.py /tmp/scenario_get.json
|
|
6
|
+
|
|
7
|
+
输入:+get-scenario 重定向后的 JSON 文件(自动处理 {data:{...}} 嵌套)
|
|
8
|
+
输出:单行结果 —— 全过输出 "GATE PASS",否则 "GATE FAIL" + 逐项失败原因
|
|
9
|
+
退出码:0 = 通过,1 = 失败
|
|
10
|
+
|
|
11
|
+
设计目的:消除闸门阶段逐字段拆轮探查(历史实测浪费 ~8 积分)。
|
|
12
|
+
AI 只需跑这一个脚本,禁止再用 Python 逐步看返回结构。
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
import json
|
|
16
|
+
import sys
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def unwrap(raw):
|
|
20
|
+
"""处理 CLI 返回的可能嵌套:{data:{...}} / {code,data} / 裸对象。"""
|
|
21
|
+
if not isinstance(raw, dict):
|
|
22
|
+
return raw
|
|
23
|
+
d = raw.get("data")
|
|
24
|
+
if isinstance(d, dict):
|
|
25
|
+
return d
|
|
26
|
+
return raw
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def check(sc: dict) -> list:
|
|
30
|
+
errs = []
|
|
31
|
+
|
|
32
|
+
# ---------- Step 8 发布闸门(4 项,任一缺失禁止发布) ----------
|
|
33
|
+
|
|
34
|
+
# 1. 封面 = 固定默认图(非空且正确前缀)
|
|
35
|
+
cover = sc.get("scenario_cover") or sc.get("cover")
|
|
36
|
+
if not cover or "roles_avatars" in str(cover) or not str(cover).startswith("http"):
|
|
37
|
+
errs.append(f"[发布1] 封面缺失或非法: {cover!r:.80}")
|
|
38
|
+
|
|
39
|
+
# 2/3. 全部角色 avatar / voice_id 非空
|
|
40
|
+
roles = sc.get("ai_roles") or []
|
|
41
|
+
if not roles:
|
|
42
|
+
errs.append("[发布2] ai_roles 为空")
|
|
43
|
+
for i, r in enumerate(roles):
|
|
44
|
+
rd = r.get("role_data") or r
|
|
45
|
+
av = rd.get("avatar")
|
|
46
|
+
vi = rd.get("voice_id")
|
|
47
|
+
if not av or not str(av).startswith("http"):
|
|
48
|
+
errs.append(f"[发布2] 角色{i}({rd.get('name','?')}) avatar 非法: {av!r:.60}")
|
|
49
|
+
if not vi:
|
|
50
|
+
errs.append(f"[发布3] 角色{i}({rd.get('name','?')}) voice_id 为空")
|
|
51
|
+
|
|
52
|
+
# 4. 无"角色数据异常":OS 存在且足够长
|
|
53
|
+
os_text = sc.get("ai_roles_overall_description") or ""
|
|
54
|
+
if len(os_text) < 500:
|
|
55
|
+
errs.append(f"[发布4] OS 过短({len(os_text)}<500),疑似角色数据异常")
|
|
56
|
+
|
|
57
|
+
# ---------- Step 7 补查 3 项(Part 自检已过的 9 项跳过) ----------
|
|
58
|
+
|
|
59
|
+
# 8. Part 内容完整:name/key_points/tags 非空
|
|
60
|
+
if not sc.get("name"):
|
|
61
|
+
errs.append("[闸门8] 场景名为空")
|
|
62
|
+
if not sc.get("key_points"):
|
|
63
|
+
errs.append("[闸门8] key_points 为空(检查 Part1 是否误写数组)")
|
|
64
|
+
if not (sc.get("tags") and len(sc.get("tags", [])) >= 3):
|
|
65
|
+
errs.append("[闸门8] tags 少于 3 个")
|
|
66
|
+
if sc.get("scene_lang") not in {"zh", "tw", "en"}:
|
|
67
|
+
errs.append(f"[闸门8] scene_lang 必须是 zh、tw 或 en,当前 {sc.get('scene_lang')!r}")
|
|
68
|
+
|
|
69
|
+
# 12. 整体设定 ≤ 3000 字
|
|
70
|
+
if len(os_text) > 3000:
|
|
71
|
+
errs.append(f"[闸门12] OS 超长({len(os_text)}>3000)")
|
|
72
|
+
|
|
73
|
+
# 5. Part3 环节存在(回读 conversation_steps 非空;空则提示 CLI 限制,不阻塞)
|
|
74
|
+
steps = sc.get("conversation_steps") or []
|
|
75
|
+
if not steps:
|
|
76
|
+
print("WARN: conversation_steps 为空——已知 CLI/平台限制,发布后走 Web 后台补录(不阻塞)")
|
|
77
|
+
|
|
78
|
+
# 6. Part4 评分维度存在且权重和 = 100
|
|
79
|
+
cd = ((sc.get("scoring_criteria_config") or {}).get("criteria_data")) or sc.get("criteria_data") or {}
|
|
80
|
+
dims = cd.get("dimensions") or []
|
|
81
|
+
if not dims:
|
|
82
|
+
print("WARN: 评分维度在 get 返回中不可见——以 Part4 自检 + apply 成功为准(不阻塞)")
|
|
83
|
+
else:
|
|
84
|
+
w = sum(d.get("weight", 0) for d in dims)
|
|
85
|
+
if w != 100:
|
|
86
|
+
errs.append(f"[闸门6→发布] 维度权重和={w}≠100")
|
|
87
|
+
|
|
88
|
+
return errs
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def main() -> int:
|
|
92
|
+
if len(sys.argv) != 2:
|
|
93
|
+
print("Usage: gate_check.py <scenario_get.json>", file=sys.stderr)
|
|
94
|
+
return 1
|
|
95
|
+
try:
|
|
96
|
+
with open(sys.argv[1], encoding="utf-8") as f:
|
|
97
|
+
raw = json.load(f)
|
|
98
|
+
except Exception as e:
|
|
99
|
+
print(f"GATE FAIL: JSON 读取失败 {e}", file=sys.stderr)
|
|
100
|
+
return 1
|
|
101
|
+
|
|
102
|
+
sc = unwrap(raw)
|
|
103
|
+
errs = check(sc)
|
|
104
|
+
if errs:
|
|
105
|
+
print("GATE FAIL")
|
|
106
|
+
for e in errs:
|
|
107
|
+
print(f" {e}")
|
|
108
|
+
return 1
|
|
109
|
+
print("GATE PASS")
|
|
110
|
+
return 0
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
if __name__ == "__main__":
|
|
114
|
+
sys.exit(main())
|