AItomation Academy
← All posts
Claude Guides

Claude Code Skills: The Non-Dev Guide

Marko Sudar·

Get The Claude Content System

The complete system to turn Claude into your content machine. Free PDF.

Claude Code skills are folders with one required file — SKILL.md — that teach Claude a specific procedure it can run on demand instead of you re-explaining it every session. You reach them by typing a slash and the folder's name, or by just describing what you want and letting Claude decide the skill is relevant.

This guide is specifically about skills inside Claude Code — where the files live on your machine, how the /skills menu and slash-command invocation actually work, six skills a non-developer can be using by the end of this article, and where skills stop and CLAUDE.md or subagents start. If you want the broader concept first, see our hub guide on what Claude skills are. This piece assumes you already know that and want the Claude Code specifics.

Where Claude Code skills actually live

A skill is a directory containing a SKILL.md file, and where that directory sits determines who can use it. There is no database, no settings panel with a hidden skill list — it is files on disk that Claude Code watches and reads.

There are three locations you will use as a non-developer, plus one an organization admin controls:

LocationPathApplies to
Personal~/.claude/skills/<name>/SKILL.mdEvery project you open on this machine
Project.claude/skills/<name>/SKILL.mdThis one project or folder only
Plugin<plugin>/skills/<name>/SKILL.mdWherever that plugin is installed
EnterpriseManaged settings, set by an adminEveryone in the organization

Personal skills in ~/.claude/skills/are the ones a non-technical user builds first — they follow you into every folder you point Claude Code at, so a "prep my meeting notes" skill works the same whether you are in a client folder or a personal one. Project skills, dropped into a shared repo's .claude/skills/, are how a team standardizes a workflow for everyone who opens that project.

Inside the folder, SKILL.md has two parts: a short block of YAML frontmatter between --- markers (a description, and optional settings), followed by plain-language instructions. You do not need to know YAML syntax beyond copying the pattern — it is a label, a colon, and a value, one per line.

A skill folder can hold more than the one file. Add a template.md for Claude to fill in, an examples/ folder showing what good output looks like, or a small script Claude can run — none of that extra material loads into context until the skill actually needs it, which is why a skill can carry a lot of reference detail without costing you anything on turns where you are not using it. And you rarely need to restart anything to see a change take effect: Claude Code watches your skills folders while you work, so editing an existing SKILL.md is picked up in the same session. The one exception is creating a brand-new top-level skills folder that did not exist when the session started — that one needs a fresh Claude Code session before it is noticed.

Slash-command invocation: how /skills and /skill-name work

Every skill becomes a slash command automatically, named after its folder. A skill saved at ~/.claude/skills/meeting-prep/SKILL.md is invoked by typing /meeting-prep in the Claude Code chat box — no separate registration step.

Type /skillson its own and Claude Code opens a menu listing every skill it can currently see — bundled ones that ship with Claude Code, your personal skills, project skills, and anything a plugin added. From that menu you can also toggle a skill's visibility (hide it from the menu, or hide its description from Claude entirely) without touching the file itself.

You have two ways to trigger a skill once it exists, and the difference matters:

  • You type the slash command.This is explicit and immediate — nothing is left to Claude's judgment about whether the moment is right.
  • Claude invokes it for you.If your message matches the skill's description closely enough, Claude loads it on its own. Ask "what did I change this week?" and a skill described as summarizing recent work can fire without you typing its name.

For anything with a side effect — sending an email, committing files, posting somewhere — set disable-model-invocation: true in the frontmatter so only you can trigger it by typing the command. For background knowledge you never want to invoke directly but want Claude to know, the opposite field, user-invocable: false, hides it from the menu while keeping it available for Claude to pull in automatically.

Want the skill written for you instead of from scratch?

The Claude Vault has ready-to-drop SKILL.md files and prompt recipes for exactly the workflows below — 550+ recipes total, sorted by your job, no YAML fiddling required.

See the Vault

Six skills a non-developer can be using this week

None of these require writing code. Each is a folder, one SKILL.md file, and a description written in plain English. Below is the actual file for the first one so you can see the whole pattern, then five more you can build the same way.

1. Weekly client update. Point it at a folder of notes, emails, or a project log and it drafts the update you send every Friday.

---
name: weekly-update
description: Draft a weekly client update from this week's notes. Use
  when asked for a status update, a Friday recap, or a progress summary.
---

Read every file in the notes/ folder dated this week. Write a client-
facing update with three sections: what shipped, what is in progress,
and what we need from them. Keep it under 200 words. Plain language,
no jargon, no filler like "circling back" or "touching base."

Save that as ~/.claude/skills/weekly-update/SKILL.md, restart or reopen Claude Code, and either type /weekly-updateor ask "can you draft this week's client update" and Claude picks it up on its own.

2. Meeting prep briefing.Feed it a client name and a Project's worth of history and it hands you a one-page briefing: context, likely questions, and talking points, before you walk into the call.

3. Discovery-call-to-proposal. Paste your raw call notes as an argument and it returns a structured proposal draft with your standard sections already in place — you fill in pricing and polish the framing.

4. Content repurposing. Point it at one blog post or transcript and it produces a LinkedIn post, a short-form thread, and a newsletter blurb, each shaped for its own channel rather than copy-pasted three times.

