Skip to content
dsh.fish
Bundle

dsh-skill-authoring

DSH skill authoring toolkit: scaffold + 9-gate quality audit for skills

Source
boomzikazita
License
MIT
Updated
Updated 2 days ago

Readme

# dsh-skill-authoring

A [DeepSeek Harness](https://github.com/deepseek-ai/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](https://github.com/2025Emma/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

```bash
dsh plugin --profile web add github:boomzikazita/dsh-skill-authoring
```

Or clone/pin a specific release:

```bash
dsh plugin --profile web add github:boomzikazita/dsh-skill-authoring@v0.1.0
```

After 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 via `python3`; a Python 3.8+ interpreter must be on `PATH`.
- **Scaffold target** — `skill_scaffold` accepts an optional `dir` argument to generate the skeleton outside the default skills directory.

## Development

```bash
node --check index.js                     # syntax check the plugin
python3 -m py_compile scripts/skill_gate.py  # syntax check the gate engine
```

## License

MIT © 2026 boomzikazita — see [LICENSE](./LICENSE).

Install

dsh plugin --profile web add github:boomzikazita/dsh-skill-authoring#fffe5e79fc4be3349b104a8597c19689d54081df

Profile: web

Source