Introduction

OpenSpec provides a spec-driven development (SDD) workflow: from explore to propose, then apply and archive. In DeepSeek Harness (DSH), agent skills usually need to be mounted to a specific directory (such as .agents/skills) to be recognized, and bare commands need to be resolvable.

dsh-openspec solves both problems: it integrates OpenSpec into DSH, bundles six agent skills, and resolves the openspec CLI directly from the plugin’s own dependencies. No global installation is required, and there is no need to manually copy .agents/skills into each project.

Installation and Activation

Install the plugin with the official command:

dsh plugin add /path/to/dsh-openspec

After installation, the plugin mounts the six skills as a bundled provider and attempts to install the CLI launcher (shim) when the profile loads. Restart the profile for the changes to take effect.

Built-in Capabilities

The plugin includes six skills that correspond to the OpenSpec workflow:

  1. openspec-explore: A thinking partner for exploring ideas, troubleshooting issues, and clarifying requirements before or after a change.
  2. openspec-propose: Creates a change and all of its planning artifacts (proposal, spec delta, design, tasks) in one step.
  3. openspec-apply-change: Implements the task list for a specific change.
  4. openspec-update-change: Revises the planning artifacts of an existing change (never modifies code).
  5. openspec-sync-specs: Merges a change’s delta spec into the main spec without archiving it.
  6. openspec-archive-change: Completes and archives a change.

Usage Flow

Before use, initialize OpenSpec in the project directory:

openspec init --tools agents

After initialization, the Agent can directly trigger the above skills using natural language:

  • Explore requirements: Enter “Help me think about how to add dark mode” to trigger openspec-explore.
  • Create a change: Enter “Propose an add-dark-mode change” to trigger openspec-propose.
  • Start implementation: Enter “Start implementing this change” to trigger openspec-apply-change.
  • Archive the change: Enter “Archive it” to trigger openspec-archive-change.

Command-line Interface

The plugin provides several helper commands, mainly for diagnostics and CLI wiring:

  • /openspec doctor: Diagnoses the number of skills, the CLI version and entry point, and the binary path actually resolved by the shell.
  • /openspec shim: Installs the openspec launcher into PATH.
  • /openspec uninstall-shim: Removes the launcher written by this plugin.
  • /openspec init <absolute path>: Runs openspec init --tools agents under the specified absolute path.

Design Details and Notes

  • Bundled mounting: The plugin mounts skills using bundledSkillDir, meaning it does not rely on Git detection at the project root. In workspaces outside a Git repository, the skills remain visible.
  • Directory conflicts: The plugin does not occupy the .agents/skills directory, avoiding directory conflicts with tools such as Codex and Zed Agent.
  • Spec ownership: The plugin only distributes capabilities; the openspec/ directory stays local to the project and is not taken over by the plugin.
  • Priority: Inside a Git repository, if the project directory contains .agents/skills, it takes precedence over the bundled copy.

Summary

dsh-openspec is an open-source plugin (MIT license) designed to simplify the integration of OpenSpec in DSH. By using bundled skills and dependency resolution, it eliminates the tedious steps of manually configuring skill directories and globally installing the CLI, making it suitable for developers who want to use a spec-driven development workflow in DSH.

  • GitHub: https://github.com/tamashi486/dsh-openspec
  • Catalog: https://www.skillhub.cn/plugins/tamashi486/dsh-openspec