dsh-claude-compat
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.
DSH plugin: bridge Claude Code's .claude/ directory (skills, commands, rules) into DeepSeek Harness natively
dsh-claude-compat
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,~/.claudeentries rank700, and DSH's own bundled skills sit at rank600(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/rulesare 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-guide→gitnexus-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
- Linux.do — community
- Claude Code — the
.claude/conventions this plugin bridges - DeepSeek Harness — the runtime this plugin extends
License
⭐ Star History
If this project helps you, please give it a ⭐ — it motivates us to keep improving.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found