DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

yuanshuoSY /

yuanshuoSY/dsh-coder-preset

Verified

Coder agent preset for DeepSeek Harness, bundling 35 Matt Pocock engineering skills scoped to Coder sessions. Configuration and Markdown only.

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@526f4be8

English | 中文

dsh-coder-preset

A DeepSeek Harness bundle that adds the Coder agent preset and all 38 Matt Pocock engineering skills. The skills are scoped to Coder sessions, so installing it does not change the skill catalog of other agents in the profile.

  • 38 skills: 15 model-invocable (loaded automatically) and 23 user-invoked (/name)
  • Coder-only skills: a standard session cannot load them
  • Configuration, Markdown, and one small guard plugin (no npm runtime dependencies, no install-time code)
  • 35 skills vendored verbatim from mattpocock/skills at commit 5beb35b (v1.3.1 plus 47 commits), plus 3 DSH adaptations: claude-handoff starts a DSH subagent instead of the Claude Code CLI, git-guardrails-claude-code documents the bundled guard plugin, and scaffold-exercises checks its tree itself when the private course linter is absent
  • A git-guardrails plugin that blocks dangerous git commands before the shell tool runs; disable its row in the plugin manager to turn it off
  • An engines.dsh gate, a two-build sha256 comparison and an install smoke test that mounts the skill catalog through DSH

Adaptations: 3 of the 38 skills are not upstream-verbatim

35 skills are byte-for-byte upstream. Three had to be adapted because the upstream behaviour depends on tooling DSH does not have. They are not identical to the original, and the differences change how they behave:

Skill Upstream This bundle
claude-handoff Starts a Claude Code background agent (claude --bg) and manages it with claude agents Writes the handoff summary, then starts an in-process DSH subagent; closing DSH ends the child
git-guardrails-claude-code Installs a Claude Code PreToolUse hook in .claude/settings.json Ships a profile-wide git-guardrails plugin row (tools.guard()); it denies the same commands, and the row can be disabled in the plugin manager
scaffold-exercises Runs the private AI Hero course linter (pnpm ai-hero-cli internal lint) Keeps the same directory and readme conventions; checks the documented rules by inspection and does not invoke the private linter

Every other skill is upstream content, pinned by skills.manifest.json.

Install

  1. Download dsh-coder-preset-1.3.3.tgz from the releases page.
  2. In DSH, open the plugin manager, install a local bundle, and select the tarball.
  3. Restart DSH.
  4. Create a session and select the Coder agent.

CLI-managed profiles (not the Electron-managed desktop profile):

dsh plugin --profile <profile> add /path/to/dsh-coder-preset-1.3.3.tgz

On Windows, an upgrade can fail with EPERM while DSH is running. Disable the bundle in the plugin manager, install the new version, then enable it again.

Usage

  • Model-invocable skills load automatically when a task matches. You can also type the command, for example /tdd.
  • User-invoked skills are hidden from the model. Type them yourself, for example /ask-matt, /to-spec, or /chief-of-staff.
  • Run /setup-matt-pocock-skills once per project before the first engineering flow.
  • Skills are visible only in Coder sessions.
  • git push, git reset --hard, git clean -f, git branch -D, git checkout . and git restore . are denied for the agent while the git-guardrails row is enabled; the user can still run them in a terminal.

Common commands:

Command What it does
/ask-matt Routes the current situation to the right skill or flow
/grill-with-docs Sharpens a plan or design while writing ADRs and glossary entries
/to-spec Turns the conversation into a spec on the issue tracker
/to-tickets Breaks a spec into tracer-bullet tickets with blocking edges
/implement Implements a spec or a set of tickets
/tdd Drives test-first development: red, green, refactor
/code-review Reviews changes on the Standards and Spec axes
/pr Writes the PR body from the template
/retro Runs a retrospective on a coding session
/claude-handoff Writes a handoff summary and starts a background DSH subagent with it
All 38 skills
User-invoked (23) Model-invocable (15)
ask-matt, chief-of-staff, claude-handoff, grill-me, grill-with-docs, handoff, implement, implement-spec, improve-codebase-architecture, loop-me, retro, setup-matt-pocock-skills, setup-ts-deep-modules, teach, to-questionnaire, to-spec, to-tickets, triage, wait-what, wayfinder, writing-beats, writing-fragments, writing-shape code-review, codebase-design, diagnosing-bugs, domain-modeling, git-guardrails-claude-code, grilling, migrate-to-shoehorn, pr, prototype, research, scaffold-exercises, setup-pre-commit, tdd, wizard, writing-for-agents