5. Inbox-to-action-list. Paste in a batch of forwarded emails and get back a table: who needs a reply, by when, and a one-line draft response for each.

6. Expense and receipt summary. Drop a folder of receipts or a CSV export in and ask for a categorized summary with anything that looks like a duplicate or an outlier flagged for a second look.

The pattern across all six is the same: a short description that names the trigger words you would actually say, and instructions that state the output format precisely enough that Claude does not have to guess. If you want a deeper, step-by-step build process — including supporting files, scripts, and testing a skill before you trust it — our guide to building a Claude skill walks through that in full.

Skills vs CLAUDE.md vs subagents: three different jobs

These three get confused because all three shape how Claude behaves in Claude Code, but they solve different problems and the mix-up costs you tokens and reliability if you use the wrong one.

 CLAUDE.mdSkillsSubagents
When it loadsEvery turn, whole sessionOnly when invoked or matchedOnly when delegated to
Runs whereMain conversationMain conversation (usually)Its own separate context
Best forRules that apply almost alwaysA specific procedure used sometimesHeavy work you want kept out of your main thread
Token costPaid constantlyNear zero until usedFixed overhead per spawn, but isolated

CLAUDE.md is always-on context: Claude reads it at the start of every session and it stays in working memory the whole time, which is exactly right for rules that apply to nearly everything you do — "never touch the archive folder," "always write dates as YYYY-MM-DD." The tradeoff is that every line in CLAUDE.md is a token cost on every single turn, whether or not that rule was relevant to what you just asked.

A skill only costs you a hundred or so tokens for its name and description sitting in the background — the full instructions load only when the skill actually fires. That makes skills the right home for a specific, multi-step procedure you use sometimes, not constantly: prepping for a call, drafting a proposal, summarizing a week. If a section of your CLAUDE.md has turned into a numbered procedure rather than a standing rule, it has outgrown CLAUDE.md and belongs in a skill instead.

Subagents are a different axis entirely: a subagent runs in its own isolated context window, does the work, and reports back a summary rather than flooding your main conversation with every intermediate step. Skills and subagents combine when a skill sets context: forkin its frontmatter — the skill becomes the task brief handed to a subagent, so a research or audit skill can chew through a large amount of material without bloating the conversation you are actually having. For non-developer workflows, this mostly matters when a skill involves reading many files: a "summarize this quarter's invoices" skill is a good candidate to fork; a two-paragraph email draft is not.

If you split your time between Claude Code and Cowork, note that skills stored only in ~/.claude/skills/ on your machine do not automatically follow you there — Cowork sessions load the skills enabled on your claude.ai account instead. Our Cowork vs Claude Code comparison covers which tool fits which kind of work, including how skills travel — or don't — between the two.

Want a weekly walkthrough instead of figuring this out solo?

Inside AItomation Academy you get the full Vault, step-by-step courses, and a weekly live call — with 1,200+ professionals building skills and workflows the same week you do.

Join the community

Getting your first skill running today

Start with the weekly update or meeting prep skill above — both take under ten minutes and pay back on the first use. Create the folder, paste the SKILL.md pattern, swap in your own description and instructions, and test it twice: once by typing the slash command, once by just asking naturally to confirm the description triggers it.

Once you have one skill working, resist the urge to build ten at once. Add one per week, notice which ones you actually reach for, and let the unused ones tell you your description was too vague or the task did not need a skill in the first place. For the bigger picture on what skills are and how they compare across every Claude surface — not just Claude Code — go back to our what are Claude skills hub guide. And if you want to see how skills fit into the rest of how a business runs on Claude day to day, our Claude for business guide is the wider view.

Frequently asked questions

Do I need to know how to code to build a Claude Code skill?

No. A SKILL.md file is plain-language instructions with a small YAML header on top — labels and values, no logic or syntax to debug. The six skills above use nothing beyond that. Skills that run scripts are optional, not required.

What is the difference between /skills and typing a skill name directly?

/skills opens a menu listing everything available so you can browse, and lets you toggle visibility. Typing /weekly-update (or whatever your skill is named) runs that specific skill immediately without opening the menu first.

Can Claude use a skill without me typing the slash command?

Yes, by default. If your message matches the skill's description closely, Claude loads it automatically. Set disable-model-invocation: true in the frontmatter if you only ever want to trigger it yourself.

Do personal skills work in every project, or just one?

Skills saved in ~/.claude/skills/follow you into every project you open on that machine. Skills saved inside a specific project's .claude/skills/ folder only apply there — useful for a workflow that is specific to one client or one repo.

What happens if two skills have the same name?

Claude Code applies a priority order: an enterprise-managed skill wins over a personal one, and a personal skill wins over a project skill with the same name. Plugin skills are namespaced by the plugin's name, so they never collide with anything else — a plugin called reports with a weekly skill is invoked as /reports:weekly, not /weekly.

Join the free community

1200+ professionals learning Claude together. Free to join.

Open community

Grab the playbook

The Claude Content System — free PDF to your inbox.

Claudeclaude code skillsclaude code /skillsclaude codeskillsSKILL.mdslash commandssubagentsCLAUDE.mdautomation