DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Mattpocock Skills Bundle — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
M

dsh-mattpocock-skills-bundle

Mattpocock Skills Bundle

Matt Pocock's agent skills (mattpocock/skills) as a DeepSeek Harness bundle: grilling, spec and ticket flows, TDD, code review, domain modelling and more.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:sceatcher3/dsh-mattpocock-skills#29c76220f1b4b1eff96b91b609a73b7cf966e85c
READMECompatibilityVersions

Compatibility and provenance

Mattpocock Skills Bundle is published as dsh-mattpocock-skills-bundle and currently resolves to version 0.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/19/2026

Versions

0.2.0stable
10/19/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/19/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseExperimental Inspector@deepseek-ai/dsh-experimental-inspectorExperimental cross-realm CDP hub for Host debugging and Client Runtime inspection

README

dsh-mattpocock-skills-bundle

Matt Pocock's agent skills, packaged for DeepSeek Harness.

This bundle ships the 27 skills that upstream mattpocock/skills promotes in its own plugin manifest (skills/engineering and skills/productivity), keeps every skill body and companion resource file intact, and registers them in the Harness skill registry under one provider named mattpocock-skills.

What it registers

  • One skill provider: mattpocock-skills, source label mattpocock-skills, bundled precedence (rank 600).
  • 27 skills, each under its upstream name, each with its own folder as the resource base directory.
  • Every skill is both model-invocable (the skill tool and the session skill catalog) and user-invocable (/skill-name in the Web composer).

Because the provider sits at bundled precedence, a project skill (.dsh/skills/<name>) or user skill (~/.dsh/skills/<name>) with the same name takes priority. That is the supported way to override one skill without forking the package.

Skills

Upstream marks user-invoked skills with disable-model-invocation: true. This port keeps every skill model-invocable, so the marker only records upstream's policy.

Engineering

SkillUpstream
ask-mattuser
diagnosing-bugsmodel
grill-with-docsuser
triageuser
improve-codebase-architectureuser
setup-matt-pocock-skillsuser
tddmodel
to-specuser
to-ticketsuser
wayfinderuser
implementuser
implement-specuser
prototypemodel
researchmodel
domain-modelingmodel
codebase-designmodel
code-reviewmodel
prmodel
retrouser
wizardmodel

Productivity

SkillUpstream
grill-meuser
grillingmodel
handoffuser
teachuser
to-questionnaireuser
wait-whatuser
writing-for-agentsmodel

Full descriptions live in each skills/<bucket>/<name>/SKILL.md frontmatter and in skills/index.json.

Install

With the plugin manager tool, point install_bundle at this directory:

plugin_manager action=install_bundle target=<absolute path to dsh-mattpocock-skills-bundle>

After the first npm publish, it installs with the same command other plugins use:

dsh plugin --profile web add dsh-mattpocock-skills-bundle

Or use the Web UI: Settings, Plugins, Add, then install from a local directory. The row appears as dsh-mattpocock-skills; enable it if the install leaves it off.

The skill catalog is rebuilt on the next agent step, so a bundle that activates cleanly shows its skills in the session's available-skills list and in the / menu without a restart.

If the install answers restart-required with module-comparison, the running process could not compare loaded plugin modules with their files. The bundle is still written to the profile; restart DSH once and the new module loads. That is the expected path when installing this package into an already running profile.

Two details keep the provider visible after a restart:

  • list() is async on purpose. The registry wraps each provider.list() call with an abort-aware helper that calls .then() on the result whenever the caller passes an AbortSignal (the skill tool always does). A synchronous array is silently dropped with skill provider "mattpocock-skills" skipped.
  • Registration already invalidates the catalog cache, so apply() only calls ctx.skills.registerProvider().

Offline verification against the real @deepseek-ai/dsh-skill registry passes: 27 skills listed, tdd loads its full 3440-character body, with and without an AbortSignal.

To remove it:

plugin_manager action=remove_bundle target=dsh-mattpocock-skills-bundle

