Cherry-studio create-skill
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.
install
source · Clone the upstream repo
git clone https://github.com/CherryHQ/cherry-studio
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/CherryHQ/cherry-studio "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.agents/skills/create-skill" ~/.claude/skills/cherryhq-cherry-studio-create-skill && rm -rf "$T"
manifest:
.agents/skills/create-skill/SKILL.mdsource content
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:
- Skill name: What should the skill be called? (lowercase, digits, hyphens only, e.g.,
,gh-create-pr
)prepare-release - Description: What should this skill do? Include specific trigger contexts (e.g., "Use when user asks to create PRs")
- Is this a public skill?: Should it be synced to
for shared use? (default: no, private only).claude/skills/ - 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:
--- name: <skill-name> description: <description> --- # <Skill Name> [Instructions for the skill]
Frontmatter fields:
: Skill identifier (lowercase, digits, hyphens)name
: When to trigger (what the skill does + specific contexts)description
Step 4: Sync (if public)
If the user wants a public skill, before validation:
- Add the skill name to
(one per line, no inline comments).agents/skills/public-skills.txt - Run sync:
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:
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 | | No | Just create the folder |
| Public | Both | Yes | Add to + run |
Commands Reference
# 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
before completingpnpm skills:check - Public skills require both adding to
AND runningpublic-skills.txtpnpm 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.