Create or Update Claude Skills

VerifiedSafe

Creates or updates Claude Code skills (SKILL.md) based on conversation, handling modes, frontmatter, and content rules.

Sby Skills Guide Bot
DevelopmentIntermediate
2008/13/2026
Claude Code
#skill-creation#skill-authoring#claude-code#frontmatter#meta

Recommended for

Our review

Creates or updates a Claude Code skill by writing a SKILL.md file with appropriate frontmatter and content based on the current conversation.

Strengths

  • Clear structure for frontmatter (description, paths, argument-hint, flags)
  • Distinguishes reference skills from procedural task skills
  • Updates only relevant sections without disturbing unrelated rules
  • Enforces a line limit to reduce recurring token costs

Limitations

  • Only targets the .claude/skills directory
  • Relies on the skill name from $ARGUMENTS
  • Does not fully validate frontmatter schema beyond described rules
When to use it

Use when a user asks to create or update a skill based on the ongoing conversation.

When not to use it

Do not use for editing existing skills without conversational context or for skills outside .claude/skills.

Security analysis

Safe
Quality score85/100

The skill instructs creating or updating SKILL.md files using mkdir and file write operations. No destructive, network, exfiltration, or obfuscated actions are present. Filesystem writes are scoped to .claude/skills and are legitimate for the stated purpose.

No concerns found

Examples

Create a new skill
Create a skill for TypeScript naming conventions based on our discussion.
Update an existing skill
Update the skill 'frontend-tests' with a rule about mocking API calls.
Add a task skill
Create a skill for deployment steps that should be run manually.

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