Compatibility

Verified on Windows with DSH 0.2.1-rc.3: install, the 15 model-invocable skills in a Coder session, /ask-matt, and standard-session scoping.

CI installs the built tarball into a throwaway DSH profile, checks the composed preset rows, evaluates the shipped skill-directory expression with DSH's own loader, and mounts the real skill registry and filesystem provider over the result. It asserts 38 skills (15 model-invocable, 23 user-invoked) and loads sample bodies, so a broken bundledSkillDir or skill provider fails CI. A model turn needs credentials and stays out of scope; CI proves the catalog, not an agent turn.

The bundle declares engines.dsh >=0.2.1-rc.3 <0.3.0. DSH checks that range when it installs a bundle, and an out-of-range bundle is refused with a named requirement and a dsh plugin allow-version remedy; npm run verify-gate proves that refusal end to end with a deliberately incompatible build, and the refused bundle contributes no preset. The range accepts every 0.2.x release because semver treats a 0.2.x patch as compatible, and it rejects 0.3.0. A DSH upgrade inside the range still mounts the pinned preset, so npm run verify-dsh diffs all 32 plugin rows, nested rows and module names included, and reports any drift by name. Widen the range in package.json only after verify-dsh and the smoke test pass against the new DSH.

verify-dsh and verify-gate are manual checks that need an importable DSH, so CI does not run them. CI is a single Ubuntu job with Node 24: validate, unit tests, two builds compared by sha256, then the install smoke test against the pinned DSH CLI. GitHub Actions are pinned to commit SHAs by hand.

  • Issue-tracker skills need gh, glab, or the local markdown tracker configured by /setup-matt-pocock-skills.
  • /implement-spec needs git worktrees and is not end-to-end verified.
  • On Windows, bash-based skills such as /wizard need Git Bash or WSL.
  • /ask-matt references /clear, which DSH does not have; start a new session instead.
  • scaffold-exercises checks the documented course conventions by inspection and does not invoke the private course linter; the public ai-hero-cli package does not expose internal lint.
  • claude-handoff starts a DSH subagent from the summary, and a claude-handoff child is in-process: closing DSH stops it.
  • The git-guardrails plugin is a tool guard, not a sandbox. It sees model-issued shell calls only; commands the user types are not intercepted, and a script that runs git internally is stopped only when the command string matches. If another tool guard is installed in the same profile, both run.

Build from source

npm ci
npm run validate
npm test
npm run build

npm run smoke builds the tarball, installs it into a temporary DSH profile, checks the composed preset rows, and mounts the skill catalog through DSH's own registry. It needs pnpm and the DSH CLI, for example npm install -g @deepseek-ai/dsh@0.2.1-rc.3. npm run build writes the tarball and dist/SHA256SUMS; npm run validate checks every shipped skill file against skills.manifest.json (upstream files against the pinned commit, local adaptations against skills-local/), so an edited skill body fails before it can ship.

npm run verify-dsh checks an installed DSH against the engines.dsh gate and diffs all 32 pinned plugin rows, nested rows and module names included, against the shipped standard preset; run it when you upgrade DSH. npm run verify-gate builds a deliberately incompatible copy of the bundle and asserts DSH refuses it, which is the negative half of that gate.

These checks need an importable DSH. The Windows desktop app keeps DSH inside app.asar, which plain Node cannot import, so install the CLI, or run the scripts with ELECTRON_RUN_AS_NODE=1 and pass the desktop executable as --dsh; the resolver maps it to resources/app.asar/dsh/node_modules/@deepseek-ai/dsh. An asar path used without that runner is reported with the same remedy. In a confined agent session where npm test cannot spawn its test-runner children, npm run test:in-process runs the same test files in one process.

License and credits

MIT. 35 skills are vendored from mattpocock/skills by Matt Pocock under the MIT license; claude-handoff, git-guardrails-claude-code and scaffold-exercises are DSH adaptations derived from that upstream content. See NOTICE for attribution. Not affiliated with or endorsed by DeepSeek or Matt Pocock.

—/ 5

No ratings yet

Verified DSH bundle

Commit 526f4be81b14

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout