在 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路径具有写权限。