Write skill
Skill viknesh20-20/claude-code-tool-kit/.claude/skills/write-skill
Meta-skill that creates new Claude Code skills. Describe what you want the skill to do and this generates a complete SKILL.md with proper frontmatter, shell injection, structured instructions, and output format.From its SKILL.md
npx -y skills add viknesh20-20/claude-code-tool-kit --skill write-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.9 KB, 662 tokens by cl100k_base, as published. Nobody here has run it
Skill Creator
Existing Skills (for pattern reference)
!ls .claude/skills/ 2>/dev/null
Process
Step 1: Gather Requirements
From the user's description, determine:
- Name: lowercase-with-hyphens, becomes the
/slash-command - Purpose: What does this skill do?
- Trigger: When should someone use it?
- Input: What arguments does it need?
- Output: What should it produce?
- Tools needed: Which Claude Code tools does it require?
Step 2: Generate SKILL.md
Create the file following this template:
---
name: skill-name
description: "One sentence: what it does + when to use it. Be specific enough for auto-invocation."
argument-hint: "[argument description]"
allowed-tools: Read, Grep, Glob
---
# Skill Title
## Context Detection
!`relevant shell command for auto-detecting project context`
---
## Instructions
### Step 1: [First action]
Detailed instructions for what Claude should do.
### Step 2: [Second action]
...
### Step N: [Final action]
...
## Output Format
Describe the expected structure of the output.
## Rules
- Rule 1
- Rule 2
Step 3: Validate the Skill
Check the generated SKILL.md against these requirements:
- Frontmatter has
nameanddescription(required) - Description is under 150 characters and specific
-
allowed-toolslists only what's needed (principle of least privilege) - Shell injection uses
!command`` syntax correctly - Instructions are numbered steps, not vague paragraphs
- Output format is defined
- Rules section exists with boundaries
Step 4: Save and Test
- Create directory:
.claude/skills/<skill-name>/ - Save
SKILL.mdto that directory - Instruct user to test: open Claude Code, type
/<skill-name>
Frontmatter Reference
| Field | Required | Description |
|---|---|---|
name | Yes | Slash command name (lowercase, hyphens) |
description | Yes | When to use (specific, <150 chars) |
argument-hint | No | Autocomplete hint, e.g. [filename] |
allowed-tools | No | Tools allowed without asking |
disable-model-invocation | No | true = manual only |
user-invocable | No | false = hidden from menu |
model | No | Override model |
effort | No | low, medium, high, max |
context | No | fork for subagent isolation |
Rules
- Follow existing skill patterns in this project
- Keep SKILL.md under 200 lines
- Use shell injection for context detection, not hardcoded assumptions
- Description must be specific enough for Claude to auto-invoke correctly
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.