dsh-skill-workshop
Self-learning agent skills for DeepSeek Harness: evidence-gated auto-publishing, bounded growth and safe recovery.
- Stars
- 0
- Language
- JavaScript
- Created
- Oct 8, 2026
- Updated
- Oct 14, 2026
Introduction
Skill Workshop for DeepSeek Harness
简体中文 · DeepSeek Harness · Security
A native DSH skill authoring and self-learning workshop. Import, edit, and manage SKILL.md-based skills, or let completed tasks produce candidate procedures that can be promoted automatically after evidence checks.
Features
- Browse, create, update, and import native DSH skills from Markdown, directories, and supported skill archives.
- Learn reusable workflows from completed tasks without granting a model direct write access to the published skill root.
- Recover from malformed model JSON with one bounded retry, while keeping evidence checks unchanged.
- Unattended auto-promotion by default: the same skill needs evidence from at least two distinct successful task turns, each linked to genuine user requests and assistant results.
- Guard against uncontrolled growth: bounded candidates and managed skills, stale-candidate expiry, history pruning, and retirement of unused workshop-owned skills.
- Protect manual edits and externally managed skills from automated overwrite; recover interrupted publications using durable records and hash checks.
Install
Requires native DSH skill and session services; runtime and peer requirements are listed in package.json.
dsh plugin --profile desktop add github:Kerberos255/dsh-skill-workshop
Replace the profile name as needed, pin a commit if desired, and restart DSH after installing or upgrading code.
Quick start
- Open Settings → Plugins → Skill Workshop. Choose the project skill root (
.dsh/skills) or user skill root (DSH_HOME/skills). - Run regular DSH tasks. Eligible successful turns may generate skill candidates; short, failed and interrupted tasks are skipped.
- Once a candidate has independent evidence from two distinct turns and passes checks, the workshop publishes it without asking for per-skill manual confirmation.
- Inspect candidate/managed counts and customize limits, or use the editor/import screen for manual skills. Manual import and external edits retain their review flow.
Growth-control defaults
| Bound | Default |
|---|---|
| Pending auto-learned candidates per workspace | 32 |
| Workshop-managed skills per workspace | 64 |
| Candidate expiry without fresh evidence | 45 days |
| Automatic learning cooldown / daily attempts | 60 minutes / 8 |
| Managed skill retirement / grace | 90 days idle / 7 days |
| Processed automatic-learning records | 180 days |
Candidate evidence is a source and repetition safeguard, not proof that a procedure was re-executed or externally validated. Automatic publication will not overwrite a manually edited skill, and reaching the managed cap blocks new automatic skills.
Model JSON recovery
The workshop accepts one complete JSON object, a single JSON code fence, or an unambiguous JSON object wrapped in explanatory text. It never invents missing keys, repairs fabricated citations, or bypasses source validation. If a model finishes successfully but returns malformed JSON, the workshop makes at most one fresh retry with strict JSON instructions and the same verified source material. Cancellation, provider errors, and output-token truncation do not trigger this retry. Auto-publication still requires two distinct successful task turns with verifiable evidence.
Diagnostic events report only the attempt number, safe format category, output length and token limit—never raw output, conversation content, or credentials. This version uses prompt-level constraints because the current DSH provider-neutral request type does not expose a generic JSON Schema response option. Host-free parser tests run in CI; end-to-end model stream retry tests require the DSH peer runtime.
Data and testing
Candidate and publication state live in local DSH SQLite; published skills remain files in the chosen native skill root. Interrupted changes are checked and may require human review only for conflicts or unusual recovery states. No secret/session database belongs in the public repository.
Run npm test for portable tests. Live model learning and DSH registry/UI behavior require separate integration testing. See config.example.json and SECURITY.md.
Related: Dream & Memory · Instruction Files.
MIT licensed. See LICENSE.
Optional plugin diagnostics
The plugin optionally emits privacy-restricted operation and failure metadata to dsh-plugin-diagnostics. Diagnostics contain event type, status, fixed error code and elapsed time; conversation content and credentials are not logged. The diagnostics plugin is optional and does not change the host requirements.