Preface¶
DSH’s philosophy is “Everything is a plugin”. Skills are therefore scattered across multiple directories on the local machine: the shared pool across harnesses, DSH’s own skills directory, and even the trae-cn directory. As the number of skills grows, relying on ls and memory to find a specific skill becomes unreliable—you need to know its name, where it lies, which category it belongs to, and how to trigger it. dsh-skills-workbench (Skills Workbench), maintained by muerdon, solves this problem: it collects these scattered skills into a single-page dashboard, allowing you to view, filter, invoke, uninstall, and restore them, and actively syncs when directories change.
It is not another skills marketplace, nor is it intended to replace DSH’s plugin management; rather, it adds a layer of visual operation interface to the existing skills inventory.
What is it¶
dsh-skills-workbench is a DSH client plugin, created by muerdon, and licensed under the MIT license. One-line positioning: turns the skills inventory into a single controllable dashboard, supporting one-click invocation, uninstalling to a recycle bin and restoring, browsing by category, and actively syncing multiple skill landing directories.
It targets scenarios such as: after skills accumulate, scrolling through directories line by line, manually typing /skill-name, and accidentally deleting files during uninstallation—the panel takes over these operational costs and risks of errors. See below for plugin installation and usage.
Core Features¶
The features introduced below are all from the original README and can be verified.
-
Skill Invocation: The “Invoke” button on the right side of each row writes
/skill-nameinto the current session input box and switches back to the session. If the target session cannot be determined, a selector will pop up; after selecting once, the next hit will directly target the same session. -
Uninstall and Restore: After clicking “Uninstall”, the button changes to “Confirm Uninstall”, and it only executes if clicked again within 4 seconds. The skill will not delete the file immediately but moves it to the recycle bin, which can be restored in place by clicking “↩ Restore” at the bottom of the panel. The only exception is when the skill directory and the recycle bin are not on the same disk partition, where rename is impossible; it will first copy to the recycle bin and then delete the original directory, with the file content remaining intact in the recycle bin.
-
Category Browsing and Filtering: The top search box, domain, and category capsules are used for filtering. The skill details card displays the full description, trigger words, domain/category, size, modification time, landing path, and copy count, category source and reason, as well as efficiency/reputation and seven-dimensional scores, and supports inline category modification with the selection persisting.
-
Active Directory Sync: Normally, the plugin automatically detects changes to the skill directories; the top “⟳ One-click Scan” is a manual fallback.
-
Privacy Boundaries: This package contains no personal data and does not record the location/date/size of the local installation manifest, local directory names, or session IDs. Category overrides, the recycle bin, and logs during runtime are all written to
<DSH_HOME or ~/.dsh>/skills-workbench/, and it does not modify DSH configuration.
Installation and Enabling¶
Installation does not involve dsh plugin add; the README provides a bundle installation method. First, keep the plugin directory intact (do not copy only a single file, place it anywhere), then execute:
plugin_manager install_bundle target=<本目录绝对路径>
Then restart the desktop application—the plugin’s host side needs to be loaded at startup. After restarting, the “Skills Workbench” icon appears in the sidebar; click it to use.
The README also mentions another approach: following DSH’s standard procedure, insert this package and its dependencies in cordis.patch.yml in the profile. However, the official recommendation is install_bundle, which automatically handles the manifest and dependencies. Both methods work; choose one.
Regarding the code, the key point is: do not construct a dsh plugin add github:owner/repo command based on the plugin name; this command does not exist in the documentation.
Typical Usage¶
After installation and restart, the common tasks are:
-
View a Skill: Click any skill row to expand details; the landing path can be clicked to copy.
-
Invoke a Skill: Click “Invoke” on the right side of the row to put
/skill-nameinto the current session input box. -
Uninstall a Skill: Click “Uninstall” on the right side of the row; click again within 4 seconds to confirm, and the skill enters the recycle bin.
-
Restore a Skill: The “🗑 Recycle Bin” at the bottom of the panel lists uninstalled skills; click “↩ Restore” to restore in place.
-
Sync Directory Changes: The top “⟳ One-click Scan” performs a manual scan.
Skill Directories and Scanning Rules¶
The plugin automatically scans the following directories; it only scans if the directory exists, and does not error out if all are missing:
~/.agents/skills(Shared pool across harnesses, main location)$DSH_HOME/skillsor~/.dsh/skills~/.trae-cn/skills
Each skill is <directory-name>/SKILL.md, and its frontmatter’s name / description will be used for display and classification.
Compatibility and Troubleshooting¶
Compatibility requirements: DSH kernel >= 0.2.0-rc.2; runtime uses only Node built-in modules (fs / path / os), with no third-party dependencies. The plugin will not crash if required kernel services are missing; corresponding features will be degraded and explained in the logs.
When troubleshooting client issues, starting from 1.1.0, the client reports failures from each initialization stage to the host log (e.g., client-diag [styles] …). The log location is <DSH_HOME or ~/.dsh>/skills-workbench/debug.log. Internal WebView errors can be seen directly without opening developer tools. When the panel displays “Host data channel not ready”, you can check the log for applying: prefix route /skills-workbench/v1. When the panel displays 0 skills, first confirm the skill directory exists and contains SKILL.md, then click “⟳ One-click Scan”; normal logs should have applying: prefix route … and scan(startup) -> N skills.
File integrity can be verified using SHA256SUMS.txt in the same directory:
sha256sum -c SHA256SUMS.txt
Applicability and Notes¶
Suitable for users who maintain multiple skills locally and need to frequently invoke and organize them; also suitable for developers who want to centrally manage skill categorization, landing paths, and scoring criteria, but do not want to manually maintain the inventory.
A few points to note:
-
The plugin runs with the permissions of the current DSH process and reads the local skill directories. Before installation, you should check the source code and license (MIT, author muerdon) and confirm the directory path matches expectations before enabling.
-
The README records two installation-time issues; do not misdiagnose them as plugin defects when encountered. The first is
ERR_PNPM_UNEXPECTED_STORE: this is a pnpm environment issue with the host profile—pnpm requires the store to be on the same disk as the project for hard links. You can check withpnpm config get store-dir --globaland clear withpnpm config delete store-dir --globalif necessary. The fix is to backup the profile’spackage.json/pnpm-lock.yaml/cordis.patch.yml, then runpnpm installin the profile directory to rebuild links, and finally re-runinstall_bundle. The second is an issue with missing icons in the sidebar and a 20-second timeout in the interface in earlier versions (fixed in 1.1.1); the root cause is a mismatch between the module ID in client.js and the published package name, so simply upgrade to 1.1.1. -
Uninstall skills via the panel’s recycle bin; uninstall the plugin itself using DSH’s plugin management. The local state directory
<DSH_HOME or ~/.dsh>/skills-workbench/can be deleted directly.
Summary¶
The value of the Skills Workbench lies not in adding new skills, but in consolidating the existing local skill inventory into a single, operable dashboard: viewing, filtering, invoking, uninstalling, restoring, and syncing are all completed within the same interface, without touching DSH configuration. It is open-sourced by muerdon under the MIT license; current version 1.1.1.
Directory page: https://www.skillhub.cn/plugins/muerdon/dsh-skills-workbench
GitHub: https://github.com/muerdon/dsh-skills-workbench