From cc
Guide for creating and editing Claude Code skills. Use when user wants to create a new skill, update an existing skill, or needs help structuring a SKILL.md file.
npx claudepluginhub lttr/claude-marketplace --plugin ccThis skill uses the workspace's default tool permissions.
Ask the user:
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Ask the user:
If the user's description is already clear, skip straight to drafting.
Infer from context, ask only if ambiguous:
~/.claude/skills/) - across all projects<project>/.claude/skills/) - repo-specific<plugin>/plugins/<name>/skills/) - distributed via marketplaceSimple (just write the SKILL.md):
Full (skill with bundled resources):
Simple path: Create the directory and write SKILL.md directly.
Full path:
Present draft and iterate. Skills improve most after real usage.
skill-name/
├── SKILL.md # Main instructions (required)
├── references/ # Docs loaded into context on demand (optional)
│ ├── api-reference.md
│ └── schema.md
├── scripts/ # Deterministic code (optional)
│ └── helper.py
└── assets/ # Files used in output (optional)
└── template.html
Reference supporting files from SKILL.md so Claude knows they exist:
- For API details, see [references/api-reference.md](references/api-reference.md)
- For schema docs, see [references/schema.md](references/schema.md)
---
name: skill-name
description: Brief description of capability. Use when [specific triggers].
---
# Skill Name
[Core instructions, workflows, and guidance]
| Field | Description |
|---|---|
name | Skill identifier, becomes /slash-command. Lowercase, hyphens, max 64 chars. |
description | What it does + when to trigger. Claude uses this to decide when to load the skill. |
disable-model-invocation | true to prevent Claude auto-loading (manual /invoke only). Use for side-effect workflows like deploy, commit. |
user-invocable | false to hide from / menu. Use for background knowledge Claude should load automatically but users shouldn't invoke. |
allowed-tools | Tools Claude can use without permission prompts when skill is active. E.g. Read, Grep, Glob. |
context | fork to run in an isolated subagent. Skill content becomes the subagent's task. |
agent | Subagent type when context: fork. Options: Explore, Plan, general-purpose, or custom agent name. |
argument-hint | Autocomplete hint, e.g. [issue-number] or [filename]. |
Use in skill content for dynamic values:
$ARGUMENTS - all arguments passed when invoking (/skill-name arg1 arg2)$0, $1, $2 - individual arguments by position${CLAUDE_SESSION_ID} - current session ID!`command` - preprocesses shell command output into the prompt before Claude sees itDescription is the most important field. It's the only thing Claude sees when deciding which skill to load. Include:
Two types of skill content:
disable-model-invocation: true.Body should contain:
Keep SKILL.md lean. Aim for under 200 lines, hard max 500. Move detailed material to supporting files.
Add scripts/ when:
Scripts save tokens and improve reliability vs regenerating code each time.
Path resolution: For plugin skills, reference scripts with ${CLAUDE_SKILL_DIR}/scripts/helper.js (relative paths won't resolve). Use ${CLAUDE_PLUGIN_ROOT} only when referencing files outside the skill's own directory. For global/project skills, relative paths work fine.
Split content out of SKILL.md when:
Prefer multiple focused files over one large reference file. E.g. api-reference.md, schema.md, examples.md rather than a single reference.md with everything.
For large files (>10k words), include grep patterns in SKILL.md so Claude can search efficiently.
After drafting, verify: