Introduction

Many developers have accumulated SKILL.md, Cursor rules, and Claude Code commands in tools like Claude Code, Cursor, and Gemini CLI. The problem is usually not a lack of skill files, but rather that DSH does not directly discover these files nor read these adjacent formats.

dsh-skillport is a DSH plugin bundle designed to discover these existing skills and integrate convertible formats into the DSH native skill registry.

What is this

dsh-skillport (repository: Jesse-njx/dsh-skillport) is an MIT-licensed DSH plugin bundle. It targets developers who already have multi-source skill files, primarily solving three things:

  1. Discover SKILL.md locations that DSH does not cover by default.
  2. Convert adjacent formats such as Cursor rules, Claude Code commands, and context files.
  3. Provide debugging and retrieval entry points such as skills doctor and find_skill.

Core Features

Discovering existing SKILL.md

The plugin checks the following Agent Skills locations:

.claude/skills
~/.claude/skills
~/.gemini/antigravity/skills
extraPaths
.dsh/skills
.agents/skills

When the DSH native dsh-skill-filesystem provider already exists, .dsh/skills and .agents/skills are skipped to avoid duplicate scanning.

Converting adjacent formats

The plugin converts convertible adjacent formats into DSH skills:

  • Cursor rules: Convert .cursor/rules/*.mdc into model-invocable skills.
  • Claude Code commands: Convert .claude/commands/*.md into user-invokable skills, invoked via /name.
  • Context files: AGENTS.md and CLAUDE.md are only injected as project context if the DSH native dsh-agent-instructions plugin does not exist. If the native plugin exists, it takes precedence.

Integrating into the DSH native registry

Discovered or converted skills enter the DSH native skill registry ctx.skills. They are then displayed or loaded by DSH’s own catalog injection, progressive-disclosure index, and skill loader tool.

dsh-skillport does not provide a standalone execution path. Skills with scripts still run inside a sandbox via DSH’s normal shell tool, with sandbox policy serving as the single point of execution.

Cleanup on uninstall

After removing the plugin, all skills imported by it will be unloaded:

dsh plugin remove @dsh-skillport/bundle

skills doctor and find_skill

skills doctor is used to check the skill list and trigger quality. It can be run within a session:

/skills doctor
/skills doctor deploy the app to production

It can also be run in the terminal:

skills-doctor --cwd ~/work/projectx list
skills-doctor --cwd ~/work/projectx test-fire "deploy the app to production"

find_skill is used to find skill candidates. Once the maxIndexEntries limit takes effect, dsh-skillport’s model-invocable candidates become user-invocable only and are exposed via find_skill.

Fixed spec revision

The plugin includes a fixed Agent Skills spec revision, located at:

docs/spec-revision.md

It also comes with a conformance fixture suite to expose spec drift in CI.

Installation and Enablement

The runtime requires Node.js >= 20.

First, add the plugin:

dsh plugin --profile web add @dsh-skillport/bundle

Then, in a DSH session, ask the model to load a skill you originally maintained in Claude Code. The catalog will list it, the skill loader tool will load it, and bundled resources will be parsed along with it.

If you need to remove it later:

dsh plugin remove @dsh-skillport/bundle

Typical Usage

Loading existing skills after installation

After installation, first let the model load an existing skill in the session, then confirm if the catalog lists that skill.

Checking skill trigger

Within a session:

/skills doctor
/skills doctor deploy the app to production

In the terminal:

skills-doctor --cwd ~/work/projectx list
skills-doctor --cwd ~/work/projectx test-fire "deploy the app to production"

Finding candidates after catalog limits

If maxIndexEntries is configured, some skill candidates may not directly enter the model-invocable index. In this case, you can use find_skill to find candidates.

Configuration

All configuration items are optional and can be set in a profile patch or cordis.patch.yml:

plugins:
  dsh-skillport:
    sources: [dsh, claude, agents, gemini]
    extraPaths: []
    convert:
      cursorRules: true
      contextFiles: true
      claudeCommands: true
    maxIndexEntries: 100
    providerName: skillport

Meaning of each field:

  • sources: Select the discovery set to scan.
  • extraPaths: Additional SKILL.md directories.
  • convert.cursorRules: Whether to convert .cursor/rules/*.mdc.
  • convert.contextFiles: Whether to inject AGENTS.md / CLAUDE.md. If the DSH native plugin has already handled this, it will be skipped.
  • convert.claudeCommands: Whether to convert .claude/commands/*.md into user-invokable skills.
  • maxIndexEntries: prompt-bloat cap. Once this value is exceeded, dsh-skillport’s model-invocable candidates become user-invocable only and are exposed via find_skill.
  • providerName: The provider name in the skill registry.

Suitable Scenarios and Notes

Suitable for:

  • Developers who maintain SKILL.md or adjacent formats in Claude Code, Cursor, or Gemini CLI.
  • Developers who wish to reduce migration costs by integrating these skills into the DSH native registry.
  • Developers who need to check skill trigger quality or retrieve candidate skills after catalog limits.

Notes:

  • The plugin runs with the current dsh process permissions; check the source code and license before installing.
  • AGENTS.md / CLAUDE.md are not injected repeatedly. If the DSH native dsh-agent-instructions exists, the native plugin takes precedence.
  • .dsh/skills and .agents/skills are not processed repeatedly. If the DSH native dsh-skill-filesystem provider exists, dsh-skillport will skip these paths.
  • Claude Code plugins / hooks / subagents are not ported.
  • MCP config translation is out of scope.
  • Codex / Cursor extension binaries are out of scope.
  • dsh-skillport does not provide a standalone execution path. Skills with scripts still run inside a sandbox via DSH’s normal shell tool.

Links

GitHub: https://github.com/Jesse-njx/dsh-skillport