Preface¶
Matt Pocock’s agent skills are a common reference set in agent development. Integrating this set of 35 skills (upstream version 1.2.3) into DeepSeek Harness (DSH) requires solving a core problem: the upstream skills are designed for Claude Code, and their command mechanism differs from DSH.
In DSH, /name is a user command and cannot be executed directly by the model. Some DSH restrictions (such as disable-model-invocation) can cause model loading to fail. The plugin uses an adapter layer to convert upstream skills into a format recognizable by DSH and provides a set of runtime guidelines.
Core Features¶
The plugin packages upstream skills as a self-contained DSH plugin, mainly including the following components:
- Skill Bodies: 35 upstream skills, preserved byte-for-byte in the
skills/directory. - Adapter Layer: 58 hand-written rules for semantic conversion and 29 mechanical slash normalizations for syntax correction. The adapter layer is validated at load time to ensure logical consistency.
- Read-only Provider: registered via
ctx.skillsto manage skills as a single plugin entry, avoiding skill files scattered across user directories. - Runtime Guide: provides a model-invocable
dsh-workflowskill explaining how skills are invoked in DSH, permission ownership, and workflow handoff.
Installation and Enablement¶
After cloning the repository from GitHub, install it using the link: method to support real-time updates. After installation, add the plugin to dsh.profile.bundles and restart the host.
git clone https://github.com/NmouZh/dsh-mattpocock-skills.git ~/dsh-mattpocock-skills
cd /root/.dsh/profiles/web
pnpm add "dsh-mattpocock-skills@link:$HOME/dsh-mattpocock-skills"
Modify package.json to add the plugin name to dsh.profile.bundles, then restart the DSH host.
Configuration and Usage¶
Configure it under id: mattpocock-skills in the profile’s cordis.patch.yml.
Basic Configuration¶
- id: mattpocock-skills
config:
enabled: true
rank: 450
enabled: controls whether the entire plugin is active.rank: deduplication priority for identically named skills; lower values take precedence.
Promoting Model Permissions¶
By default, 20 skills are user-initiated only. To allow the model to load these skills (for example implement), declare them in the promote list:
- id: mattpocock-skills
config:
promote: [implement, to-spec]
Note: Promoting skills adds their descriptions to the skill catalog in every model request, consuming prompt budget.
Adapter Layer Explanation¶
Differences between upstream skills and DSH are handled by overlay/patches.json:
- Command Mapping: converts the model-executable “load skill” action into a DSH
skilltool invocation. - Error Handling: marks skills with
disable-model-invocation: trueas non-invocable to avoid model errors. - Instruction Correction: removes commands not supported by DSH (such as
/clear) and replaces them with creating a new session; corrects the hooks location forgit-guardrails.
Maintenance and Upgrading¶
Maintaining the adapter layer involves two scripts:
vendor/gen-slash-rules.mjs: automatically generates mechanical slash normalization rules based on hand-written rules.vendor/overlay-report.mjs: validates whether adapter rules hit their expected counts and whether anchors exist.
After upgrading upstream skills, run vendor/vendor-skills.mjs --check to check file integrity and whether the adapter layer can still be applied.
Diagnostics and Self-Checks¶
The plugin provides a diagnostic interface and log summary:
node /root/dsh-mattpocock-skills/dsh-mattpocock-skills/test/bundle.test.js
node vendor/vendor-skills.mjs --check
Host logs output a registration summary, such as:
mattpocock-skills: 36 skill(s) from …/skills (packaged) + 1 from the DSH overlay; 16 model-invocable, 20 user-invocable only, 16 adapted by 49 rule(s)
Use Cases and Notes¶
This plugin is suitable for developers who want to use Matt Pocock’s standard skill set in DSH. Before use, the Node.js environment requirement (^22.19.0 || >=24.0.0) must be met.
- Permission Note: The plugin runs with the permissions of the current DSH process; review the source code and license before installation.
- Configuration Activation: Modifying
dsh.profile.bundlesrequires restarting the host; modifyingcordis.patch.ymlsupports hot reloading.
Summary¶
This plugin resolves the incompatibility between upstream skills and DSH mechanisms. Through a fine-grained adapter layer and clear permission boundaries, it enables model developers to safely reuse a mature skill set. Full documentation and source code are available on GitHub.