Skip to content

/deepseek-harness-setup

Install and operate Everything Claude Code (ECC) on the DeepSeek Harness (DSH): native skill roots (~/.dsh/skills, .agents/skills), the @deepseek-ai/dsh-hooks-claude-code bridge for command hooks, bare-insert patch mounting, generator usage, event-support limits, and update

BOOST
From plugin
ecc
277k200 skills71 agents112 commands8 hooks
+1
Install
$ npx -y skills add affaan-m/ECC --skill deepseek-harness-setup --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/deepseek-harness-setup

Context preview

The summary Claude sees to decide when to auto-load this skill.

Install and operate Everything Claude Code (ECC) on the DeepSeek Harness (DSH): native skill roots (~/.dsh/skills, .agents/skills), the @deepseek-ai/dsh-hooks-claude-code bridge for command hooks, bare-insert patch mounting, generator usage, event-support limits, and update

SKILL.md

deepseek-harness-setup.SKILL.md
name: deepseek-harness-setup
description: "Install and operate Everything Claude Code (ECC) on the DeepSeek Harness (DSH): native skill roots (~/.dsh/skills, .agents/skills), the @deepseek-ai/dsh-hooks-claude-code bridge for command hooks, bare-insert patch mounting, generator usage, event-support limits, and update workflow. Use when setting up ECC on DeepSeek Harness, wiring ECC hooks into a DSH profile, or debugging why ECC skills or hooks do not appear in a DSH session."
metadata:
  origin: community

DeepSeek Harness Setup

Run ECC on the DeepSeek Harness. Full guide: `docs/DEEPSEEK-HARNESS-GUIDE.md`.

When to Use

  • Installing ECC skills or hooks on a DeepSeek Harness install.
  • Deciding which ECC surfaces work on DSH and which do not.
  • Debugging a DSH session that does not show ECC skills or does not fire ECC hooks.

How It Works

1. **Skills need no conversion.** DSH reads `SKILL.md` frontmatter (name/description) from native skill roots. Link the ECC catalog once:

   ln -s /path/to/ECC/skills/<skill-name> ~/.dsh/skills/<skill-name>

Root priority (project `.dsh` and `.agents` roots beat `~/.dsh`): skip linking skills whose names already exist in a higher-priority root. Substitute real skill names for the placeholders; the angle brackets are not shell syntax.

2. **Hooks go through the first-party bridge.** Generate a DSH-format config from the canonical ECC hooks file:

   node scripts/dsh/generate-hooks-config.js --ecc-root /path/to/ECC --out ~/.dsh/ecc/hooks-dsh.json

The generator lower-cases tool-name matchers, prefixes `CLAUDE_PLUGIN_ROOT`/`ECC_PLUGIN_ROOT` inline (the bridge does not export the plugin root), preserves timeouts, and skips events DSH cannot bridge: `PreCompact`, `PostToolUseFailure`, `SessionEnd`.

3. **Mount with a bare insert** in `~/.dsh/profiles/<profile>/cordis.patch.yml`:

   - insert:
       - id: ecc-hooks-claude-code
         name: "@deepseek-ai/dsh-hooks-claude-code"
         config:
           configPath: /absolute/path/to/hooks-dsh.json

Loader rules that cost debugging time when learned the hard way: a plain `- id:` top-level entry is silently dropped; `insert` under an existing non-group id is rejected as "not a group"; first-party plugin packages need no profile `package.json` entry.

4. **Validate by composing, then verify live.**

   cd ~/.dsh && dsh --profile web --dump-config > /tmp/dump.yml
   grep ecc-hooks /tmp/dump.yml

Compose exit status stays 0 even when the loader drops or rejects an entry — those problems are only reported on stderr. Confirm the entry id appears in the dump and stderr is empty. A live GateGuard denial on the session's first edit/write/bash is the visible signal the bridge is active.

Updating

`git pull` reflects into linked skills immediately; regenerate the hooks config with the same generator command. If the ECC checkout moves, regenerate (the path is embedded in every hook command) and relink skills.

Limits

| Surface | Status on DSH | |---------|---------------| | Skills | Native discovery; workflows may require host adaptation | | Hooks | 23 command hooks on 5 of 7 bridge events | | Slash commands | Not available (Claude Code mechanism); workflows covered by skills | | Agents | Native dispatch unverified; use canonical prompt guidance only after review |

The validated setup here targets the CLI/web profile. Desktop profiles have a separate installation-owned runtime and skill discovery must be verified there independently. Generate hooks only from a reviewed ECC checkout; the linked checkout supplies their runtime.

Read more
Ships withecc

Your agent can write code, but ECC gives it a coordinated engineering system and toolbox: it plans before it builds, verifies changes with tests, reviews its own work from a fresh context, remembers what matters, and turns repeated wins into reusable skills

Get the whole plugin, auto-invoked

Other skills on ecc.