Install without npm

A public repository can be installed from Git, with no registry account at all:

dsh plugin --profile web add git+https://github.com/sceatcher3/dsh-mattpocock-skills.git

Pin a tag for a reproducible version:

dsh plugin --profile web add git+https://github.com/sceatcher3/dsh-mattpocock-skills.git#v0.2.0

Or install a release tarball by URL:

dsh plugin --profile web add https://github.com/sceatcher3/dsh-mattpocock-skills/releases/download/v0.2.0/dsh-mattpocock-skills-bundle-0.2.0.tgz

Both paths need the repository to be reachable: public for everyone, or pnpm credentials configured for a private repository.

Install from GitHub

The repository is public:

plugin_manager action=install_bundle target=git+https://github.com/sceatcher3/dsh-mattpocock-skills.git

The plugin manager runs pnpm against the repository, so the Git URL must be reachable from the machine that installs it. Private repositories need credentials configured for pnpm; a public repository is the simplest way for other people to install the bundle.

Invoking a skill

  • Model: skill({ name: "tdd" }).
  • User: type /tdd (or any skill name) in the composer.
  • Both routes return the same instructions, wrapped with a resource base directory. Relative references inside a skill (tests.md, scripts/hitl-loop.template.sh) resolve against that directory.

Layout

dsh-mattpocock-skills-bundle/
  index.js                 provider registration
  cordis.patch.yml         bundle patch (one insert row)
  package.json             dsh.bundle.patch, exports, icon
  icon.svg                 package artwork
  locale/en.json, zh.json  display title and description
  skills/index.json        generated skill manifest (27 entries)
  skills/engineering/...   upstream skill folders, verbatim
  skills/productivity/...  upstream skill folders, verbatim
  tools/                   manifest generator and upstream re-sync script

Invocation policy

Upstream ships 16 of the 27 skills as user-invoked only, meaning the model cannot pick them. This port deliberately widens the policy: the model may choose any of them, and the user can still call every one by name. Each entry in skills/index.json records the original flag as upstreamModelInvocable.

To restore upstream behaviour, set invocation.modelInvocable to false for those entries in skills/index.json and restart the harness. Note that tools/build-manifest.mjs always writes the permissive policy, so re-running it resets a manual edit.

Upstream content: kept and dropped

Kept:

  • Every SKILL.md exactly as published, including the pr skill's nested metadata.credits and CREDITS.md.
  • All companion resources referenced by skill bodies: formats, templates, scripts, and pattern documents.

Dropped:

  • The in-progress (7 skills) and misc (4 skills) buckets. Upstream does not promote them in its own plugin manifest; its README calls in-progress beta material.
  • Each skill's agents/openai.yaml. That file carries Codex and Claude Code display and invocation metadata; the Harness registry receives the same information from this package's manifest.
  • Upstream docs/, marketplace manifests, and install instructions for other agents.

Where a skill mentions Claude Code conventions (CLAUDE.md, .claude/, sub-agents), the text is preserved as published. Several skills already read or write AGENTS.md, and setup-matt-pocock-skills explicitly accepts either file.

Updating from upstream

git clone https://github.com/mattpocock/skills /tmp/mattpocock-skills
UPSTREAM_COMMIT=$(git -C /tmp/mattpocock-skills rev-parse HEAD) \
  node tools/sync-from-checkout.mjs /tmp/mattpocock-skills

The script reads the promoted skill list from the upstream .claude-plugin/plugin.json, copies those skill folders (minus agents/), and regenerates skills/index.json. To regenerate only the manifest from the folders already present, run node tools/build-manifest.mjs or npm run manifest.

Review the diff, confirm that skills/index.json lists the expected skills, then reinstall or restart the bundle.

License and attribution

MIT. The skill instructions are Copyright (c) 2026 Matt Pocock, redistributed from mattpocock/skills under the MIT License. The packaging code and icon are original contributions under the same license. See LICENSE and NOTICE.md.