
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-skill-hub
Advanced tools
In-GUI skill hub for DeepSeek Harness (dsh): browse the full local skill catalog from the official ctx.skills registry (every root + third-party providers), toggle skills on/off, inspect bodies, surface frontmatter diagnostics, and scaffold new skills — p
In-GUI skill hub for DeepSeek Harness — browse the full ctx.skills catalog, toggle skills, inspect bodies, fix discovery issues, install from the market, and scaffold new ones.
Host runs in the dsh process via official SDKs only; browser renders through official slots. No dsh source changes.
dsh plugin --profile web add dsh-skill-hub
# restart dsh web → Settings → 技能 → Market → scan → import
Requires Node ^22.19 || >=24 + dsh web >=0.1.7-alpha.1 <0.3.
Two surfaces — the hub panel lives at Settings → 技能, and this plugin's own configuration card sits on the plugin's page in the Plugins manager (sidebar → 插件 → dsh-skill-hub). The card is registered by the plugin itself into the plugins.bundle.config slot — dsh has no auto-generated config page — and covers the master switch, announce-to-agent, dot colors, usage display and the stats window/interval.
Settings → 技能 — 3 tabs: Sources (skills, flat/grouped + project tree), Scenes (custom tag groups), Market (install + update).
ctx.skills registry: project / user / bundled + third-party providers. Search across name, description, displayName; filter by source and invocation (model / user); sort by name, added time, or usage. Same-name skills from different sources get a duplicate badge instead of silently hiding.~/.dsh/skills & ~/.agents/skills are writable; everything else is read-only.~/.dsh/dsh-skill-hub.json. Edit mode reveals delete/reorder without cluttering the read view.: in descriptions) get a one-click Fix button.~/.dsh/skills or ~/.agents/skills (SKILL.md template below).owner/repo sources. Any top-level directory containing SKILL.md scans as a root (no allowlist), and a SKILL.md at the repo root itself scans as a single skill named after the repo (minus repo tooling such as .github/). Async import with byte-level progress and cancel. Each source pins a version — click the ref badge to switch between releases, branches, or a custom ref.dsh-skill-manager browses, dsh-skill-importer / dsh-find-skill import. This plugin manages.
| Capability | read-only browser | dsh-skill-hub |
|---|---|---|
| Catalog | user roots, self-scanned | ctx.skills registry, all roots + third-party |
| Toggle | ❌ | ✅ per-skill + per-group, never deletes |
| Diagnostics | ❌ | ✅ reasons + one-click fix |
| Market | ❌ | ✅ built-in + custom, version pins, update-all |
| Source tracking | ❌ | ✅ check/sync/trash with restore |
| Stats | ❌ | ✅ counts + last-used |
Scaffold format (SKILL.md):
---
name: my-skill
description: One line when the agent should use this skill.
---
# my-skill
Body...
GitHub repo ──scan/import──▶ ~/.dsh/skills
▲ │
└─check/sync/delete── ctx.skills ◀─ provider
│ snapshot/get
▼
/api/skill-hub/* ──▶ Panel (Settings → 技能)
Host uses only ctx.skills.snapshot/get, ctx.webServer.register, ctx.systemPrompt.section. Routes sit behind dsh's own /api trust fence (loopback / the listener's bind address / --trusted-host), JSON.
| Endpoint | Method | Purpose |
|---|---|---|
/api/skill-hub/catalog?cwd= | GET | skills + disabled + diagnostics + duplicates |
/api/skill-hub/skill?name=&cwd= | GET | skill body (works for disabled too) |
/api/skill-hub/skill/delete | POST | move to trash (snapshots source+scenes) |
/api/skill-hub/toggle | POST | {name, enabled} |
/api/skill-hub/toggle-batch | POST | {names, enabled} |
/api/skill-hub/create | POST | {name, description?, root?} |
/api/skill-hub/diagnostic/fix | POST | {path} auto-fix frontmatter |
/api/skill-hub/stats | GET | invocation counts |
/api/skill-hub/config | GET/POST | runtime config (null clears) |
/api/skill-hub/groups | GET | tags + collections + orders |
/api/skill-hub/tag etc. | POST | create/rename, delete, set members, reorder |
/api/skill-hub/market etc. | GET/POST | list/add/delete/pin sources; …/source/check + …/source/sync update them |
/api/skill-hub/market/source/versions?repo= | GET | releases + branches for the version picker |
/api/skill-hub/repo?repo= | GET | discover (any root) |
/api/skill-hub/repo/import | POST | async job {jobId, total, totalBytes} |
/api/skill-hub/repo/import/progress?jobId= | GET | poll job |
/api/skill-hub/repo/import/cancel | POST | cancel job |
/api/skill-hub/sources etc. | GET/POST | list/check/sync/delete/restore/clear trash |
/api/skill-hub/update | GET | plugin latest release |
unknown /api/skill-hub/* | GET/POST | 404 {error} naming the path — a typo must not read as an auth failure (the SPA fallback answers 401 for /api/* it does not own) |
npm run typecheck # tsc --noEmit
npm test # 295 tests, 16 suites
npm run build # tsc + tsdown → lib/index.js + lib/client.js
Don't run two
dsh webon the same$DSH_HOME+ cwd — no session-log lock (seq gapcorruption). Use separateDSH_HOME.
duplicate loader entry id: skill-hub — remove the duplicate install (keep one dsh plugin add method).<name>/SKILL.md bundle and a <name>.md file can coexist on disk, and the registry keeps only one of them)..disabled files on disk and prunes records whose file is gone (a record left behind by a hand-deleted directory used to be un-actionable: enable, create and delete all failed). Source groups with no visible member are no longer rendered..disabled file, or dropped so the name is free again./ menu — dsh internals changed; catalog still works.0.1.7-alpha.1 this plugin does not load at all (the settings API it targets does not exist there).Issues · Discussions · Showcase · Market PR · Discord
MIT — LICENSE.
FAQs
In-GUI skill hub for DeepSeek Harness (dsh): browse the full local skill catalog from the official ctx.skills registry (every root + third-party providers), toggle skills on/off, inspect bodies, surface frontmatter diagnostics, and scaffold new skills — p
The npm package dsh-skill-hub receives a total of 0 weekly downloads. As such, dsh-skill-hub popularity was classified as not popular.
We found that dsh-skill-hub demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.