CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

75

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

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:

---
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:
    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

TypeLocationSyncRequires
Private.agents/skills/NoJust create the folder
PublicBothYesAdd to public-skills.txt + run pnpm skills:sync

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 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.
Repository
CherryHQ/cherry-studio
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.