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:
- openspec-explore: A thinking partner for exploring ideas, troubleshooting issues, and clarifying requirements before or after a change.
- openspec-propose: Creates a change and all of its planning artifacts (proposal, spec delta, design, tasks) in one step.
- openspec-apply-change: Implements the task list for a specific change.
- openspec-update-change: Revises the planning artifacts of an existing change (never modifies code).
- openspec-sync-specs: Merges a change’s delta spec into the main spec without archiving it.
- 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 theopenspeclauncher into PATH./openspec uninstall-shim: Removes the launcher written by this plugin./openspec init <absolute path>: Runsopenspec init --tools agentsunder 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/skillsdirectory, 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