dsh-skill-authoring
A DeepSeek Harness plugin for creating and maintaining high-quality agent skills. It scaffolds new skills from a compliant skeleton, audits existing SKILL.md files against a 9-point quality gate, and validates skill names against the DSH naming convention — so every skill in your library ships with structure, boundaries, examples, and verification paths.
> The 9-gate standard is derived from vibe-coding-cn (adapted for DSH).
Features
| Tool | Description |
|---|---|
skill_scaffold | Generate a compliant SKILL.md skeleton (frontmatter / whenToUse / Boundaries / QuickRef / Examples placeholders) plus references/index.md for a new skill. |
skill_audit | Audit an existing SKILL.md against the 9 quality gates, printing a ✓/✗ table per gate. |
skill_check_name | Validate a skill name against the DSH regex ^[a-z0-9]+(-[a-z0-9]+)*$ (lowercase + hyphens). |
The plugin also installs a skill-write-guard hook: when write/edit targets a SKILL.md under ~/.dsh/skills/, it runs the audit automatically and warns the agent if the file does not pass the 9 gates yet.
The 9 quality gates
1. name — matches ^[a-z0-9]+(?:-[a-z0-9]+)*$, ≤ 64 chars 2. description — "what + when", 20–1024 chars 3. whenToUse — ≥ 3 decidable trigger conditions 4. boundaries — ≥ 3 "Not For / Boundaries" statements 5. quickref — 1–20 directly reusable patterns (Quick Reference) 6. examples — ≥ 3 end-to-end examples with Input / Steps / Acceptance 7. references — references/index.md exists (long content split out) 8. verification — uncertain claims marked with source/evidence level 9. style — operational-manual style (short imperative sentences, not a doc dump)
Installation
dsh plugin --profile web add github:boomzikazita/dsh-skill-authoringOr clone/pin a specific release:
dsh plugin --profile web add github:boomzikazita/dsh-skill-authoring@v0.1.0After installing, restart your dsh web instance (or the profile you installed into) so the tools register.
Configuration
The plugin ships with no required configuration (config: {} in cordis.patch.yml). Optional dsh config keys passed to the bundle are accepted and currently unused.
- Skills directory — defaults to
~/.dsh/skills(derived from the OS home directory at runtime; no hardcoded paths). - Python — the gate engine (
scripts/skill_gate.py) is invoked viapython3; a Python 3.8+ interpreter must be onPATH. - Scaffold target —
skill_scaffoldaccepts an optionaldirargument to generate the skeleton outside the default skills directory.
Development
node --check index.js # syntax check the plugin
python3 -m py_compile scripts/skill_gate.py # syntax check the gate engineLicense
MIT © 2026 boomzikazita — see [LICENSE](./LICENSE).