dsh-io/dsh-plugin-skill
An agent skill for building tools and plugins for DeepSeek Harness (dsh) — the official plugin API, project layout, and workflow, distilled from the real @deepseek-ai/dsh-tools type definitions. Written in the standard SKILL.md format so every mainstream AI coding agent can load it.
catalog 简介 / catalog descriptioncatalog description:Agent skill (SKILL.md) for creating DeepSeek Harness (dsh) plugins: authoritative defineTool API, schema rules, project layout and workflow — works with Claude Code, Codex, Cursor, Gemini CLI, opencode
项目介绍Project Overview
这是一个用于开发 DeepSeek Harness(dsh)工具与插件的 Agent 技能,以标准 SKILL.md 格式提供,可被 Claude Code、Codex、Cursor 等主流 AI 编码代理加载。它内置来自 @deepseek-ai/dsh-tools 类型定义的权威 API 签名、项目结构、工作流与常见错误,例如必须使用 defineTool、execute、output(schema 与 render)、inject,以及 required 为属性级标记。当代理因不熟悉 dsh 插件 API 而拒写或写错插件时使用。注意:需手动放入对应代理的 skills 目录,且内容基于特定类型定义,API 变动时需同步更新。
This is an agent skill for building DeepSeek Harness (dsh) tools and plugins, packaged as a standard SKILL.md folder loadable by Claude Code, Codex, Cursor, and similar AI coding agents. It provides authoritative API signatures, project layout, workflow, and common mistakes derived from @deepseek-ai/dsh-tools type definitions, covering defineTool, execute, mandatory output schema/render, inject, and per-property required. Use it when an agent refuses or miswrites dsh plugins. Caveat: install it manually in your agent’s skills directory, and it must stay in sync with API changes.
请帮我了解并安装插件:【dsh-plugin-skill】【https://github.com/dsh-io/dsh-plugin-skill】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:dsh-io/dsh-plugin-skill
把 dsh-io/dsh-plugin-skill 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
creating-dsh-plugins
An agent skill for building tools and plugins for DeepSeek Harness (dsh) — the official plugin API, project layout, and workflow, distilled from the real @deepseek-ai/dsh-tools type definitions. Written in the standard SKILL.md format so every mainstream AI coding agent can load it.
If your agent has ever refused to write a dsh plugin (unfamiliar API) or confidently emitted a wrong one (run instead of execute, missing output, no inject), this skill fixes both: it gives the agent authoritative signatures it can copy verbatim.
Install
The skill is a single SKILL.md folder. Install it in the skills directory your agent reads. The common locations:
| Agent | Path |
|---|---|
| Claude Code | ~/.claude/skills/creating-dsh-plugins/ |
| Codex | ~/.codex/skills/creating-dsh-plugins/ or ~/.agents/skills/creating-dsh-plugins/ |
| Gemini CLI | ~/.agents/skills/creating-dsh-plugins/ |
| opencode | ~/.config/opencode/skills/creating-dsh-plugins/ (or a plugin) |
| Cursor | ~/.cursor/skills/creating-dsh-plugins/ |
| superpowers (plugin ecosystem) | ~/.config/opencode/node_modules/superpowers/skills/creating-dsh-plugins/ |
One-line install:
mkdir -p ~/.claude/skills && \
git clone --depth 1 https://github.com/dsh-io/dsh-plugin-skill.git ~/.claude/skills/creating-dsh-plugins
# swap the destination path for your agent (table above); for Codex/Gemini use ~/.agents/skills
For a single project, you can also drop the folder into the project's skills directory (.claude/skills/, .cursor/skills/, ...) so only that repo's agents load it.
Verify it works
Start a fresh session in your agent and ask:
Write a dsh plugin that registers a
get_weathertool using the creating-dsh-plugins skill.
A correctly loaded skill produces src/index.ts with inject = ['tools'], ctx.tools.register(defineTool({ ... output: { schema, render } ... })) and an execute(args) method — never run, never a required array.
Contents
SKILL.md— the skill itself: tool API reference, hard schema rules, project layout, workflow, common mistakes, quick reference
Authoritative facts baked in
- Tools register via
defineToolfrom@deepseek-ai/dsh-tools;output(schema +render) is mandatory requiredis per-property (required: true); there is norequiredarray, norequired: falseadditionalPropertiesmust be explicit on object schemas- Container is
@deepseek-ai/cordis(a cordis fork), not koishi - pnpm users need a
pnpm-workspace.yamloverride for the unpublished upstream peer@deepseek-ai/dsh-type-meta - Distribution: npm publish + GitHub
dsh-plugintopic
Related
- @dsh-io/dsh-dev — the official dsh plugin toolchain CLI (
scaffold,dev,check,publish) - DeepSeek Harness — the agent framework this skill targets
License
MIT © 2026 dsh-io
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS