Engineering workflow agent preset for dsh: five gated phases (requirements clarification, plan approval, TDD, parallel subagents, verified finishing) with six workflow skills adapted from obra/superpowers.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:82c86b8z86-stack/dsh-engineering-workflow
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
An engineering workflow layer for DeepSeek Harness (dsh). One install adds the 工程工作流 (Engineering Workflow) agent preset — a disciplined-engineer mode with five hard-gated phases — plus six workflow skills that carry the methodology.
The workflow methodology is adapted from obra/superpowers (MIT): brainstorming, writing-plans, TDD, subagent-driven development, and verification-before-completion, reworked for dsh's native tools (plan mode + exit_plan_mode, background subagent/subagent_fork, workflow orchestration, goals, and the preset/skill system).
The five phases
| Phase | Skill | Gate | dsh mechanism |
|---|---|---|---|
| ① Requirements clarification | workflow-requirements |
Intent approved before any code | ask_user_question, one question at a time |
| ② Plan approval | workflow-planning |
Plan approved via exit_plan_mode |
plan mode, todo_write after approval |
| ③ TDD implementation | workflow-tdd |
Failing test before production code | pwsh/bash test runs |
| ④ Parallel subagent execution | workflow-subagents |
Per-task review + ledger | background subagent, send_message, list_agents |
| ⑤ Verified finishing | workflow-verification |
Fresh evidence before claims | full suite + branch-finish menu |
The master skill engineering-workflow routes every non-trivial task to the right phase and enforces the discipline rules (rationalization red flags included).
Install
dsh plugin --profile <name> add github:82c86b8z86-stack/dsh-engineering-workflow
(Or npm install the package into your profile and add dsh-engineering-workflow to dsh.profile.bundles.)
Restart dsh once so the host plugin mounts. On startup it syncs the preset into ~/.dsh/.agent-presets/engineering-workflow; the preset then appears in the new-session preset picker as 工程工作流. The sync is idempotent — upgrading the plugin updates the preset and its skills automatically.
Manual / development fallback without a restart:
node scripts/sync-presets.mjs
dsh re-discovers presets on every roster read, so the synced preset is selectable immediately.
How it works
dsh-engineering-workflow (bundle)
├── cordis.patch.yml inserts one host plugin row
└── lib/index.js host plugin: syncs presets/ → ~/.dsh/.agent-presets,
│ announces the workflow via a system-prompt section
└── presets/engineering-workflow/
├── agent.cordis.yml full toolset composition (adapted from the shipped
│ cordis preset, MIT): shell, filesystem, jobs, goals,
│ plan mode, compaction, delegation (subagent/subagent_fork/
│ workflow/ralph), ask-user, todo, web, skills
├── preset.yml roster metadata (name / description / order)
├── skills/ 6 workflow skills (one SKILL.md per directory)
└── NOTICE attribution
The preset wires its skills through @deepseek-ai/dsh-skill-filesystem with customSkillDirs rooted at the preset's own directory — the same pattern the shipped cordis preset uses, so the skill catalog travels with the preset wherever it is installed.
Verify the install
node scripts/verify-install.mjs
# ✓ engineering-workflow: current (byte-identical)
This compares the bundled preset against ~/.dsh/.agent-presets without writing anything. If it reports stale or missing, run node scripts/sync-presets.mjs (or restart dsh once so the host plugin syncs on mount).
Where the plugin takes effect:
- The preset picker (new-session dialog) lists 工程工作流 — dsh re-discovers presets on every roster read, so a synced preset appears without a restart. Pick it for a new session; existing sessions and the default preset are never switched.
- The system-prompt announcement (the workflow guidance the model reads) appears in sessions created after the host plugin mounted — i.e. after the first dsh restart following the install.
- The six workflow skills load with the preset and are invocable via the
skilltool in those sessions.
Development
pnpm install
pnpm test # preset-sync unit tests
pnpm run validate # structural validation of the bundled preset
pnpm run sync # sync the preset into ~/.dsh/.agent-presets
pnpm run verify # byte-compare the bundled preset against the install
License
MIT. The preset composition is adapted from the DeepSeek Harness built-in cordis preset (MIT); the workflow methodology is adapted from obra/superpowers (MIT); the preset-sync host-plugin pattern follows @linxin666/dsh-liangshen (Apache-2.0). See presets/engineering-workflow/NOTICE.
Links
More in this category
Q00/ouroboros#integrations/dsh-plugin★ 6166
Config-only bundle that mounts Ouroboros through the DSH MCP client, exposing 36 interview, Seed, execution, evaluation, and evolution workflow tools in DSH.
loopx-project/loopx#dsh-loopx-plugin★ 6125
LoopX, a provider-neutral, local-first state kernel and control plane for long-horizon agents: keeps Goal, Todo, gate, evidence, quota, recovery, and handoff state above DeepSeek Harness, while the plugin bootstraps the CLI and skills, admits bounded same-session continuation, and adds a loopback GoalBar for the exact bound loop.
chuspeeism/dashi-taskboard#deepseek-harness★ 3273
Embeds the active installed Codex Taskboard runtime in the DeepSeek Harness sidebar, using its launcher runtime descriptor instead of a fixed port.
NanmiCoder/dsh-agent-teams★ 1883
AgentTeams multi-agent teams.
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 1241
Installs a dedicated AI novel-writing preset and workbench: revisioned local project assets, a compact side drawer, and native approval-gated single-file changes.
tong-io/tongflow#dsh-tongflow★ 1032
TongFlow film-crew studio for image, voice, music and video production: the agent writes per-asset TongFlow workflow files (.tongflow.json) that run through TongFlow plugins, with an embedded workflow canvas, a shot/character/take project layout and a manga-drama template; sessions starting with @tongflow open the Studio view.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.