Introduction¶
DeepSeek Harness (DSH) uses a plugin-based architecture. When developing agents or managing skills, maintaining files directly under the ~/.dsh/skills directory requires manual operations. This plugin provides a management interface on the DSH settings page, supports bulk import of skill directories, and uses an AI model to automatically parse skill names and descriptions. It solves problems such as non-standard skill naming and duplicate imports.
Core Features¶
Skill List¶
The plugin lists imported directory bundles under ~/.dsh/skills (directories containing SKILL.md) and flat Markdown skill files. The list shows the skill name, description, validity, and source directory.
Multi-Directory Import¶
During import, multiple skill directories can be selected at the same time. The plugin reads files inside the directories (automatically skipping system files such as .git) and transfers them to the DSH process via RPC.
AI Name Parsing¶
Before import, a configured AI model can be selected (default is the harness default model). The model parses the skill name and one-sentence description. The parsed result is forced to conform to the naming format supported by the DSH dialog.
Automatic Directory Renaming¶
After import, if the directory name does not match the parsed name, the plugin renames the directory to the normalized name (lowercase kebab-case). It also rewrites the frontmatter of SKILL.md to ensure that the name, description, and directory name are consistent.
Same-Name Protection¶
During import, the target directory is checked. If a skill with the same name already exists, the import is automatically skipped and existing content is not overwritten.
Installation¶
Use the DSH plugin installation command. If the current profile is not web, replace --profile web in the command.
dsh plugin add github:tianLee-gitter/lt-lt-lt-dsh-skill-manager --profile web
After installation, restart dsh web and refresh the browser page.
Usage¶
- Open the DSH settings page and go to “Skill Management”.
- Select the AI model used for name parsing (optional; the harness default model is used by default).
- Click “Import Skills…”, then select multiple skill directories at once in the file picker.
- Review the import results. Successful items show the name, description, and directory renaming status; failed items list the reasons (such as missing
SKILL.md, an existing skill with the same name, or a name that cannot be normalized, etc.). - After a successful import, use
/namein the dialog to invoke the skill.
Configuration¶
The plugin configuration is located in the cordis.patch.yml file within the package. The default configuration items are as follows:
dshHome: skill root directory, defaults to~/.dsh.maxAiInputBytes: input truncation size for AI parsing, default 6000.maxAiOutputTokens: maximum number of output tokens for the AI, default 300.aiTimeoutMs: timeout for AI requests, default 30000.
Notes¶
- Naming rules: skill names must match the regex
^[a-z0-9]+(?:-[a-z0-9]+)*$, i.e., lowercase kebab-case. AI parsing results are forced to conform to this rule. - Duplicate names: skills with the same name are not overwritten; they are only skipped.
- Profile dependency: the installation command uses the
webprofile by default. Modify it if your environment is different. - Security: during import, files read by the browser are transferred via RPC. Ensure the file sources are secure.
- Disabling the plugin: to disable it, uncomment the
# disabled: trueline incordis.patch.yml, then restartdsh web.