skills/chinchillaenterprises/skill-creator/SKILL.md
How to properly create Claude Code skills - teaches global vs project-local, naming conventions, and proper file structure
npx skillsauth add aiskillstore/marketplace skill-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill teaches you how to create new Claude Code skills and where to put them. Use this EVERY TIME you need to create a new skill to avoid common mistakes.
~/.claude/skills/)99% of skills belong here. This is your personal skills library that works across ALL projects.
Examples of global skills:
housekeeping - Repository cleanup (works on any repo)update-readme - Documentation updates (works on any repo)handbook - Amplify Gen 2 knowledge (works across projects)skills-sync - Skill management (global utility)Location: ~/.claude/skills/skill-name/SKILL.md
.claude/skills/)Only use this for skills that are specific to ONE project and make no sense elsewhere.
Example of a valid project-local skill:
documentation-updater - Updates docs using THIS project's specific structureLocation: .claude/skills/skill-name.md
If you're asking "Should this be global or local?" → It's global.
Use lowercase-with-hyphens:
housekeepingupdate-readmecode-reviewHousekeeping (no capital letters)update_readme (use hyphens, not underscores)# For GLOBAL skills (default):
mkdir -p ~/.claude/skills/skill-name
# For PROJECT-LOCAL skills (rare):
mkdir -p .claude/skills/
# For GLOBAL skills:
# Use the Write tool to create:
# /Users/feather/.claude/skills/skill-name/SKILL.md
# For PROJECT-LOCAL skills:
# Use the Write tool to create:
# .claude/skills/skill-name.md
🚨 CRITICAL: Every SKILL.md MUST start with YAML frontmatter!
---
name: skill-name
description: Brief description of what this skill does and when to use it (max 1024 chars)
---
# Skill Name - Brief Description
## Purpose
What does this skill do? When should it be used?
## Activation
How do users invoke this skill?
Example:
"Hey Claude, use your skill-name skill to..."
## Workflow Overview
Step-by-step process of what the skill does.
## Critical Rules
Important things to remember.
## Success Criteria
How to know the skill completed successfully.
## Example
Show a real example of the skill in action.
YAML Frontmatter Requirements:
name: Must match directory name, lowercase-with-hyphens (max 64 chars)description: What the skill does AND when to use it (max 1024 chars)
Without YAML frontmatter, Claude cannot discover or use your skill!
cd ~/.claude/skills
git add skill-name/
git commit -m "feat: Add skill-name skill for [purpose]"
git pull --rebase origin main
git push origin main
DO NOT commit project-local skills to ChillSkills!
# WRONG:
vim .claude/skills/new-skill.md
# RIGHT:
mkdir -p ~/.claude/skills/new-skill
vim ~/.claude/skills/new-skill/SKILL.md
# WRONG:
~/.claude/skills/housekeeping/housekeeping.md
# RIGHT:
~/.claude/skills/housekeeping/SKILL.md
# WRONG:
~/.claude/skills/update_readme/
# RIGHT:
~/.claude/skills/update-readme/
CRITICAL ERROR - Skill won't work without it!
# WRONG - No frontmatter:
# My Skill
## Purpose
...
# RIGHT - Has frontmatter:
---
name: my-skill
description: Does X when you need Y
---
# My Skill
## Purpose
...
After creating a global skill, ALWAYS push to ChillSkills:
cd ~/.claude/skills
git add new-skill/
git commit -m "feat: Add new-skill"
git push origin main
~/.claude/skills/
├── .git/ ← Git repo (ChillSkills)
├── skill-name/
│ └── SKILL.md ← The actual skill
├── another-skill/
│ └── SKILL.md
└── README.md
.claude/skills/
├── project-specific-skill.md ← Note: .md not SKILL.md
└── another-local-skill.md
# Step 1: Create directory
mkdir -p ~/.claude/skills/code-review
# Step 2: Use Write tool to create SKILL.md with YAML frontmatter
# Write to: /Users/feather/.claude/skills/code-review/SKILL.md
---
name: code-review
description: Review code for best practices, security issues, and potential bugs. Use when reviewing code, checking pull requests, or analyzing code quality.
---
# Code Review Skill
## Purpose
Automated code review for quality, security, and best practices.
[Rest of skill content...]
# Step 3: Commit to ChillSkills
cd ~/.claude/skills
git add code-review/
git commit -m "feat: Add code-review skill for automated code reviews"
git pull --rebase origin main
git push origin main
# Done! ✅
After creating the skill:
User: "Use your skill-name skill to..."
# Edit the file
vim ~/.claude/skills/skill-name/SKILL.md
# Commit changes
cd ~/.claude/skills
git add skill-name/SKILL.md
git commit -m "fix: Update skill-name with improved workflow"
git push origin main
# Edit the file
vim .claude/skills/skill-name.md
# Commit to project repo
git add .claude/skills/skill-name.md
git commit -m "chore: Update skill-name skill"
Ask yourself:
Q1: Does this skill work on ANY repository?
Q2: Is this skill specific to THIS project's unique structure/workflow?
Examples:
When creating a skill, you should:
✅ YAML frontmatter with name and description at the very top
✅ Create in ~/.claude/skills/skill-name/SKILL.md (global, 99% of time)
✅ Use lowercase-with-hyphens for naming
✅ File is named SKILL.md (not skill-name.md)
✅ Description includes what the skill does AND when to use it
✅ Commit and push to ChillSkills repo (for global skills)
✅ Skill has clear Purpose, Activation, and Workflow sections
✅ Test the skill works after creation
Default location: ~/.claude/skills/skill-name/SKILL.md
When in doubt: Use global, not project-local!
Always push: Commit global skills to ChillSkills repo!
Global skills are version-controlled at:
https://github.com/ChinchillaEnterprises/ChillSkills
This ensures:
Before you create a skill, verify:
name and description at the top~/.claude/skills/skill-name/ (not .claude/skills/)SKILL.md (not skill-name.md)Every time you create a skill, follow this guide!
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.