Preface

DSH skills are not confined to a single location: besides DSH’s own skill catalog, they can also originate from Codex, Claude, GitHub repositories, or local ZIP archives. When manually enabling, disabling, or installing skills, you need to verify in different directories whether SKILL.md has been renamed, and after installation, confirm whether the skill has been registered in the /skills registry.

dsh-skill-manager is a DSH plugin that centralizes these operations into the DSH settings page: it displays loaded skills, supports hot toggling for enable/disable, and supports local ZIP installation and GitHub repository search-based installation.

What This Is

dsh-skill-manager is provided by sulfide2085 under the MIT license. It adds a skill management section to the DSH settings page for unified management of AI skills across DSH / Codex / Claude.

Below, we introduce its main capabilities, installation methods, and considerations.

Core Features

Skill List

The plugin merges entries from the registry (enabled) and disk (disabled), displaying skill names, descriptions, sources, invocation policies, and enable status grouped by source.

The local list includes a dedicated search box to filter installed skills. After a ZIP or repository installation succeeds, the list automatically refreshes. You can also click a card to expand and view the full skill content.

Enable and Disable

Skills in DSH / Agents directories are toggled via renaming:

  • Enable: Rename SKILL.md.disabled back to SKILL.md
  • Disable: Rename SKILL.md to SKILL.md.disabled

Disabling only renames the file without deleting content, so it can be restored anytime.

Group header switches can operate on all skills from a specific source directory at once.

Please note:

  • Skills from codex / claude directories are disabled by default and only enter the official /skills registry after explicitly enabling them.
  • Skills from bundled / runtime sources have no disk files, are non-editable, and their switches are grayed out.
  • When no session is active, only user-level and global skills are displayed; project-level skills depend on the session’s cwd.

Local ZIP Installation

Supports selecting a local .zip file for installation, with a size limit of 64 MiB.

The installation process involves: extracting the archive, searching for skills within the package, and installing them into ~/.dsh/skills before enabling. If no skills are found in the package, the installation will error out.

GitHub Repository Search and Installation

Supports adding GitHub repositories by providing owner / name / branch, then entering keywords to search for skills across the added repositories and install them one by one.

Installation and Activation

First, prepare the plugin directory. Then, within the plugin directory, execute:

dsh plugin --profile web add .

If you modify the plugin code, you need to restart DSH Web for changes to take effect.

On Windows, the plugin depends on zod and @deepseek-ai/dsh-typert-protocol. These are distributed with the DSH installation tree, and the node_modules in the plugin directory is a junction pointing to the node_modules in the DSH installation directory.

If this junction is deleted, you can recreate it:

New-Item -ItemType Junction -Path "node_modules" -Target "<DSH installation directory>\node_modules"

Replace <DSH installation directory>\node_modules with the actual node_modules path in your local DSH installation directory.

Typical Usage

Enabling or Disabling Skills

Open the skill management section in the DSH settings page, locate the target skill or source directory, and use the toggle to enable or disable it.

For DSH / Agents directory skills, the plugin enables or disables them by renaming SKILL.md and SKILL.md.disabled. After disabling, the content is not deleted and can be restored by re-enabling.

Installing a Local ZIP

Select a local .zip file in the settings page. The plugin will extract the archive, search for skills within the package, and install them to ~/.dsh/skills before enabling.

After a successful installation, the list automatically refreshes.

Installing Skills from a GitHub Repository

First, add a repository by providing owner / name / branch. Then, enter keywords to search for skills across the added repositories and install the desired skills one by one.

After a successful installation, the list automatically refreshes, and you can click a card to view the full skill content.

Running Tests

The plugin uses Node’s built-in node:test and requires no additional dependencies. There are 100 test cases in total:

npm test

Applicable Scenarios and Notes

This plugin is suitable for scenarios where you need to centrally manage DSH / Codex / Claude skills and prefer not to manually modify SKILL.md files across multiple directories.

Before use, please note:

  • The plugin runs with the current dsh process permissions. Before installation, you should review the source code and MIT license.
  • The local ZIP size limit is 64 MiB.
  • ZIP installation will error out if no skills are found in the archive.
  • Skills from bundled / runtime sources have no disk files, are non-editable, and their switches are grayed out.
  • When no session is active, only user-level and global skills are displayed.
  • Not yet implemented: zip-bomb budget, symlink materialization, ZIP64, download proxy support.

Links

  • SkillHub Directory Page: https://www.skillhub.cn/plugins/sulfide2085/dsh-skill-manager
  • GitHub Repository: https://github.com/sulfide2085/dsh-skill-manager