@restregular/dsh-skill-center
Skill Center panel for the current session: lists the visible skills with their provider and source root, renders each SKILL.md, toggles model and user invocation, and creates or soft-deletes skills; ships a skill-authoring skill and the skill_create tool.
Install
dsh plugin --profile web add @restregular/dsh-skill-center
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
dsh-skill-center · 技能中心




English · [中文](#中文)
A Skill Center panel for DeepSeek Harness: browse every skill a session can see, switch which
session scope the panel follows, read its SKILL.md, flip the model/user invocation switches, create
and delete skills — without leaving the app and without hand-editing frontmatter. The package ships
icon.svg for the plugin manager and uses the same lightning mark for the sidebar entry, so the row
and the plugin card match.
[!NOTE]
The npm name dsh-skill-center is taken by an unrelated project, so this plugin is published as
@restregular/dsh-skill-center. The plugin id staysdsh-skill-center/skill-center.
Sidebar Main area
├ New session ┌───────────────────────────────────────────────┐
├ Plugins ← order 0 │ Skill Center 8 skills · session scope Back│
├ Skill Center ← order 1 (this) ├──────────────┬────────────────────────────────┤
├ Workspaces / Sessions │ auth0-quick… │ auth0-quickstart │
└ Settings │ discover-… │ provider / source / root │
│ office-docx │ path / size │
│ … │ [model invocable ●] [user ●] │
│ │ [Read body] [Delete] │
└──────────────┴────────────────────────────────┘
Features
Capability · Detail
Browse · Lists every skill visible in the current session scope, including skills embedded in plugins, each with provider, source root and invocation policy
Switch scope · The Scope dropdown in the toolbar is a custom popup menu that browses another session's skill scope, with sessions grouped by workspace while archived and blank sessions are left out. Auto (current session) keeps the original follow-the-main-view pick, while any listed session makes list and every write resolve from that session's cwd and preset. It is disabled while invocation edits are staged, so a switch can never carry them into a different scope
Search / filter · Search by name or description; filter by provider source
Read body · Renders the raw SKILL.md Markdown inside the panel (no right-hand resource pane needed)
Invocation switches · Flips disable-model-invocation / user-invocable locally — the switch moves at once, with no round trip — and writes them into the frontmatter when you press Save beside Back to session (the button reads 未修改 → 保存 → 已保存); the host pushes the refreshed catalog to the model immediately
Create · Creates <name>/SKILL.md under the user Agents or user DSH skills root; the form pairs Create with Cancel, and a hint under Write to explains what the choice means
Export / import · Export downloads the selected bundle as a .zip — SKILL.md plus every resource file under it, flat skills become <name>.md. Import skill accepts that .zip (a single wrapping folder is stripped) or a bare SKILL.md; it refuses entries whose paths escape the bundle, names that already exist, and files without frontmatter name + description
Delete · Moves the skill to .trash/<timestamp>-<name> in the same root — recoverable, never a hard delete; the confirmation puts 取消 / Cancel to the left of 确认删除? / Confirm delete?
Trash · The Trash button in the toolbar lists every .trash entry across the managed roots, with its root and deletion time. Restore renames one back into its original root (refusing to overwrite a skill that already exists there); Delete in the detail pane removes the selected entry permanently (after 确认删除?, Cancel on its left). Empty trash sits in the top toolbar and clears every entry, also behind a 确认清空? step that pairs a 取消 / Cancel on its left
No success toasts · The panel shows no "saved / created / deleted / restored" notice: the state change itself is the feedback (the save button's three states, a row appearing in or leaving the list, a trash entry leaving the trash). Only failures render, as a red bar with a retry button
Read-only guard · Skills embedded in plugins (e.g. office-docx) are labelled embedded and their switches/deletion are disabled
Bundled skill · Ships an embedded skill-authoring skill (guidance + references/ + a starter template) that teaches the agent which root a skill belongs in, what the frontmatter contract is, and where a skill's resource files go
Model tool · Registers skill_create, which writes <root>/<name>/SKILL.md plus any resource files in one call — the path that works for skill roots outside the session workspace, where the file-write tools are sandboxed
Security · Every write is confined to managed skill roots that really exist on disk; requests from non-loopback origins get 403
Write location: project roots vs the two user roots
Write to (写入位置) is the directory the new skill's files are written into; it decides who can see
the skill and how it competes with same-named skills. The form only offers the two user roots.
Choice · Path · Applies to · Notes
User Agents skills · ~/.agents/skills ($DSH_AGENTS_HOME/skills) · every project · The cross-agent convention: other tools that scan ~/.agents/skills see it too. This is
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::18,最后更新 2026-10-19