Skills & slash commands
Teach Deyin reusable workflows: skills are SKILL.md directories invoked with $ or /skill-name; commands are single markdown files.
Skills
A skill is a directory containing a SKILL.md file with front-matter (name, description) plus instructions. Only the name and description are advertised to the model — it reads the full SKILL.md when it decides the skill applies.
Skills load from four sources: built-in defaults shipped with Deyin, your user directory (~/.deyin/skills), the project (.deyin/skills), and installed plugins. A user or project skill with the same name overrides the built-in version.
Invoke manually by typing /release in the composer, or author a new skill scaffold with /create-skill.
.deyin/skills/release/SKILL.md
---
name: release
description: Cut a release following the team checklist
---
1. Run the full test suite.
2. Bump versions in package manifests.
3. Generate changelog entries from git log.Slash commands
Commands are lighter-weight: one markdown file per command in .deyin/commands/ (project) or ~/.deyin/commands/ (user). The filename becomes the command name and $ARGUMENTS receives whatever you type after it. The composer autocompletes / across commands and invocable skills.
Front-matter reference
name and description are the only required fields — and the only text advertised to the model up front.
allowed-tools optionally constrains which tools the skill may use while active. Useful for skills that should never touch the network.
---
name: release
description: Cut a release — bump versions, tag, publish
version: 1.2.0
allowed-tools: Bash(git:*), Read, Write
---Authoring tips
Keep SKILL.md under ~500 lines and push long reference material into sibling files the skill can Read on demand.
Prefer checklists over prose — agents follow explicit steps far more reliably than narrative descriptions.
Test locally with deyin skills run <name> --dry-run to see which files would be read without invoking a model.