Introduction

When developing agents with DeepSeek Harness Web, managing global skills usually requires direct filesystem operations. If different skill configurations need to be switched frequently, manually creating or deleting symbolic links (Junctions) can become tedious and error-prone. The dsh-skill-switch plugin provides an automated solution using Windows Junction technology, addressing the need to manage global skills under the $DSH_HOME/skills directory.

What Is It

This plugin is maintained by hzthzt and belongs to the “Fun Reskin” category. It uses the Windows Junction mechanism to create shortcuts in the $DSH_HOME/skills directory that point to a central directory, enabling quick switching of user-global skills. The plugin follows the MIT license, and the repository currently has no stars.

Core Features

  1. Junction-based management: Creates and removes Windows Junctions in $DSH_HOME/skills.
  2. Automatic detection: Detects skills from the frontmatter in SKILL.md, using the name field as a unique identifier.
  3. Central directory scanning: Manages user-global skills located in the central directory and exposes them only through Junctions.
  4. Safety mechanisms: Ownership records are stored in manifest.json, and a strict serialization queue prevents race conditions.
  5. Conflict handling: Detects conflicts between externally managed directories and same-named skills; source skills are never removed.

Installation and Enablement

First, use the official command to install the plugin to the specified Profile, then start the Web interface to configure it.

  1. Install the plugin:
dsh plugin --profile <profile> add github:hzthzt/dsh-skill-switch#<commit-sha>
  1. Start DeepSeek Harness Web:
dsh --profile <profile> web
  1. Open DSH settings and go to the Skills panel.

Typical Usage

  1. Prepare a central directory (default: ~/.cc-switch/skills), and create a skill folder in it, such as example-skill-main.
  2. Create SKILL.md in that folder and define the skill name in the frontmatter:
---
name: example-skill
description: A non-empty description.
---
  1. Select the skill in DSH settings and enable it.
  2. To change the central directory, use Disable all first, then select the skill again.

Use Cases and Notes

  • Platform limitation: Supports Windows only.
  • Directory limitation: The central directory and $DSH_HOME/skills must not contain each other.
  • Environment variables: Environment variables in configured paths (for example, %USERPROFILE%) are not expanded; use absolute paths or ~.
  • Dependency requirements: Node.js 24 and pnpm@11.7.0 are required.
  • Source skills: The source skill directories managed by the plugin are not removed; only the Junctions are managed.

Conclusion

This plugin provides DSH users with filesystem-based global skill management, making it suitable for developers who need to manage skill configurations consistently in a Windows environment. For more details, refer to the project page or source code.