在 DeepSeek Harness(DSH)中開發技能通常需要手動編寫 SKILL.md 文件,處理 frontmatter、定義工作流和校驗格式。dsh-skill-creator 插件在 DSH 會話內提供了一個工作流工具鏈,從對話、文檔或流程描述直接生成 SKILL.md,並支持校驗、打包和描述優化。
該插件由 988hj7tczd-oss 維護,採用 MIT 許可證,完全離線可用,零外部依賴。
安裝與啓用¶
這是一個 DSH bundle,通過本地路徑加載。
# 在項目目錄同級執行(dsh CLI)
dsh plugin --profile <name> add ./dsh-skill-creator
安裝後,插件會自動嘗試將輸出目錄掛載到運行時的技能註冊表中(rank=300),生成的技能無需修改配置即可被 skill 工具識別和加載。
核心工具¶
插件提供了四個模型工具,覆蓋技能從構思到分發的全生命週期。
1. skill_new — 捕獲意圖並生成草稿¶
通過 goal 參數傳入工作流描述,工具會自動抽取步驟、工具、輸入輸出格式,並識別缺口。
- 參數:
goal(必填): 工作流描述。fromSession(可選): 嘗試從當前會話歷史中抽取上下文。confirm(可選): 默認false。爲false時進行“幹跑”,返回意圖抽取結果和澄清問題,不寫盤;爲true時生成SKILL.md並寫入磁盤。outputDir(可選): 輸出根目錄,默認爲$DSH_HOME/skills。
流程:
1. 執行幹跑(confirm=false),獲取意圖草稿和澄清問題。
2. 用戶確認或補充信息後,執行生成(confirm=true),寫入 SKILL.md。
2. skill_validate — 校驗技能目錄¶
檢查技能目錄結構是否符合 DSH 規範。
- 參數:
path(必填)。 - 校驗項:
SKILL.md文件存在且可讀。- frontmatter 格式正確(YAML mapping)。
name和description非空。name符合 kebab-case 規範 (^[a-z0-9]+(?:-[a-z0-9]+)*$)。- 正文非空。
- 返回: 返回校驗結果摘要與詳細檢查項。
3. skill_package — 打包技能爲 .skill 文件¶
將校驗通過的技能目錄打包爲 ZIP 文件,便於分發。
- 參數:
path(必填): 技能目錄路徑。outDir(可選): 輸出目錄,默認爲技能目錄的父目錄。
- 排除規則:
__pycache__/node_modules/(任意深度)*.pyc(任意深度).DS_Store(任意深度)- 根目錄下的
evals/
- 行爲: 打包前自動執行
skill_validate,校驗失敗則拒絕打包。
4. skill_improve_description — 改寫描述以提高觸發率¶
優化 description 字段,確保覆蓋更多觸發場景,同時保留原始觸發詞。
- 參數:
path(必填): 技能路徑。usage(必填): 觸發場景樣例。commit(可選): 默認false。爲false時返回改寫提案和理由;爲true時將改寫後的描述寫回SKILL.md。
技術說明與限制¶
- 依賴前置: 本項目在開發形態下依賴相鄰的
dsh-src檢出(同一父目錄下),用於類型檢查和構建。發佈到 npm 的版本會盡量替換依賴。 - YAML 子集:
frontmatter.ts僅解析最小 YAML 子集(不支持錨點、多文檔等複雜語法)。權威校驗以 Python 腳本爲準。 - 掛載優先級: 運行時 provider 的 rank 爲 300(custom 層),同名技能優先級低於項目根目錄(rank 100/200)。
- 離線可用: 所有核心邏輯(包括 ZIP 打包和校驗)均爲零外部依賴實現。
- 寫盤機制:
.skill生成和目錄創建依賴 Node.js 的文件系統服務。請確保配置的outputDir路徑具有寫權限。