Claude Code Skills

Claude Code skills are SKILL.md packages the CLI loads on demand — user-level from ~/.claude/skills/ and project-level from .claude/skills/. A description in each file tells the agent when to trigger it; the body tells it how to do the job. This page covers how skills fit the Claude Code runtime — where they sit relative to hooks, plugins, and subagents — and ends with a shortlist of installs worth starting from. For the format itself, read what are Claude skills; for the full directory, browse Claude skills.

How skills fit the Claude Code runtime

Claude Code is where skills do the most work, because the CLI gives them real surfaces to act on: your filesystem, your shell, your git history. A skill that writes a changelog can actually run git log; a skill that generates screenshots can actually save PNGs. The same SKILL.md on claude.ai gets the instructions but not the execution layer.

Two filesystem locations matter. ~/.claude/skills/ is user-level: available in every session, in every project — the right place for skills you want everywhere. .claude/skills/ inside a repository is project-level: scoped to that codebase, committed or ignored as your team prefers. Team-specific workflow skills belong at project level; personal productivity skills at user level.

Loading is progressive, like everywhere else: name and description are always in context, the SKILL.md body loads on trigger, and attached scripts and references load on demand. You can carry dozens of installed skills without paying their full token cost per session.

Skills vs hooks vs plugins vs subagents

Claude Code exposes several extension points and they're easy to conflate:

  • Skills — expertise the agent applies when a task matches. You ask naturally; the skill decides whether it's relevant.
  • Slash commands — explicit invocations you type. /review runs when you type it, not when the agent thinks it's useful.
  • Hooks — shell commands that fire on lifecycle events (before a tool call, after a file write). Deterministic automation, not judgment.
  • Subagents — separate agents with their own context window and tool allowlist, for delegated subtasks.
  • Plugins — the packaging layer. A plugin can bundle skills, commands, hooks, and MCP servers into one installable unit via a marketplace.

Rule of thumb: if it's knowledge, it's a skill; if it's a keystroke, it's a command; if it's an event reaction, it's a hook; if it needs its own context, it's a subagent. Plugins are how you ship any of the above.

Installing a Claude Code skill

Three paths, fastest first:

# 1. The skills CLI — copies from GitHub, works across runtimes
npx skills add owner/repo

# 2. Manual — clone into the right skills directory
cp -r path/to/skill-folder ~/.claude/skills/

# 3. Plugin marketplace — for skills bundled as plugins
/plugin marketplace add owner/repo
/plugin install plugin-name@repo

After any install, start a new session — Claude Code discovers skills at session start, so a skill added mid-conversation won't trigger until you restart. The npx skills CLI is the least error-prone path for GitHub-sourced skills; manual copy is better when you're writing your own and iterating on the SKILL.md in place.

Installing to the project level (.claude/skills/) lets you commit skills alongside the repo so a team shares the same agent behavior — useful for changelog formats, review checklists, and release procedures that should be identical for everyone.

Claude Code skills worth installing

From the top of the leaderboard — each entry links to its detail page with verified install paths and example outputs:

  1. skills — anthropics, 183,559 stars. Public repository for Agent Skills
  2. agent-skills — addyosmani, 110,262 stars. Production-grade engineering skills for AI coding agents.
  3. awesome-claude-skills — ComposioHQ, 77,862 stars. A curated list of awesome Claude Skills, resources, and tools for customizing Cl…
  4. last30days-skill — mvanhorn, 65,349 stars. AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymark…
  5. scientific-agent-skills — K-Dense-AI, 54,465 stars. Turn any AI agent into an AI Scientist. The #1 Agent Skills library for science,…
  6. obsidian-skills — kepano, 50,034 stars. Agent skills for Obsidian. Teach your agent to use Obsidian CLI and open formats…
  7. antigravity-awesome-skills — sickn33, 42,570 stars. Installable GitHub library of 1,800+ agentic skills for Claude Code, Cursor, Cod…
  8. skills — vercel-labs, 36,429 stars. The open agent skills tool - npx skills
  9. awesome-agent-skills — VoltAgent, 36,309 stars. A curated collection of 1000+ agent skills from official dev teams and the commu…
  10. agent-skills — vercel-labs, 32,972 stars. Vercel's official collection of agent skills

For the ranked list see best Claude skills.

Writing a skill for Claude Code

Start at project level: create .claude/skills/your-skill/SKILL.md inside the repo where the skill will be used. The frontmatter needs two fields — a hyphenated name matching the folder, and a description written as a trigger condition ("Generate release notes from merged PR titles when the user asks for a changelog"), not a definition. The body is a numbered procedure the agent follows when the description matches.

Iterate on the description before polishing the steps — misfires and non-triggers are almost always description problems. Trigger it with a natural request in a new session; if it fires on the wrong tasks, tighten the description's when-clause; if it never fires, add the words users actually say. Once it works, promote the folder to ~/.claude/skills/ for cross-project use, or keep it committed so the team shares it.

For a deeper walkthrough of the format — frontmatter fields, progressive disclosure, references and scripts — the guide to what are Claude skills covers it end to end.

Frequently asked questions

Where do Claude Code skills live?
In two places: ~/.claude/skills/ for user-level skills available in every project, and .claude/skills/ inside a project for skills scoped to that repo. Each skill is its own folder containing SKILL.md — Claude Code reads both directories at session start.
Do Claude Code skills work in claude.ai or Codex?
The SKILL.md format is shared, so most skills run anywhere the format is read. The exceptions are skills that use Claude Code-only surfaces — hooks, plugin marketplace metadata, or tools that only exist in the CLI. Check each repo's stated runtime.
How do I write a Claude Code skill?
Create a folder under .claude/skills/ (or ~/.claude/skills/), add SKILL.md with YAML frontmatter (name plus a description written as when to trigger), and write the instructions as a numbered procedure. Restart the session and trigger it with a natural request. The guide to what Claude skills are covers the format in depth.
What's the difference between a skill and a slash command?
A slash command runs when you type it; a skill triggers when the agent judges that the task matches its description. Commands are for things you invoke deliberately; skills are for expertise the agent should apply on its own. Plugins can bundle both.
Can a team share Claude Code skills through git?
Yes — that's what project-level .claude/skills/ is for. Commit the skill folder to the repo and every teammate's agent picks it up on clone. It's the cleanest way to standardize house workflows like changelog formats and review checklists.