create-skill

$npx mdskill add CherryHQ/cherry-studio/create-skill

Scaffold, validate, and sync new skills in the repository.

  • Creates a new skill directory and SKILL.md from user-provided name and description.
  • Reads .agents/skills/README.md to ensure compliance with current workflow.
  • Asks user for skill name, description, public flag, and optional test cases.
  • Generates frontmatter and instructions, then optionally syncs to shared directory.

SKILL.md

.github/skills/create-skillView on GitHub ↗
---
name: create-skill
description: Create a new skill in the current repository. Use when the user wants to create/add a new skill, or mentions creating a skill from scratch. This skill follows the workflow defined in .agents/skills/README.md and helps scaffold, validate, and sync new skills.
---

# Create Skill

Create a new skill in `.agents/skills/<skill-name>/` following the workflow defined in `.agents/skills/README.md`.

## Workflow

### Step 1: Gather Intent

Before creating anything, ask the user:

1. **Skill name**: What should the skill be called? (lowercase, digits, hyphens only, e.g., `gh-create-pr`, `prepare-release`)
2. **Description**: What should this skill do? Include specific trigger contexts (e.g., "Use when user asks to create PRs")
3. **Is this a public skill?**: Should it be synced to `.claude/skills/` for shared use? (default: no, private only)
4. **Test cases** (optional): Does the user want to set up evals for this skill?

If the user provides partial info (e.g., just a name), proceed with reasonable defaults and ask to confirm.

### Step 2: Read Guidelines

Always read `.agents/skills/README.md` before creating a new skill to ensure compliance with the current workflow.

### Step 3: Create Skill Structure

Create the following directory structure:

```
.agents/skills/<skill-name>/
└── SKILL.md
```

**SKILL.md template:**

```markdown
---
name: <skill-name>
description: <description>
---

# <Skill Name>

[Instructions for the skill]
```

**Frontmatter fields:**
- `name`: Skill identifier (lowercase, digits, hyphens)
- `description`: When to trigger (what the skill does + specific contexts)

### Step 4: Sync (if public)

If the user wants a **public skill**, before validation:

1. Add the skill name to `.agents/skills/public-skills.txt` (one per line, no inline comments)
2. Run sync:
   ```bash
   pnpm skills:sync
   ```

This creates a symlink at `.claude/skills/<skill-name>/` pointing to `.agents/skills/<skill-name>/`.

**Note**: `pnpm skills:check` primarily validates public skills (those in `public-skills.txt`) and also verifies related governance files, so you must sync first before validating.

### Step 5: Validate

Run the validation command:

```bash
pnpm skills:check
```

If there are issues, fix them and re-run.

### Step 6: Summary

Present the user with:
- Created files
- Validation result
- Next steps (how to use the skill)

## Naming Rules

- Use lowercase letters, digits, and hyphens only
- Prefer short, action-oriented names (e.g., `gh-create-pr`)

## Public vs Private Skills

| Type | Location | Sync | Requires |
|------|----------|------|----------|
| Private | `.agents/skills/` | No | Just create the folder |
| Public | Both | Yes | Add to `public-skills.txt` + run `pnpm skills:sync` |

## Commands Reference

```bash
# Validate skill structure
pnpm skills:check

# Sync public skills to Claude
pnpm skills:sync
```

## Constraints

- Never create skills outside `.agents/skills/<skill-name>/`
- Always run `pnpm skills:check` before completing
- Public skills require both adding to `public-skills.txt` AND running `pnpm skills:sync`
- If the skill-creator skill is available, you may use it for advanced skill development (evals, iterations), but this skill handles the basic creation workflow.

More from CherryHQ/cherry-studio

SkillDescription
cherry-assistant-guideCherry Studio 产品知识库、源码路径索引、故障排查和页面导航。当用户询问 Cherry Studio 的功能、配置、报错、使用方法时触发。也适用于用户提到 provider、模型、知识库、Agent、MCP、OpenClaw、PDF、快捷短语等关键词的场景。
cherry-pr-testTest Cherry Studio PRs by checking out the branch, launching the Electron app in debug mode, and running interactive UI tests via CDP.
demand-first-reviewUse when reviewing a PR, API, IPC channel, endpoint, parameter, type, config, or architectural extension point that adds or expands shared surface area, especially when consumers are absent, exports are unused or speculative, existing consumers are hack-heavy, forward compatibility is claimed, or multiple similar APIs may express one demand.
faq-collector将成功解决的用户问题收录到 FAQ 知识库。问题解决后自动判断是否收录。也可以在用户说"收录到 FAQ"、"记录这个问题"、"add to FAQ"时手动触发。
find-skillsHelps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
gh-create-issueUse when user wants to create a GitHub issue for the current repository. Must read and follow the repository's issue template format.
gh-create-prCreate or update GitHub pull requests using the repository-required workflow and template compliance. Use when asked to create/open/update a PR so the assistant reads `.github/pull_request_template.md`, fills every template section, preserves markdown structure exactly, and marks missing data as N/A or None instead of skipping sections.
gh-pr-reviewAutomated Cherry Studio review for local branches, PRs, commits, files, architecture docs, and repository skills. Use for code or documentation reviews that need project-specific naming, main/renderer/shared placement and dependency rules, IpcApi and DataApi boundaries, lifecycle/service ownership, renderer hooks, React/UI conventions, and tests. Supports single-agent review with interactive fix selection or multi-agent reviewer-verifier review with risk-based auto-fix. To diagnose gaps in the skill after a review session, run `/gh-pr-review diag`.
issue-reporter帮助用户提交 Bug Report 或 Feature Request。支持 GitHub Issue(有账户)和本地存档(无账户)两种模式。当诊断发现是代码 Bug 时主动提议,或当用户说"帮我提 issue"、"这是个 bug"、"我想要这个功能"、"submit a bug"、"feature request"时触发。
prepare-releasePrepare a new release by collecting commits, generating bilingual release notes, updating version files, and creating a release branch with PR. Use when asked to prepare/create a release, bump version, or run `/prepare-release`.