dsh-cc-switch-skills
English | 中文
A DeepSeek Harness (DSH) plugin that loads every skill in C:\Users\<current user>\.cc-switch\skills when DSH starts, and watches that directory for adds, renames, and deletes (no restart needed).
~/.cc-switch/skills is where cc-switch keeps its skills, each a directory bundle with a SKILL.md. This plugin feeds those skills into DSH's ctx.skills registry so they appear in the session skill catalog and can be loaded through the skill tool.
Features
- Loaded at startup: the plugin row mounts with DSH, scans the directory once, and registers every skill.
- Two skill shapes: directory bundles
<name>/SKILL.mdand flat<name>.mdfiles (one level only). - YAML frontmatter parsing (aligned with the official
@deepseek-ai/dsh-skill-filesystem):name(kebab-case),description(required);- optional
whenToUse,metadata,disable-model-invocation,user-invocable; disable-model-invocation: truehides the skill from the model catalog;user-invocable: falsehides it from user-facing commands.
- Lazy body loading: the catalog carries metadata only; every
skillcall re-reads the current file, so edits toSKILL.mdtake effect immediately. - Resource base:
resourceBasepoints at the skill directory so the model can resolvescripts/,references/,assets/and friends. - Live refresh: the root is watched recursively; adds / renames / deletes / frontmatter edits land on the next catalog refresh. A missing root is probed until it appears.
- Rank 300, same tier as the official
customskill root: project skills win name clashes, user-level skills lose.
Install
Option 1: one-line CLI install (recommended)
dsh plugin --profile web add github:artorias-zj/dsh-cc-switch-skills
(Use --profile desktop for the desktop profile; once published to npm this becomes dsh plugin --profile web add dsh-cc-switch-skills.)
Option 2: from DSH — clone the repository (git clone https://github.com/artorias-zj/dsh-cc-switch-skills.git, then run pnpm install inside it), then run plugin_manager install_bundle targeting the clone directory, or install the local path from the Web sidebar Plugins page.
Option 3: manually — add "dsh-cc-switch-skills": "link:<clone dir>" to dependencies and "dsh-cc-switch-skills" to dsh.profile.bundles in ~/.dsh/profiles/<profile>/package.json, then run pnpm install in the profile directory.
Note: local installs (options 2 / 3) reference the directory via
link:— keep the clone (includingnode_modules) in place.
Once installed (live profiles apply immediately; otherwise restart DSH) the skills show up in the session catalog.
Configuration
Optional config fields on the inserted row in cordis.patch.yml:
| Field | Default | Meaning |
|---|---|---|
dir |
<homedir>\.cc-switch\skills |
Root to scan; ~/ prefix supported; also overridable via DSH_CC_SWITCH_SKILLS_DIR |
providerName |
cc-switch |
Provider name registered into ctx.skills (must not be the reserved runtime) |
rank |
300 |
Precedence against other providers on name clashes; lower wins |
watch |
true |
Watch the directory and refresh automatically |
Differences from the official provider
To achieve "load every skill", incomplete frontmatter is tolerated more than the official provider:
- missing (or non-kebab-case)
name→ falls back to the directory / file name with a warning; - missing
description→ falls back to the first non-empty body line (truncated to 160 chars) with a warning.
Still skipped with a warning: invalid YAML frontmatter, missing frontmatter, invalid invocation booleans (e.g. user-invocable: maybe), and names that stay invalid after the fallback. Warnings go to the DSH log (hub.log).
Plugin Info
| Field | Value |
|---|---|
| One-line value | Loads every skill under ~/.cc-switch\skills (with scripts/references resource bases) into DSH at startup, live-refreshed on change |
| Category | Skills & Agents |
| Install command | dsh plugin --profile web add github:artorias-zj/dsh-cc-switch-skills |
| Supported profiles | web / desktop |
| Compatibility | DeepSeek Harness 0.2.x (ctx.skills service); Node.js ^22.15 or >=24; Windows / macOS / Linux |
| Permissions & services | Reads the local ~/.cc-switch\skills directory only; no external services, no telemetry, never mutates skill files |
| License | MIT |
Uninstall
Remove it from the DSH plugins page, or run plugin_manager remove_bundle targeting dsh-cc-switch-skills.
License
MIT
No comments yet. Be the first to write one.