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
Use when a user asks to create or update a skill based on the ongoing conversation.
Do not use for editing existing skills without conversational context or for skills outside .claude/skills.
Security analysis
SafeThe 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 skill for TypeScript naming conventions based on our discussion.Update the skill 'frontend-tests' with a rule about mocking API calls.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.
- Exists → update mode: read the current file, then go to Step 3.
- Does not exist → create 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.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.