How to Use Claude Skills with the Claude Code CLI: A Complete Setup Guide
Claude Code CLI automatically discovers and loads skill packages from the ~/.config/claude-code/skills/ directory, activating specialized capabilities only when your natural language queries match a skill's defined purpose.
The Awesome Claude Skills repository from ComposioHQ provides a comprehensive catalog of self-contained skill packages designed to extend the Claude Code CLI. Each skill is a portable folder containing a mandatory SKILL.md file with metadata and step-by-step instructions, plus optional helper scripts and resources that the CLI pulls into context on-demand rather than at startup.
What Are Claude Skills?
A Claude skill is a self-contained package that teaches Claude Code how to perform specific tasks. According to the ComposioHQ/awesome-claude-skills source code, skills reside in individual directories that include structured metadata and executable resources.
Anatomy of a Skill Package
Every skill follows a strict folder structure. The canonical template appears in skill-creator/SKILL.md, which demonstrates the required metadata format at the top of the file, followed by detailed instructions. A production-ready example lives in slack-gif-creator/SKILL.md, showing how to bundle auxiliary scripts like slack-gif-creator/core/gif_builder.py alongside the metadata.
The essential components include:
- SKILL.md: Mandatory metadata file containing
nameanddescriptionfields plus step-by-step instructions - Helper scripts: Optional resources such as
gif_builder.pythat execute specific tasks - Assets: Any templates or configuration files referenced by the instructions
Installing Skills for the Claude Code CLI
The Claude Code CLI implements a dynamic loading system that scans your local skills directory at startup, registering metadata immediately while deferring heavy instruction sets until needed.
The Skills Directory Structure
When the CLI launches, it scans ~/.config/claude-code/skills/ to discover available skills. This location follows the XDG Base Directory specification for configuration files. The CLI loads only the metadata initially, pulling the full instruction set from SKILL.md into the model's context only when your query matches the skill's purpose.
Step-by-Step Installation Process
To install a skill from the Awesome Claude Skills repository:
- Clone the repository or copy a specific skill directory
- Create the skills configuration directory if it doesn't exist
- Copy the skill folder to
~/.config/claude-code/skills/ - Verify the metadata in
SKILL.md
# Clone the entire repository or navigate to a specific skill
git clone https://github.com/ComposioHQ/awesome-claude-skills.git
cd awesome-claude-skills/slack-gif-creator
# Create the skills directory and install the skill
mkdir -p ~/.config/claude-code/skills/
cp -r . ~/.config/claude-code/skills/slack-gif-creator
# Verify the skill metadata is properly configured
head ~/.config/claude-code/skills/slack-gif-creator/SKILL.md
Using Skills in Claude Code
Once installed, skills integrate seamlessly into the Claude Code workflow without requiring explicit activation commands.
Inspecting Skill Metadata
Before running Claude Code, inspect the top of SKILL.md to confirm the name and description fields accurately reflect the skill's capabilities. This metadata determines when the CLI activates the skill.
# Preview the skill's metadata and instructions
head ~/.config/claude-code/skills/slack-gif-creator/SKILL.md
Invoking Skills Through Natural Language
Launch Claude Code normally using the claude command. The CLI automatically registers installed skills and monitors your prompts for matches against skill descriptions.
When you submit a query, Claude Code:
- Analyzes your natural language input
- Matches against installed skill metadata
- Loads the full
SKILL.mdand associated scripts on-demand - Executes the workflow defined in the skill instructions
For example, after installing the slack-gif-creator skill:
User: Create a fun "thumbs-up" GIF for Slack that loops for 3 seconds.
Claude Code will:
1. Detect that the Slack GIF Creator skill matches the request
2. Load the full SKILL.md and helper scripts like gif_builder.py
3. Execute the generation workflow
4. Return the completed GIF file
This on-demand loading keeps the initial context window light while providing access to complex, multi-step workflows when needed.
Key Files in the Repository
Understanding these specific files helps you navigate the Awesome Claude Skills collection:
README.md: Contains the CLI quick-start guide and explains the overall skill concept for Claude Code integrationskill-creator/SKILL.md: Serves as the canonical template showing the metadata structure and instruction format that Claude Code expectsslack-gif-creator/SKILL.md: Demonstrates a production-ready skill with complete metadata and references to auxiliary resourcesslack-gif-creator/core/gif_builder.py: Example auxiliary script showing how custom Python code integrates with skill instructionsskill-creator/scripts/init_skill.py: Utility script for bootstrapping new skills, useful when authoring CLI-compatible packages
Summary
- Claude Code CLI discovers skills automatically from
~/.config/claude-code/skills/at startup - Each skill requires a
SKILL.mdfile containing metadata (name,description) and detailed instructions - Skills load on-demand: metadata registers immediately, but heavy instructions only enter context when queries match
- Installation requires only copying skill folders to the configuration directory—no compilation or runtime dependencies
- The
slack-gif-creatorandskill-creatordirectories provide canonical examples of production-ready skill structure
Frequently Asked Questions
Where does Claude Code CLI look for skills?
Claude Code CLI scans the ~/.config/claude-code/skills/ directory at startup to discover installed skill packages. This follows standard XDG configuration paths, creating a centralized location for managing your skill library.
What file is required for every Claude skill?
Every skill must include a SKILL.md file at its root. This file contains mandatory metadata fields including name and description, plus step-by-step instructions that Claude Code loads when the skill activates.
Are there dependencies needed to run skills in Claude Code?
No. Skills require zero compilation or runtime dependencies because they consist of pure markdown files and optional scripts. The CLI reads SKILL.md directly and executes any referenced helper scripts using your system's existing interpreters.
How do I create my own skill for Claude Code?
Use the skill-creator/scripts/init_skill.py utility to bootstrap new skills, or copy the template from skill-creator/SKILL.md. Ensure your directory includes a properly formatted SKILL.md with accurate metadata, then install it to ~/.config/claude-code/skills/ to make it available to the CLI.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →