
Lanxing6480/dsh-skill-manager
30Last commit Aug 14, 2026
dsh-skill-manager DSH plugin
This plugin adds a 'Skills' entry to the DSH Web GUI sidebar, opening a management panel that lists all skills visible to the current session, grouped by global/local. Each skill has a toggle switch that instantly disables/enables it across model directory, skill tool, and user gestures, with state persisted across sessions.
How to install the dsh-skill-manager DSH plugin
dsh plugin --profile web add @lanxing/dsh-skill-managerCopying does not run this command. Review the repository and version before installing the dsh-skill-manager DSH plugin.
dsh-skill-manager DSH plugin data source
dsh-skill-manager DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-skill-manager DSH plugin can do
- Sidebar entry for Skills panel, collapsible to icon-only mode
- List skills with name, description (truncated), source, grouped by global/local, with search by name/description
- Toggle switch per skill that disables/enables it immediately with persistence
- Add skills via form (name/description/whenToUse/content) or raw source mode, including import from .md file
- Edit writable skills (user-dsh, user-agents, etc.) via form or raw source, preserving other frontmatter fields
- Delete writable skills with double confirmation
- Read-only marking for custom/bundled/runtime skills, hiding edit/delete buttons
- Hot refresh of skill registry after any change, auto-updating model directory on next conversation
- State persisted to `~/.dsh/dsh-skill-manager.json` across sessions and restarts
Where the dsh-skill-manager DSH plugin fits
- Temporarily disable a skill without modifying its SKILL.md file, useful for testing or conflict resolution
- Quickly view all available skills in the current session and understand their source
- Add a new skill directly from the UI by filling in a form or pasting raw SKILL.md content
- Edit an existing skill's description or whenToUse field without file system navigation
- Clean up duplicate or unwanted skills from writable skill directories
Who the dsh-skill-manager DSH plugin is for
- DSH users who want a graphical interface to manage their skills
- Developers who frequently toggle skills during experimentation and need immediate persistence
dsh-skill-manager DSH plugin limitations
- Disabled skills may still be briefly visible in cold-session `/` popups without an active agent
- Toggle changes only affect the next conversation round, not the current one
- Add/edit/delete operations only work on writable roots (user home and project root); custom/bundled/runtime skills are read-only
- State file `~/.dsh/dsh-skill-manager.json` if corrupted will reset to empty state, re-enabling all disabled skills
- Editing a skill does not preserve comments and field order in the frontmatter YAML (re-serialized)
dsh-skill-manager DSH plugin: from the repository README
Quoted from the Lanxing6480/dsh-skill-manager README, the upstream source of the dsh-skill-manager DSH plugin. Copyright remains with the original authors.
> 让 DSH Web GUI 拥有「Skills」面板:查看已安装的技能列表,并用开关自定义每个技能的启用状态。 ## 简介 在 DSH Web GUI 侧边栏提供「Skills」入口,点击打开技能管理面板:列出**当前会话可见**的全部 Skill(名称、描述、来源),按「全局 / 局部」分组,每个 Skill 带一个开关。关闭开关后,该 Skill 对**模型目录**(`<available_skills>`)、**`skill` 工具**与**用户 `/名称` 手势**全部不可用;重新打开即恢复。开关状态持久化于 `~/.dsh/dsh-skill-manager.json`,跨会话、跨重启生效。面板还支持技能的增删改(新增/导入、编辑、删除带二次确认)。 ## 能力清单 | 能力 | 说明 | |---|---| | 侧边栏入口 | 「Skills」按钮,与 dsh-ssh / dsh-task-board 入口共存,折叠侧边栏时只显图标 | | 技能列表 | 会话视角:名称、描述(截断)、来源、调用策略状态;分组为「全局 Skill / 局部 Skill」;支持按名称/描述搜索 | | 自定义开关 | 每行一个 toggle;禁用/启用即时持久化 | | 添加技能 | 每组标题栏「+」按钮:表单模式(name/description/whenToUse/正文)或源码模式(完整 SKILL.md 文本),可导入本地 .md 文件 | | 编辑技能 | 可写技能(user-dsh / user-agents / project-dsh / project-agents)行内「笔」按钮:表单或源码视图编辑,frontmatter 其它字段(metadata、disable-model-invocation 等)保留 | | 删除技能 | 可写技能行内「垃圾桶」按钮,删除前二次确认 | | 只读标记 | custom / bundled / runtime 来源的技能标「只读」,隐藏编辑/删除 | | 目录热刷新 | 任意变更(开关/增删改)后调用 skill 注册表失效通知,下一轮对话目录自动更新,无需新建会话 | | 状态持久化 | `~/.dsh/dsh-skill-manager.json`(`{ version, disabled: { name: {description, whenToUse, source, provider, disabledAt} } }`) | ## 形态与架构 - 形态:`树外 npm 包`(本地 link 安装,`@dsh-external/dsh-skill-manager`) - 平台:`Host` + `Client` 两端 - 关键依赖: - Host:`ctx.skills`(Skill
Read the full READMERepository license: MIT
dsh-skill-manager DSH plugin questions
How do I install dsh-skill-manager?
Run `dsh plugin --profile web add @lanxing/dsh-skill-manager` in your terminal. Then restart `dsh web` to ensure the new bundle is loaded. After restart, the 'Skills' button will appear in the sidebar.
Why can't I edit or delete some skills?
Skills from custom, bundled, or runtime sources are marked as read-only and cannot be edited or deleted via the panel. Only skills located in writable roots (user home `~/.dsh/skills`, `~/.agents/skills`, or project root `.dsh/skills`, `.agents/skills`) can be modified.
Does toggling a skill off modify the SKILL.md file?
No, the toggle does not change any SKILL.md file. It works via a shadow provider that returns a placeholder candidate with very low rank, effectively blocking the skill from model invocation, the skill tool, and user gestures. The original file remains untouched.
How long does it take for a disabled skill to take effect?
The change takes effect on the next conversation round. The current conversation continues with the previous state. After toggling, the skill registry cache is invalidated and the directory refreshes automatically on the next agent/pre-step.
What happens if the state file `~/.dsh/dsh-skill-manager.json` gets corrupted?
If the file is corrupted, the plugin will automatically start with an empty state, meaning all disabled skills will be re-enabled. You will need to manually disable them again. The file is a simple JSON with a version and disabled list.