dshbase

Plugin directory / Developer / dsh-skill-switch

dsh-skill-switch

Unverified hzthzt

✓ Actively maintained Builds on 11 official DSH packages

View on GitHub ↗ ← Back to plugin directory

0Stars
0Forks
0Open issues
Language
2026-08-23Last push
Cross-platformPlatform

What it does

Windows Junction-based global Skill switcher for DeepSeek Harness Web.

Our take
Unverified — not yet verified

Windows Junction-based global Skill switcher for DeepSeek Harness Web. Not yet verified — install and test it yourself.

“Unverified” means our automated CI has not yet installed this plugin. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

Plugin author? Get the “Verified” label — submit your own evidence (screenshots, logs, or a short demo) and we'll review and flip the badge.

Submit verification evidence ↗

README

dsh-skill-switch

English | 简体中文

Windows-only Skill management for DeepSeek Harness Web. The plugin scans one central directory and selectively exposes user-global Skills in $DSH_HOME/skills through directory Junctions.

The default central directory is ~/.cc-switch/skills. Version 0.1.0 targets DSH dsh-v0.1.1-rc.2 at commit b150a551b8d465e31e418e1b2eaf5e79bbb7d28e.

Scope

  • Manages user-global DSH Skills only.
  • Accepts direct <directory>/SKILL.md directory bundles and identifies them by frontmatter name.
  • Creates and removes Windows Junctions only.
  • Never installs, updates, edits, or deletes central Skills.
  • Never adopts existing files, directories, or links in $DSH_HOME/skills.
  • Does not manage project Skills or other agents.

Install

Install a reviewed commit into a DSH profile:

dsh plugin --profile <profile> add github:hzthzt/dsh-skill-switch#<commit-sha>
dsh --profile <profile> --dump-config
dsh --profile <profile> web

The repository commits lib/, so Git installation does not need to run a build script. A local tarball can be installed instead:

pnpm pack
dsh plugin --profile <profile> add ./dsh-skill-switch-0.1.0.tgz

Open DSH Settings and select Skills.

Skill format

The central directory is scanned one level deep. Source directory links and linked SKILL.md files are ignored. A source directory may use any name; the SKILL.md frontmatter name is the canonical Skill identity and must be kebab-case:

central-directory/
`-- example-skill-main/
    `-- SKILL.md
---
name: example-skill
description: A non-empty description.
---

Enabling this example creates $DSH_HOME/skills/example-skill, which points to central-directory/example-skill-main. If multiple valid source directories declare the same frontmatter name, every duplicate is reported as invalid until the ambiguity is removed.

The configured central path must be a Windows absolute path or start with ~. Environment-variable expressions such as %USERPROFILE% are not expanded. The central directory and $DSH_HOME/skills cannot contain one another.

States

State Meaning Action
available Valid central Skill with no target entry Can be enabled
enabled Junction is owned and verified by this plugin Can be disabled
conflict An external target already uses the same name Read-only
invalid The Skill file/frontmatter is invalid, or multiple sources declare the same name Read-only unless already managed
broken The managed source disappeared or no longer declares the recorded Skill Can be disabled safely

Existing ordinary directories such as ~/.dsh/skills/nai-fadian remain externally managed. A same-named central Skill is reported as a conflict and its toggle is disabled.

Safety model

Ownership records are stored in $DSH_HOME/skill-switch/manifest.json. The manifest is versioned, strictly validated, and replaced atomically. Every record includes the source and filesystem identity of the Junction created by this plugin.

Before removal, the plugin validates the Skill name, recomputes the target under $DSH_HOME/skills, verifies that the target is still a link with the recorded identity, and verifies its destination. A missing target is pruned from the manifest. A replaced target loses ownership and is displayed as external. A managed Skill is matched by both its frontmatter name and recorded source path, so moving a source requires disabling it before the new path can be enabled. Source Skills are never removed.

All scans and mutations share one serial queue. Changing the central directory is refused while any verified managed Junction remains; use Disable all first. On non-Windows hosts, the Remote returns unsupported-platform and performs no filesystem mutation.

Development

Use Node.js 24 and [email protected]:

pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
git diff --exit-code -- lib
pnpm pack

The build runs the pinned Typert generator and commits lib/ artifacts intentionally. Windows tests use real Junctions; the Ubuntu test job verifies build behavior and the explicit unsupported-platform result.

License

MIT

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-skill-switch for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:hzthzt/dsh-skill-switch

Headless (CLI) profile:

dsh plugin --profile headless add github:hzthzt/dsh-skill-switch

Test report

Not yet L3-verified — see failure note below if we already ran it.

Status: pending · last test 2026-08-27
Note: 验证: runtime-fail Browse all pending failures →
Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7795 plugins →