You've been using Claude Code for a few weeks. You keep asking for the same types of things ā weekly reports, lead scoring, content audits. Every time, you re-explain the context, the format, and the rules.
Skills fix that. A Skill is a saved set of instructions that tells Claude Code exactly how to do a specific task. Instead of re-explaining, you just say: /weekly-report and Claude knows what to do.
What Skills Actually Are
A Skill is a markdown file stored in your project's .claude/commands/ directory. It contains:
- Instructions for what Claude should do
- Any rules or constraints
- The expected output format
- Variables that change each time (like date ranges or names)
That's it. No code. Just written instructions in a markdown file.
Think of Skills like SOPs (standard operating procedures) for your AI assistant. You write them once, and Claude follows them every time.
Your First Skill (Level 1: Simple)
Let's start with something straightforward ā a weekly revenue summary.
Create a Skill file at .claude/commands/weekly-revenue.md with these instructions:\n\n---\nTitle: Weekly Revenue Summary\n---\n\nPull data from our Stripe account for the last 7 days.\n\nReport:\n1. Total revenue\n2. Number of new subscriptions\n3. Number of cancellations\n4. Net MRR change\n5. Top 5 transactions by amount\n\nFormat as a clean text summary I can paste into Slack.\nKeep it under 200 words.\nEnd with one insight or flag (anything unusual).
Now whenever you type /weekly-revenue in Claude Code, it runs this workflow automatically.
Building a Skill
Decide what you repeat
What do you ask Claude Code to do at least twice a month? That's your first Skill candidate.
Write the instructions
In plain English, describe exactly what Claude should do. Be specific about inputs, process, and outputs.
Save it as a markdown file
Put it in .claude/commands/[skill-name].md
Test it
Run the Skill command and see if the output matches what you want. Refine the instructions until it does.
Iterate
After using a Skill 3-4 times, you'll notice things to add ā edge cases, formatting tweaks, additional data. Update the file.
Level 2: Skills with Variables
Skills become more powerful when they accept inputs that change each time.
Create a Skill at .claude/commands/client-report.md:\n\n---\nTitle: Client Performance Report\n---\n\nGenerate a client performance report.\n\nAsk me for:\n1. Client name\n2. Date range\n3. Which metrics to include (revenue, usage, support tickets, or all)\n\nThen:\n1. Pull relevant data from our systems\n2. Calculate key metrics for the specified period\n3. Compare to the previous period of the same length\n4. Flag any metrics that changed by more than 20%\n5. Generate a professional HTML report suitable for sending to the client\n6. Save to output/client-reports/[client-name]-[date].html\n\nTone: professional, data-driven. No internal jargon.\nInclude charts for any trends spanning 3+ data points.
Pro Tip
Use the phrase "Ask me for:" in your Skill instructions to create interactive Skills that gather input before executing. Claude will prompt you for each piece of information before running the workflow.
Level 3: Multi-Step Workflows
Advanced Skills chain multiple actions together.
Create a Skill at .claude/commands/content-pipeline.md:\n\n---\nTitle: Weekly Content Pipeline\n---\n\nRun the weekly content pipeline process:\n\n**Step 1: Audit**\n- Check our blog RSS feed for posts published this week\n- Check our YouTube channel for new videos\n- List everything published with title, URL, and date\n\n**Step 2: Performance check**\n- For blog posts older than 7 days, pull page views from analytics\n- For YouTube videos older than 3 days, pull view counts\n- Flag any content that's significantly underperforming our averages\n\n**Step 3: Repurpose queue**\n- For each piece of published content, suggest 3 repurposed formats:\n - LinkedIn post (draft it)\n - Newsletter snippet (draft it)\n - Twitter/X thread outline (draft it)\n- Save all drafts to output/repurpose/[date]/\n\n**Step 4: Summary**\n- Create a summary of what was published, how it performed, and what's ready for repurposing\n- Output as a Slack-ready message\n\nRun all steps in sequence. If any step fails, tell me what happened and continue with the rest.
Real Skill Examples for Operators
Daily Standup Prep
Create a Skill at .claude/commands/standup.md:\n\n---\nTitle: Daily Standup Prep\n---\n\nPrepare my daily standup in 30 seconds:\n\n1. Check my calendar for what I did yesterday (meetings, events)\n2. Check my task manager for tasks I completed yesterday\n3. Check my task manager for what's due today\n4. Check Slack for any unread messages mentioning me\n\nFormat as:\n**Yesterday:** [2-3 bullet points]\n**Today:** [2-3 bullet points]\n**Blockers:** [any or 'None']\n\nKeep total output under 100 words.
Competitor Monitor
Create a Skill at .claude/commands/competitor-check.md:\n\n---\nTitle: Weekly Competitor Check\n---\n\nAsk me which competitor to research, then:\n\n1. Check their website for recent changes (pricing page, features page, blog)\n2. Check their social media for recent posts\n3. Search for recent news or press mentions\n4. Check review sites (G2, Capterra) for recent reviews\n\nSummarize:\n- What's new or changed\n- Any positioning shifts\n- New features or announcements\n- Customer sentiment trends\n- One thing we should pay attention to\n\nSave to output/competitive/[competitor]-[date].md
Meeting Prep
Create a Skill at .claude/commands/meeting-prep.md:\n\n---\nTitle: Meeting Prep\n---\n\nAsk me for:\n1. Who I'm meeting with\n2. What the meeting is about\n3. What I want out of this meeting\n\nThen:\n1. Check my CRM for history with this person/company\n2. Check my notes folder for previous meeting notes\n3. Search for recent news about them or their company\n4. Review our last 3 email exchanges\n\nGenerate a 1-page prep doc:\n- Background on the person/company\n- Key context from our history\n- My objectives for this meeting\n- 3-5 questions I should ask\n- One thing to reference that shows I'm prepared\n\nKeep it scannable. I'll review this 5 minutes before the meeting.
Skill Organization
As you build more Skills, organize them by category:
.claude/commands/
āāā reporting/
ā āāā weekly-revenue.md
ā āāā client-report.md
ā āāā board-deck-data.md
āāā sales/
ā āāā lead-score.md
ā āāā deal-review.md
ā āāā competitor-check.md
āāā content/
ā āāā content-pipeline.md
ā āāā seo-audit.md
ā āāā repurpose.md
āāā ops/
ā āāā standup.md
ā āāā meeting-prep.md
ā āāā weekly-review.md
āāā admin/
āāā expense-report.md
āāā invoice-check.md
Scenario
You have an operations manager who does the same 5 tasks every Monday morning: check revenue, update the team dashboard, review support tickets, prep for the leadership meeting, and draft the weekly email. It takes her 3 hours.
Writing Good Skill Instructions
The quality of a Skill is the quality of its instructions. Here's what makes the difference:
Pull revenue data and make a report.
Rules for good Skill instructions:
- Be specific about data sources ā "Pull from Stripe" not "Pull revenue data"
- Specify the output format ā HTML, markdown, CSV, Slack message
- Include the save location ā Where should the output file go?
- Set quality bars ā "Under 200 words," "include charts if 3+ data points"
- Handle edge cases ā "If no data exists for this period, say so instead of erroring"
- Include the 'ask me' pattern ā For anything that changes each time
Sharing Skills Across Your Team
If you're using Claude Code with your team, Skills are portable. Share the .claude/commands/ folder and everyone gets the same workflows.
I built this Skill and want to share it with my team. Review the instructions and:\n\n1. Add a 'Prerequisites' section listing what API keys/access the user needs\n2. Add a 'First time setup' section for anything they need to configure\n3. Add example output so they know what to expect\n4. Add a 'Troubleshooting' section for the 3 most common issues\n5. Make the instructions clear enough for someone who's never used Claude Code\n\n[paste your Skill file]
Real example
āI have about 20 Skills now. They're basically my operating system. My team doesn't ask me 'how do I generate the client report' anymore ā they just run the Skill and it comes out perfect every time.ā
ā Operations Director
Non-technical operator managing a 15-person services team
Common Mistakes
Don't build Skills for one-time tasks. If you're only doing it once, just prompt Claude Code directly. Skills are for tasks you do at least 2-3 times per month.
Don't make Skills too complex at first. Start with simple, single-purpose Skills. Combine them later. A Skill that tries to do 15 things in sequence is fragile and hard to debug.
Don't forget to update Skills. Your business changes. Your data sources change. Your reports need to evolve. Review your Skills quarterly and update the instructions to match your current needs.