# Skill Creator

Load this skill before creating, updating, or deleting a Vibe skill, or whenever you...

- Repository: https://github.com/mistralai/mistral-vibe (5270 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add mistralai/mistral-vibe --skill skill-creator -g -a claude-code -y`
Codex: `npx skills add mistralai/mistral-vibe --skill skill-creator -g -a codex -y`
Cursor: `npx skills add mistralai/mistral-vibe --skill skill-creator -g -a cursor -y`
Gemini CLI: `npx skills add mistralai/mistral-vibe --skill skill-creator -g -a gemini-cli -y`

## Description

Load this skill before creating, updating, or deleting a Vibe skill, or whenever you plan to add or modify SKILL.md files under a skills directory. It explains Vibe's SKILL.md frontmatter, discovery order, support files, and the permission flow.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Skill Creator

Use this when the user asks you to create, update, or delete a Vibe skill.

## Gathering requirements

When creating a new skill, ask the user for the details you are missing. **Ask
one question at a time and wait for the answer before asking the next.** Never
send multiple questions in a single message, it is bewildering. Gather, in
order:

1. Name, a slug (lowercase, hyphens), e.g. `run-migrations` or
   `format-changelog`.
2. Purpose / description, when should this skill load? This is the routing text
   the model sees.
3. Instructions, what should the skill actually tell the model to do? Steps,
   conventions, commands, gotchas.

Skip any question the user has already answered. Once you have all three,
confirm the scope (project vs global) if it is not obvious, then write the
skill.

## What a skill is

A skill is a directory containing a `SKILL.md` file with YAML frontmatter plus
Markdown instructions. The model loads it on demand via the `skill` tool; a
user-invocable skill is also reachable by typing `/skill-name`. The `description`
is always visible for routing, the body is loaded only after the skill is
selected.

## Where skills live (discovery order, first match wins)

1. `skill_paths` entries from `config.toml`
2. `.vibe/skills/`, project scope (requires a trusted folder)
3. `.agents/skills/`, project scope (requires a trusted folder)
4. `~/.vibe/skills/`, user global
5. `~/.agents/skills/`, user global

Precedence: built-in skills are seeded first and their names are **reserved**, a user skill whose name collides with a built-in is silently skipped at load
time and never appears. Among the paths above, the first directory to define a
given name wins; later duplicates are skipped. Built-in skills are read-only.
Registry skills are materialized under `VIBE_HOME` and should not be
hand-edited.

The rest: https://github.com/mistralai/mistral-vibe/blob/HEAD/vibe/plugins/builtins/vibe/skills/skill-creator/SKILL.md
