In DeepSeek Harness (DSH) scenarios, a Skill is a core unit for defining agent behavior. When you need to reuse specific skills across multiple projects or customize dedicated tool sets for different projects, the traditional global Skill root directory configuration can be inflexible and may lead to configuration pollution. The following introduces a plugin that can independently manage Skill root directories for each project.
dsh-project-skill-paths is a DeepSeek Harness plugin maintained by NeoRrrr. Its core purpose is to configure dedicated Skill root directories for each project, allowing skill configurations to be managed together with the project codebase and enabling project isolation.
Core Features¶
- Project-relative path configuration: Supports an arbitrary number of project-relative Skill root directories.
- Visual management: Add or remove paths through the DSH Desktop settings card.
- Flexible location: Supports using
.to refer to the current DSH workspace, or directly selecting a project directory. - Hot reloading: Watches changes to
.dsh/skill-paths.yaml; after saving, DSH can be reloaded without restarting. - Secure by default: By default, rejects absolute paths and
..paths that exceed the project boundary to prevent accidental operations. - Configuration isolation: Keeps each project’s configuration file inside the project for easier version control.
Installation and Enablement¶
Before installing, ensure your environment meets the following requirements: DSH version >=0.1.1-rc.2 and Node.js version ^22.19.0 or >=24.0.0.
Run the following command in a terminal to install it:
dsh plugin --profile desktop add github:NeoRrrr/dsh-project-skill-paths#v0.3.0
After installation, restart DSH Desktop.
Typical Usage¶
- Open Settings → Plugins → Plugin configuration → Project Skill Paths.
- Enter
.in the input box to represent the current DSH workspace, or click the file selector to choose a project directory. - Add or remove Skill root directories, then save.
- The plugin generates a
.dsh/skill-paths.yamlfile under the detected Git project root directory.
The generated configuration file format is as follows:
# .dsh/skill-paths.yaml
version: 1
skillPaths:
- .codex/skills
- tools/AI/claude/skills
File names under a Skill root directory must follow the naming convention and support the <skill-name>/SKILL.md or <skill-name>.md format.
Use Cases and Notes¶
This plugin is suitable for scenarios where specific AI toolchains or helper scripts need to be maintained inside the project.
In terms of priority, paths configured by the plugin use Rank 250. This gives them higher priority than the global customSkillDirs, but lower priority than the project built-in <project>/.dsh/skills (100) and <project>/.agents/skills (200).
Regarding security, the plugin does not read credentials, make network requests, or modify Codex configuration. When saving the settings card, the plugin only writes .dsh/skill-paths.yaml for the currently selected project.
Conclusion¶
By moving Skill root directory configuration down to the project level, this plugin simplifies management complexity in multi-project environments. Refer to the links below for source code and directory information.