DeepSeek Harness plugin

dsh-skill-manager-jimmyjin

In-GUI skill manager for the dsh web GUI: a top-level Skills entry in Settings (movable into the Plugins section) that lists every installed skill (name, description, model/user invocation type

Jump to install

Source facts

Repository
JimmyJin2006/dsh-skill-manager
Latest update
Aug 13, 2026
Category
Plugin Markets & Managers
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/JimmyJin2006/dsh-skill-manager
Plugin: dsh-skill-manager-jimmyjin
Author: JimmyJin2006

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer2 files
README.mdSource · read only

dsh-skill-manager

A skill manager for the DeepSeek Harness (dsh) Web GUI: browse every installed skill right inside Settings — a top-level Skills entry in the sidebar that you can move into the Plugins section with one click.

Features

  • Settings → Skills (top-level, default): a read-only catalog of every

skill the session can load, scanned from your user skill roots ($DSH_HOME/skills, ~/.agents/skills).

  • Each card shows the skill name, an invocation badge (Model + user /

User-only / Model-only), and its description; expand it to see the source root and file path.

  • Search filters by name and description.
  • Move the entry with one button: "Move to the Plugins tab" removes the

Skills entry from the sidebar and re-creates it as a tab inside Settings → Plugins; "Move back to the sidebar" reverses it. The choice is persisted in localStorage — exactly one entry exists at any time.

  • Read-only: this plugin never writes or modifies skill files.

Installation

Pick one of the two ways below — never both.

Option A — one command (recommended)

dsh plugin --profile web add dsh-skill-manager

This adds the package to the profile's dsh.profile.bundles; its bundle patch (cordis.patch.yml) mounts the plugin automatically on boot. Do not also add a manual insert row for it.

Or from a local checkout:

dsh plugin --profile web add /absolute/path/to/dsh-skill-manager

Option B — manual patch only

Use this only when the package is already resolvable from the profile's node_modules (e.g. it was installed as a dependency some other way) and is not in dsh.profile.bundles. Add one insert row to ~/.dsh/profiles/web/cordis.patch.yml (the config watcher hot-reloads it, no restart required):

- insert:
    - id: ui-skill-manager
      name: dsh-skill-manager

> ⚠️ Never combine the two options. Keeping the same plugin both in > dsh.profile.bundles and in a manual insert row mounts the same loader > entry id twice — boot fails with > duplicate loader entry id: ui-skill-manager.

Troubleshooting

duplicate loader entry id: <id> on startup

Boot fails when the same plugin is mounted from two sources — typically a package that appears both in dsh.profile.bundles (from dsh plugin add) and as a manual insert row in cordis.patch.yml. The reported id may be any duplicated plugin, not necessarily the one you just installed.

Fix: remove one of the two sources — delete the manual insert row from ~/.dsh/profiles/web/cordis.patch.yml, or remove the package from bundles (dsh plugin --profile web remove <pkg>).

The DSH loader treats a duplicate id as fatal. A local patch makes it idempotent (keep the first occurrence, warn, ignore the duplicate) so this can never lock you out of the harness again; see the upstream issue and re-run this patch script after every DSH upgrade:

# 升级 DSH 后重跑(自动定位最新 loader,已打过会跳过)
powershell -ExecutionPolicy Bypass -File patch-dsh-dedupe.ps1

Structure

  • lib/index.js — host half: scans skill roots, parses SKILL.md

frontmatter, serves the catalog at GET /api/skill-manager/list (same-origin fenced).

  • lib/client.js — browser half: registers the settings.section entry

(sidebar, order 12) and the settings.plugins.tab entry, and moves between them at runtime through ctx.slots.register disposers.

  • cordis.patch.yml — the bundle patch that inserts the ui-skill-manager

row.

License

MIT