In DeepSeek Harness (DSH), developing skills usually requires manually writing SKILL.md files, handling frontmatter, defining workflows, and validating formats. The dsh-skill-creator plugin provides a workflow toolchain inside a DSH session, generating SKILL.md directly from conversations, documents, or process descriptions, and supports validation, packaging, and description optimization.

This plugin is maintained by 988hj7tczd-oss, uses the MIT license, is fully offline-capable, and has zero external dependencies.

Installation and Activation

This is a DSH bundle loaded via a local path.

# 在项目目录同级执行(dsh CLI)
dsh plugin --profile <name> add ./dsh-skill-creator

After installation, the plugin automatically attempts to mount the output directory into the runtime skill registry (rank=300), so generated skills are recognized and loaded by the skill tool without configuration changes.

Core Tools

The plugin provides four model tools covering the full skill lifecycle, from ideation to distribution.

1. skill_new — Capture intent and generate a draft

Pass a workflow description via the goal parameter. The tool automatically extracts steps, tools, input/output formats, and identifies gaps.

  • Parameters:
    • goal (required): Workflow description.
    • fromSession (optional): Attempts to extract context from the current session history.
    • confirm (optional): Defaults to false. When false, performs a dry run, returning the intent extraction result and clarification questions without writing to disk; when true, generates SKILL.md and writes it to disk.
    • outputDir (optional): Output root directory, defaults to $DSH_HOME/skills.

Flow:
1. Run a dry run (confirm=false) to obtain the intent draft and clarification questions.
2. After the user confirms or provides additional information, run generation (confirm=true) and write SKILL.md.

2. skill_validate — Validate a skill directory

Checks whether the skill directory structure complies with DSH specifications.

  • Parameters: path (required).
  • Validation items:
    • SKILL.md exists and is readable.
    • Frontmatter is correctly formatted (YAML mapping).
    • name and description are non-empty.
    • name conforms to kebab-case (^[a-z0-9]+(?:-[a-z0-9]+)*$).
    • Body is non-empty.
  • Return value: Returns a validation summary and detailed checks.

3. skill_package — Package a skill into a .skill file

Packages a validated skill directory into a ZIP file for easier distribution.

  • Parameters:
    • path (required): Skill directory path.
    • outDir (optional): Output directory, defaults to the parent directory of the skill directory.
  • Exclusion rules:
    • __pycache__/
    • node_modules/ (at any depth)
    • *.pyc (at any depth)
    • .DS_Store (at any depth)
    • evals/ in the root directory
  • Behavior: Automatically runs skill_validate before packaging; refuses to package if validation fails.

4. skill_improve_description — Rewrite the description to improve trigger rate

Optimizes the description field to cover more trigger scenarios while preserving the original trigger terms.

  • Parameters:
    • path (required): Skill path.
    • usage (required): Trigger scenario examples.
    • commit (optional): Defaults to false. When false, returns a rewriting proposal and rationale; when true, writes the rewritten description back to SKILL.md.

Technical Notes and Limitations

  • Dependency prerequisites: In development mode, this project depends on an adjacent dsh-src checkout (in the same parent directory) for type checking and building. The npm-published version will replace these dependencies where possible.
  • YAML subset: frontmatter.ts parses only a minimal YAML subset (complex syntax such as anchors and multi-document streams is not supported). Authoritative validation is governed by Python scripts.
  • Mount priority: The runtime provider rank is 300 (custom layer); skills with the same name have lower priority than the project root directory (rank 100/200).
  • Offline availability: All core logic, including ZIP packaging and validation, is implemented with zero external dependencies.
  • Write-to-disk mechanism: .skill generation and directory creation rely on Node.js file system services. Ensure the configured outputDir path has write permissions.

Ecosystem and License