@dragon-talon/dsh-openspec
English | 中文
OpenSpec workflow skills and /opsx-* command aliases for DeepSeek Harness (DSH).
A Cordis plugin for DeepSeek Harness that registers the 12 canonical OpenSpec workflow skills under their kebab-case names — so /openspec-new-change works natively through DSH's user-invocation injection and the skill tool — plus the Claude-style /opsx-<id> command aliases as user-only skills that resolve to the canonical body.
- 12 canonical
openspec-* skills (model- and user-invocable)
- 12
/opsx-<id> command aliases (user-only, content-identical to their canonical skill)
- No runtime state: skills are registered through DSH's skill registry, which owns uniqueness and lifecycle
OpenSpec version
This package pins the OpenSpec workflow skills to OpenSpec 1.14.1 (@fission-ai/openspec, source: Fission-AI/OpenSpec).
The skill bodies are generated by scripts/sync-openspec-skills.mjs from the OpenSpec repository's skills/*/SKILL.md files. See Syncing skills.
Skills
| Canonical skill | /opsx-* alias | Description |
|---|
openspec-explore | /opsx-explore | Enter explore mode — a thinking partner for exploring ideas, investigating problems, and clarifying requirements. |
openspec-new-change | /opsx-new | Start a new OpenSpec change using the experimental artifact workflow. |
openspec-continue-change | /opsx-continue | Continue working on an OpenSpec change by creating the next artifact. |
openspec-apply-change | /opsx-apply | Implement tasks from an OpenSpec change. |
openspec-update-change | /opsx-update | Revise an OpenSpec change's existing planning artifacts and keep them coherent. |
openspec-ff-change | /opsx-ff | Fast-forward through OpenSpec artifact creation. |
openspec-propose | /opsx-propose | Propose a new change with all artifacts generated in one step. |
openspec-sync-specs | /opsx-sync | Sync delta specs from a change to main specs. |
openspec-archive-change | /opsx-archive | Archive a completed change. |
openspec-bulk-archive-change | /opsx-bulk-archive | Archive multiple completed changes at once. |
openspec-verify-change | /opsx-verify | Verify implementation matches change artifacts. |
openspec-onboard | /opsx-onboard | Guided onboarding for OpenSpec. |
Installation
The package targets DeepSeek Harness, which supplies its peer dependencies (@deepseek-ai/cordis, @deepseek-ai/dsh-invariants, @deepseek-ai/dsh-skill).
Install the plugin into a DSH profile from npm:
dsh plugin --profile <name> add @dragon-talon/dsh-openspec
Or add it to a plain Node project:
npm install @dragon-talon/dsh-openspec
dsh plugin add forwards to pnpm add, so any pnpm install spec works — a version range (@dragon-talon/dsh-openspec@0.3.0), github:owner/repo, git+https://…, a tarball, or a local path.
Installing from a git URL instead of npm builds on install via the package's prepare script. pnpm blocks a git dependency's build script by default — if it refuses to run the build, add the package to allowBuilds in the profile's pnpm-workspace.yaml and re-run:
allowBuilds:
- "@dragon-talon/dsh-openspec"
Usage
Once registered, both forms are available in DSH:
- Canonical:
/openspec-new-change, /openspec-apply-change, …
- Aliases:
/opsx-new, /opsx-apply, … (resolve to the same body)
Configuration
import * as dshOpenspec from '@dragon-talon/dsh-openspec'
ctx.plugin(dshOpenspec, { aliases: false }) // disable the /opsx-* aliases
| Option | Type | Default | Description |
|---|
aliases | boolean | true | Register the /opsx-* command aliases as user-only skills (modelInvocable: false). When false, only the 12 canonical openspec-* names are registered. |
Development
npm install
npm run build # tsc + tsdown → lib/
npm test # vitest
Syncing skills
src/skills.ts is auto-generated from a local OpenSpec checkout. Regenerate it when the upstream skills change:
npm run sync:skills # regenerate src/skills.ts
npm run sync:skills:check # CI check: exit non-zero when stale
The script reads skills/*/SKILL.md from an OpenSpec checkout — ~/Documents/github/OpenSpec by default, overridable via --openspec <path> or the OPENSPEC_REPO environment variable.
License
MIT © 2026 dragonTalon
OpenSpec skill content is © OpenSpec Contributors, MIT.