Create or Update Claude Code Skills

VerifiedSafe

Guides creating and updating SKILL.md files for Claude Code, covering frontmatter setup and content rules.

Sby Skills Guide Bot
DevelopmentIntermediate
208/9/2026
Claude Code
#skill-authoring#claude-code#workflow#meta-skill

Recommended for

Our review

This skill creates or updates SKILL.md files based on the current conversation, detecting create vs. update mode, generating frontmatter, and writing skill content.

Strengths

  • Automates the scaffolding of new skills with correct frontmatter.
  • Preserves existing rules on updates instead of rewriting the whole file.
  • Keeps token budgets in mind (under 500 lines, recurring cost).
  • Adapts content type (reference vs task) with strict examples.

Limitations

  • Only targets Claude Code's `.claude/skills` layout.
  • Relies on the conversation providing enough detail to generate accurate content.
  • Does not validate the SKILL.md file beyond writing it.
When to use it

When you want to create a new reusable skill or incrementally update an existing one from the current context.

When not to use it

When you need to manually craft a complex skill with extensive prose, or when the skill should target platforms beyond Claude Code.

Security analysis

Safe
Quality score90/100

The skill contains instructions for creating and updating local markdown files using standard shell commands (mkdir, file writes). There is no exfiltration, destruction, disabling of safety, or remote execution. The file operations are confined to the .claude/skills directory.

No concerns found

Examples

Create a new skill
create-skill conventional-commits reference guide
Update an existing skill
update-skill api-testing add rule for mocking timeouts
Create skill with path scope
create-skill design-system token audit paths @soroush.tech/design-system/**

Create or update a skill based on the current conversation.

The first word of $ARGUMENTS is the skill name (kebab-case). The rest is an optional note about what to add or change.


Step 1 — Detect mode

Check whether .claude/skills/$0/SKILL.md already exists.

  • Existsupdate mode: read the current file, then go to Step 3.
  • Does not existcreate mode: go to Step 2.

Step 2 — Determine frontmatter (create only)

Decide the correct frontmatter based on what the skill does:

description — one sentence: what the skill does + when Claude should auto-load it. Put the key trigger phrase first (budget is 1,536 chars).

paths — set only if the skill is scoped to specific files. Use glob patterns:

  • Design system / theme work → @soroush.tech/design-system/**
  • All TypeScript → **/*.ts,**/*.tsx
  • Omit for project-wide knowledge

argument-hint — short label shown in autocomplete, e.g. [filename] or [component-name].

disable-model-invocation: true — add only if this is a manual workflow with side effects (deploy, commit, send). Reference knowledge should NOT have this.

user-invocable: false — add only if users should never call it directly (pure background context).


Step 3 — Write content

Rules for skill content:

  • Reference skills (conventions, patterns, style guides): state the rule + one ✗/✓ code pair. No prose explaining why — the example shows it.
  • Task skills (step-by-step actions): numbered steps, imperative verbs, no explanation.
  • Keep SKILL.md under 500 lines.
  • Every line is a recurring token cost — cut anything that doesn't change Claude's behavior.
  • End with: If $ARGUMENTS names a file, read it and apply the rules. Otherwise apply to the code being discussed. (for reference skills only).

Update mode: add the new rule or change to the appropriate section. Do not touch unrelated rules. Remove any rule made obsolete by the change.


Step 4 — Write the file

For create: run mkdir -p .claude/skills/$0 then write .claude/skills/$0/SKILL.md.

For update: write the updated .claude/skills/$0/SKILL.md.

Confirm what was created or changed. If a new paths scope was set, mention which files will trigger it.

Related skills