dsh-claude-compat

skill
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Pass
  • Code scan — Scanned 4 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

DSH plugin: bridge Claude Code's .claude/ directory (skills, commands, rules) into DeepSeek Harness natively

README.md

DSH Plugin

dsh-claude-compat

简体中文

Version Node License

DeepSeek Harness plugin that bridges Claude Code's .claude/ directory into DSH natively — reuse your skills, slash commands, and rules with zero migration.

What it does

.claude/ path Mechanism Behavior
skills/**/SKILL.md DSH skill provider Name + description in the model-visible catalog; body loads on demand via the skill tool. New skills appear on the next catalog reconcile — no restart.
commands/*.md DSH skill provider Same, plus user-invocable: /command-name works in the slash menu.
rules/*.md Message-stream injection Rules are concatenated, wrapped in a <system-reminder> envelope, and prepended as a user-role message at the front of the message array once per session — the same channel Claude Code uses (prependUserContext), which models follow reliably.

The same three directories are also read from the user-level ~/.claude/ (skills, commands, rules). Same-name skills/commands/rules are deduped with a fixed priority:

project .claude > DSH native > ~/.claude

  • Project entries carry rank 50, ~/.claude entries rank 700, and DSH's own bundled skills sit at rank 600 (BUNDLED_SKILL_RANK) — so a project skill always overrides the DSH-bundled and user copies, and a user skill never overrides a DSH-native one.
  • Rule files with the same basename in ~/.claude/rules are skipped when the project already provides one.

CLAUDE.md / AGENTS.md are not touched — DSH's built-in dsh-agent-instructions already handles those.

Requirements

  • DSH with a profile (e.g. web)
  • A project using Claude Code conventions: .claude/skills/, .claude/commands/, .claude/rules/ (all optional; ~/.claude/ equivalents are also picked up)

Install

One command — the package declares dsh.bundle, so DSH activates it automatically (no manual cordis.patch.yml editing):

dsh plugin --profile web add dsh-claude-compat

Or from GitHub:

dsh plugin --profile web add github:biedongbin/dsh-claude-compat

Restart DSH (dsh web). Done — skills show up in /, rules are injected into every new session.

Configuration

Option Default Description
enableSkills true Register the .claude/skills + .claude/commands provider (project and ~/.claude)
enableRules true Inject project + ~/.claude rules/*.md into the message stream
rulesMaxBytes 65536 Hard cap on total injected project rules text
userRulesMaxBytes 65536 Hard cap on total injected ~/.claude/rules text
projectRootMarkers [".git"] Ancestor markers for project-root discovery
skillRank 50 Provider rank for project .claude skills (wins every DSH-native collision)
skillSource project-claude Source tag for project catalog entries
userSkillRank 700 Provider rank for ~/.claude skills (loses to DSH-native 600)
userSkillSource user-claude Source tag for ~/.claude catalog entries
userClaudeDir ~/.claude User-level .claude directory (~ expands to the home dir)

Notes

  • Skill naming: DSH requires kebab-case skill names. Nested skill directories are flattened (gitnexus/gitnexus-guidegitnexus-gitnexus-guide); invalid frontmatter names fall back to the directory name.
  • Rules granularity: rules are read per new session (cached per session cwd). Editing a rule mid-session takes effect in the next session.
  • Rules content: rules are injected verbatim as instructions to the model. Only commit rules you want the model to follow — same trust level as CLAUDE.md.

Acknowledgments

License

MIT

⭐ Star History

If this project helps you, please give it a ⭐ — it motivates us to keep improving.

GitHub Stars GitHub Forks GitHub Watchers

Reviews (0)

No results found