Hook DeepSeek Harness into a Hermes pipeline: dispatch-spec template, model-tier routing, orchestrator-run quality gates, git single-writer rule, as a SKILL.md pack (bundle installable).
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Cavan-Ou/hermes-dsh-collab
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Hook DeepSeek Harness into your Hermes pipeline: automated dispatch, execution, and verification — with quality gates that don't trust self-reports.
简体中文版见 README.zh.md
Your AI assistant can work all day. The question is whether you can walk away.
This skill makes it safe to: Hermes writes the dispatch spec, DSH executes it, Hermes verifies it — and you only step in when a quality gate actually fails. Distilled from a real 14-day pipeline (30 commits, 7/7 stages shipped without rework).
Dependencies: DSH 0.1.x (headless profile) + any orchestrator agent (built and tested with Hermes).
Why this exists
Hermes is your personal assistant. DSH is a capable executor. The gap is the operating contract between them: what a good dispatch spec looks like, which model tier to use for which stage, who is allowed to commit, and how verification actually happens.
Most pipelines skip that contract and pay for it in rework. Recent work (COPE) shows planner/executor separation works — but only when the executor's behavior is controlled. This skill encodes those controls, from a pipeline where they were tested:
- Model-tier routing — Flash (
reasoning: max) for routine stages and for looking at images (the main model is natively multimodal — no vision tier, no vision patch), Pro for multi-file refactors and long synthesis (its channel is currently down upstream; the table says so instead of pretending otherwise). When in doubt: try Flash once — rework means escalate. - Spec 3 iron rules — Plan first · test first (TDD red→green) · scope declaration. A spec missing any of these is not shippable.
- Git single-writer — only the orchestrator commits. The executor never touches git, so history stays linear and auditable.
- Quality gates owned by the orchestrator — full test suite + build + diff-vs-scope audit + real browser walkthrough. Self-reports are not evidence.
- Write-back via cwd —
cd <project> && dsh --profile headless "task"writes straight back. No /tmp mirrors, no patch handoffs. - Pitfalls with receipts — every entry is a real incident: patch config replaces whole sections (not deep-merge),
readchokes on binaries whileread_imageneeds the model to declare image input, stale backend processes invalidate green tests…
Quick start
# via dsh plugin (bundle — recommended)
dsh plugin --profile headless add github:Cavan-Ou/hermes-dsh-collab
# or copy the skill pack directly (lightweight, any profile)
git clone https://github.com/Cavan-Ou/hermes-dsh-collab
cp -r skills/hermes-dsh-collab "$DSH_HOME/skills/" # default: ~/.dsh/skills/
Either way, the next DSH session loads it automatically (bundle registers a skill provider; the copy is picked up by the skills scanner).
Verify with three checks:
- A new session lists
hermes-dsh-collabin its skills - Say "write me a dispatch spec" — the skill triggers on the scenario
- Ask "can the executor git commit?" — it says no, and explains why (single-writer rule)
What's inside
skills/hermes-dsh-collab/
├── SKILL.md # judgment guide: blocking rules → decision tables → What NOT to do
└── references/ # loaded on demand; keeps the guide lean
├── spec-template.md # copyable dispatch-spec template (3 iron rules + no-commit clause)
├── model-routing.md # tier table, patch mechanics, and the 2 patch traps
├── quality-gates.md # 4-step gate commands + rework/escalation chain
└── pitfalls.md # canonical list of 12 real incidents (symptom → cause → fix)
Shaped like DeepSeek's own repo skills (see .agents/skills in deepseek-ai/deepseek-harness): guidance rather than a checklist · points at sources of truth instead of restating them · a dedicated "What NOT to do" section.
Install forms: both supported — bundle (
dsh plugin add, official distribution path, verified on DSH 0.1.0-rc.6) and direct copy to$DSH_HOME/skills/(lightweight, no build).
Observed results
| Result | Evidence |
|---|---|
| Quality gates catch systemic errors automatically | In one long-synthesis run (74 design docs, ~600K tokens), verification surfaced 3 inverted negative-features and a "universe feature" (hairline borders: 78–100% across all five style families) — mistakes that would take hours of manual review and would likely slip through |
| Routine stages on Flash ship without rework | 3/3 stages — TDD red→green, all gates green, real-browser walkthrough passed |
| The skill changes behavior | Live session: after loading, DSH refuses to commit and restates the single-writer rule with reasons |
Where you (the human) step in: only on the escalation chain — a quality gate fails, or the same stage retries twice. Everything else runs unattended.
Documentation
SKILL.md— the judgment guide itself (read this first)REPORT.md— build report: design decisions, self-test methodology (isolatedDSH_HOMEverification), open items
Roadmap: bundle packaging (dsh plugin add support) · per-workspace failure isolation · live routing-table refresh from the observations card · English mirror of references
Portability note: the skill's "sources of truth" point at workspace-specific paths (e.g.
~/.dsh/profiles/headless/*.patch.yml). The rules are portable — update the paths to match your workspace.
Contributing
This skill is meant to grow from real use. Hit a pitfall not listed here? Open an issue with the incident (symptom → root cause → fix). PRs welcome in Chinese or English.
License
MIT
Built by running a real pipeline, not by reading docs.
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-skill-explorer★ 8076
Skill center for the dsh web GUI: browse all loaded skills grouped by source, enable or disable model invocation, create new skills, and delete into a recoverable trash.
GanyuanRan/Aegis★ 1288
Software-engineering method pack for coding agents, with skills for baseline-first planning, systematic debugging, prompt hygiene, verification before completion, and repair/retirement tracking.
superdesigndev/superdesign-skill★ 608
Design skill for UI and marketing graphics on the Superdesign canvas: reads the repo for context, extracts its design system, then generates and iterates branchable design drafts, flow pages, and reusable components through the Superdesign CLI.
linhay/harmony-next.skills★ 355
HarmonyOS NEXT skill bundle for DeepSeek Harness with offline API references and DevEco, HDC, and emulator automation guidance.
sandbaseai/sandbase-skills★ 200
Mounts 88 packaged research, social-intelligence, marketing and business Agent Skills into dsh through the filesystem Skill provider.
VDERR/dsh-echocat-skill-panel★ 196
Reports which skills each turn invoked (loaded by the model, typed as /name, or none) and manages the local skill directory: install from a pasted repository, folder, SKILL.md or zip address, set a Chinese display name in the skill meta.yaml, and remove a skill while keeping a backup.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.