Skip to content
techpotions

Claude Code skills, ready to pour.

Ten skills we run on real client work: commits, PR descriptions, changelogs, type-error hunts, accessibility and performance audits, SEO metadata, and more. Plus the guide the docs skip: how skills load, how activation actually works, and how to write your own. Unzip, copy, type a slash.

Download free10 skills · plain markdown · MIT · no signup
What's inside

Ten skills that earn their slot.

SkillInvokeWhat it does
commit/commitConventional commit from staged changes, why-not-what messages
pr-description/pr-descriptionReviewer-friendly PR title and description from the branch diff
changelog/changelog 1.4.0Keep-a-Changelog entries from commits since the last tag
explain/explain src/auth.tsThree-depth explanation: postcard, walkthrough, sharp edges
fix-types/fix-typesIterates tsc to zero errors without as any cop-outs
deps-audit/deps-auditVulnerabilities, deprecations, and a safe upgrade sequence
a11y-audit/a11y-audit Modal.tsxWCAG 2.2 AA findings with severity and fixed code
seo-meta/seo-meta page.tsxFull metadata + JSON-LD grounded in the real page
perf-audit/perf-audit dashboardRanked, evidenced performance findings with fixes
readme/readmeA README that gets a stranger running in five minutes

Every skill is a single readable markdown file. Nothing executes on install; you can (and should) read each one before copying it in.

The concept

What Claude Code skills actually are.

A skill is a folder with a SKILL.md file: YAML frontmatter on top, instructions below. Claude Code scans three places for them: .claude/skills/ in your repo (shared with your team), ~/.claude/skills/ in your home directory (yours, everywhere), and any plugins you have enabled. Each skill costs nothing until it loads; only its one-line description rides along in the session.

Here is the anatomy, from this pack’s own commit skill:

---
name: commit
description: Write a clean conventional commit from the currently
  staged changes. Use when the user says "commit".
argument-hint: "[optional extra context]"
---

Stage state right now:

!`git status --short`

Write one commit for the staged changes.

Rules:
1. Format: type(scope): summary, max 72 chars, imperative mood.
2. Read the full staged diff before writing; describe the *why*.
3. If the changes are two unrelated units of work, propose
   splitting instead of writing one vague message.
...

Two details do the heavy lifting. The description is what Claude reads to decide a skill is relevant, so it should say when to use it, not what it is. And lines like !`git status --short` execute before Claude reads the skill, injecting live output, which is how a skill sees your actual repo state instead of guessing.

How to

How to install skills in Claude Code.

Unzip the pack, then copy the skill folders into your repo for team-wide use (they ship with your git history like any other file):

your-repo/
└── .claude/
    └── skills/
        ├── commit/SKILL.md
        ├── pr-description/SKILL.md
        ├── explain/SKILL.md
        └── ... (7 more)

Or copy them to ~/.claude/skills/to have them in every project you open. That’s the entire install: no registry, no build step. Open a new session (or /clear) and type / to see them in the menu.

Activation

How to activate a skill (both ways).

Explicitly: type the slash command. /commit, /explain src/lib/auth.ts, /changelog 2.1.0. Anything after the name reaches the skill as $ARGUMENTS (and positionally as $0, $1).

Automatically: just describe the task. Claude matches your request against every skill’s description and pulls in the right one; “write me a commit message” activates commit without the slash. If you want a skill to fire only when you type it, add disable-model-invocation: true to its frontmatter.

When a skill won’t activate, it is nearly always one of three things: the file isn’t at exactly skills/<name>/SKILL.md, the frontmatter is missing a description, or the session predates the install. Fresh session, check /, done.

Go further

Frontmatter that changes behavior.

KeyEffect
descriptionDrives auto-invocation; write it as “use when…”
argument-hintAutocomplete hint shown in the / menu
allowed-toolsRestricts what the skill may touch (e.g. Read Grep Glob for read-only)
disable-model-invocationSlash-only; Claude never auto-loads it
context: forkRuns the skill in an isolated subagent instead of your session
model / effortPer-skill model and reasoning-effort override

The ten skills use these deliberately: the audits restrict tools, the workflow skills inject live git state, everything keeps its description honest. Steal the patterns for your own.

Download free10 skills · plain markdown · MIT · no signup
FAQ

Common questions.

  • 01What are skills in Claude Code?

    A skill is a markdown file (SKILL.md) containing instructions Claude Code loads on demand: a workflow, a checklist, a house style. Skills live in a skills/ folder, cost nothing until invoked, and turn "explain the same process every session" into a one-word command. They are the successor to custom slash commands, and every slash command you see in the / menu is a skill under the hood.

  • 02How do I properly activate a Claude Code skill?

    Two ways. Type its slash command (/commit, /explain src/foo.ts) to invoke it explicitly, or just describe the task: Claude reads every skill’s description field and auto-loads the one that matches ("write me a commit message" activates the commit skill without the slash). If a skill is not activating, check that the file is at .claude/skills/<name>/SKILL.md exactly, that the frontmatter has a description, and start a fresh session so the skill list reloads.

  • 03How do I add skills to Claude Code?

    Copy each skill folder into .claude/skills/ inside your repo (shared with your team via git) or ~/.claude/skills/ in your home directory (available in all your projects). No registry, no build step, no restart of anything except the session. This pack is exactly that: unzip, copy the folders, open a new session, type /.

  • 04How do I create custom skills for Claude Code?

    Create .claude/skills/<name>/SKILL.md with YAML frontmatter (a description at minimum) and write instructions in the body. Useful extras: argument-hint for autocomplete, allowed-tools to restrict what the skill may touch, disable-model-invocation to make it slash-only, and inline !`command` lines that execute and inject live output (like the current git diff) before Claude reads the skill. The ten skills in this pack double as worked examples of each pattern.

  • 05What is the difference between skills and subagents?

    A skill is instructions loaded into your current session: same context, same conversation. A subagent is a separate Claude instance with its own context window and system prompt that goes away, does the work, and reports back. Use a skill for workflows you want inline; use a subagent for big jobs (a full code review) that would flood your main context. Skills can also declare context: fork to run inside a subagent, which blurs the line usefully.

  • 06Are these skills really free?

    Yes. MIT-licensed, no signup, no email gate. They are plain markdown files you can read in full before using. We build AI products and agent tooling for clients; the packs are our portfolio doing the talking.

Want an agent workflow built for your team?

These packs are the free tier of what we do: we design agent tooling, hooks, and AI products for companies that want Claude working their codebase safely. techpotions is a small studio; you talk to the people who build.