A Skill solves this. It’s a small text file (.md extension) that you upload to Claude once. Inside it, you write: here’s the context, here’s the steps, here’s what good output looks like. Claude reads it automatically when you trigger a matching task and from that point on, it works like a trained team member, not a blank slate.
“A Skill is what separates a clever AI response from a reliable AI workflow.”
The format is simple: a short header (YAML frontmatter) that names the skill and tells Claude when to activate it, followed by plain-language instructions. No code required. Anyone can write one.
An Example of Drafting Email
Let’s say you’re in account management, support, or business development. You get a client email asking about a feature, say, how your payment API handles refunds.
To reply, you need to:
Check the API documentation. Look at recent emails with that client to understand what they’ve already been told. Make sure your answer is accurate and consistent. Then write a reply that sounds like you, not a copy-paste from a help doc.
Without a skill, you’d do all of this manually, tab-switching, re-reading threads, copy-pasting. With a skill, you type one line and Claude handles the whole thing.
Here’s what the skill file looks like:
---
name: smart-email-reply
description: Draft a reply to a client email by checking docs,
API reference, and past email context. Use when
user says "draft a reply" or "respond to this email".
---
# Smart Email Reply
When asked to draft a reply to a client or Client XYZ email:
## Step 1 — Understand the question
Read the email the user pasted. Identify:
- The specific question or issue raised
- Any product, feature, or endpoint mentioned
- The tone (technical? frustrated? routine?)
## Step 2 — Check the documentation
If a public docs URL is provided (e.g. docs.example.com),
use web_fetch to read the relevant page.
Look for: feature descriptions, limitations, error codes,
API parameters, or anything that directly answers the question.
## Step 3 — Check the API reference
If an API reference URL is provided, fetch and scan it.
Look for the specific endpoint, parameter, or error code
mentioned in the email. Quote the correct behaviour — don't guess.
## Step 4 — Read past email context (last 5 threads)
Search Gmail for emails from the same sender or domain.
Retrieve the last 5 threads. Look for:
- What has already been explained or promised
- Any open issues or pending follow-ups
- The tone of previous exchanges (formal? casual?)
Do NOT repeat what was already told to them.
## Step 5 — Draft the reply
Write a professional, clear email reply that:
- Directly answers their question using doc-verified information
- References any relevant API behaviour with accuracy
- Picks up naturally from the last email (no awkward restarts)
- Flags if there is a known limitation or workaround
- Ends with a clear next step or offer to jump on a call
# Format: Subject line + body. Keep it under 200 words unless
# the technical detail genuinely requires more. Avoid jargon
# unless the sender is clearly a developer.
Here’s what an output might look like when you invoke it:
/smart-email-reply Here’s the email from Rahul at Client XYZ: “Hi, we’re getting error 1105 on the payment endpoint. We checked and our API key is correct. Any idea what’s wrong?” Our docs: https://developers.tap.company/reference Their past emails: check Gmail for rahul@clientxyz.com
To: rahul@clientxyz.comSubject: Re: Error 1105 — API key whitelist fixHi Rahul,Thanks for flagging this. Error 1105 in our system indicates the API key exists but isn’t whitelisted for the domain or IP you’re calling from, a valid key alone won’t bypass this.Based on our previous exchange last month where we set up your test environment, the likely fix is for our backend team to whitelist your production subdomain. Could you confirm the exact domain or IP making the calls? I’ll raise this with the team and get it resolved same day.Happy to jump on a quick call if easier, let me know.Best,
Donny
Notice what happened: Claude checked the docs for error 1105, read Rahul’ past email history to remember the test environment context, and wrote a reply that didn’t repeat old ground. That’s the skill at work.
How to create your first skill (step by step)
1. Create the folder and file
smart-email-reply.md.2. Add the YAML frontmatter header
smart-email-reply.md, add two lines between --- markers: a name (the slash command it becomes) and a description (how Claude decides when to use it automatically).3. Write your instructions in plain language
## headings to break it into phases. Be specific ,”fetch the docs URL” is better than “check the docs”.4. Upload to Claude
5. Test it once and iterate
How to use your skill in Claude
Once uploaded, you have two ways to trigger a skill:
1. Manually invoke it with a slash command
2. Pass dynamic values directly
You can also pass dynamic values directly. For example, /smart-email-reply "rahul@clientxyz.com" refund-query and the skill can map those arguments to steps. The first argument becomes $0, the second $1, and so on inside the SKILL.md.
Skills the community has already built on GitHub
You don’t have to start from zero. There’s a growing ecosystem of shared skills, from Anthropic’s own official library to hundreds of community-made ones. Here are the best places to browse:
To install any community skill, upload the file via Claude.ai skills. That’s it, no package manager, no install scripts for most of them.
Ideas for your skills
Here are a few that work especially well in business and operations contexts:
support-triage Read a new support ticket, check your docs and past tickets for similar issues, and suggest a resolution + priority.
weekly-summary Pull this week’s Slack messages, emails, and calendar events. Summarize what happened, what’s pending, and what needs a decision.
onboarding-checklist Given a new client name, fetch their account details, check which steps are done, and output a next-steps checklist.
proposal-draft Given a client brief, check your product docs and past proposals, then draft a scoped proposal using a standard template.
meeting-brief Given a person or company name, pull their last emails, check your CRM notes, and prepare a one-page briefing before a call.
The pattern is always the same: a repeating task + specific context + consistent output. If you do it more than twice a week, it probably deserves a skill.
Need more assistance? Drop a comment below










