deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Engineering-discipline skill pack for DeepSeek Harness — five battle-tested procedures delivered as a bundled skill provider: code review, simplification, plan-then-execute, test-first, and conflict resolution.
dsh-review-skills packages the discipline that senior engineers apply by habit into model-visible skills. Once installed, the harness discovers five SKILL.md bundles through the standard ctx.skills registry and can invoke them when a task matches.
The skills
| Skill | When to use |
|---|---|
code-review |
Before merging: review a diff for correctness, test coverage, edge cases, needless complexity, and security. Produces severity-ranked findings. |
simplify |
After a change lands: find and remove accidental complexity — clearer names, fewer layers, less code that does the same thing. |
plan-then-execute |
Before implementing anything non-trivial: write a plan, get it accepted, then execute it. |
test-first |
TDD discipline: red → green → refactor, with honest tests and no fake green. |
resolve-conflict |
When a merge or rebase hits conflicts: understand both sides, resolve deliberately, verify. |
Who is it for?
@deepseek-ai/dsh@0.1.0-rc.6 / @deepseek-ai/cordis@^4.0.1 / @deepseek-ai/dsh-skill@^0.1.0-rc.6.ctx.skills service (the dsh-base bundle ships it).name / description / whenToUse / invocation flags) may evolve. The included unit tests pin the format this pack targets.Install into a dsh profile (local checkout):
cd /path/to/deepseek-harness
pnpm dsh plugin --profile web add /path/to/dsh-review-skills
From GitHub (source install — pnpm runs the prepare script, so allow it once):
pnpm dsh plugin --profile web add github:<you>/dsh-review-skills
From npm (once published):
pnpm dsh plugin --profile web add dsh-review-skills
Uninstall:
pnpm dsh plugin --profile web remove dsh-review-skills
Install the bundle, restart dsh, then simply ask:
Use the code-review skill on the current diff before we merge.
or mention a skill by name in context:
Plan-then-execute: refactor the auth module, then implement.
The harness resolves the skill through ctx.skills and injects its procedure when the model invokes it.
None. The plugin registers its provider with no config; the skills and their routing metadata live in skills/*/SKILL.md frontmatter (name, description, whenToUse, disable-model-invocation, user-invocable).
skills/ directory; it writes nothing and touches no user files.| Symptom | Cause | Fix |
|---|---|---|
| Skills not discoverable | ctx.skills service not mounted in the composition |
Verify the profile loads dsh-base (which ships the skill service) |
missing YAML frontmatter at boot |
A packaged SKILL.md lost its --- block |
Rebuild/reinstall; the tests (pnpm test) catch this before publish |
| Skill does not apply to the conversation | The model decided it was not relevant | Ask explicitly: "use the code-review skill" |
| Stale skill content | Old lib/ after editing skills/ |
Rebuild (pnpm run build) and reinstall; skill bodies load lazily from disk |
pnpm install
pnpm run build # tsc → lib/
pnpm run test # vitest: frontmatter contract + 5 bundled skills present
Structure:
skills/<name>/SKILL.md — one skill per directory; frontmatter drives routing, body carries the procedure.src/skills.ts — frontmatter parser and the bundled provider (lazy body loading).src/index.ts — plugin entry registering the provider on ctx.skills.tests/ — pins the frontmatter contract and asserts all five bundles are parseable.Design notes:
@deepseek-ai/dsh-skill types: SkillCandidate, SkillDefinition, SkillProvider) — this pack mirrors the dsh-skill-badge precedent.MIT. Report security issues privately via the repository's security advisory. The pack ships static Markdown only; it executes no code of its own.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。