{
"$type": "site.standard.document",
"canonicalUrl": "https://build.ms/2025/10/17/your-first-claude-skill/",
"description": "Learn a new and powerful way to build software on-demand, with little more than a simple description. No code required.",
"path": "/2025/10/17/your-first-claude-skill/",
"publishedAt": "2025-10-17T12:00:00.000Z",
"site": "at://did:plc:b6eke66r3vbmnegg73qgprl6/site.standard.publication/3mmypfmg4sx2d",
"tags": [
"AI",
"Tutorial"
],
"textContent": "> Note: Since I wrote this blog post ChatGPT has also adopted the Skills paradigm. This is further proof that Skills are becoming a standard way to create powerful and accessible automations, as you'll see below.\n\nAnthropic released a new feature yesterday called Skills. Skills are a simple way to build powerful automations without writing a single line of code. What makes Skills so interesting is that you don’t create software with programming and syntax, instead you describe your intent and a repeatable process you want to automate and Claude figures out how to make it happen.\n\nSkills may sound similar to Claude’s Artifacts (and a few of Anthropic’s other offerings…), but they serve a different purpose. Artifacts help you build a tangible piece of software, but Skills help you do something. Skills turn a repetitive task into an on-demand utility that you can run anytime.\n\n<!--preview-snippet-->\n\nThis provides two meaningful advantages:\n\n- Accessibility: Skills aren’t just for programmers, anyone can create or use a Skill. While Skills can be run in Claude Code, they stand out from more technical alternatives by working equally well in Claude on your phone or your computer.\n- Flexibility: Skills can include scripts, images, datasets, or any other supporting files you may need to solve a difficult problem.\n\nThis opens up a world of possibilities:\n\n- A project manager can build a Skill that aggregates updates from every project tracker across the company — automatically generating a personalized status report for their next meeting.\n- A marketer can create a Skill that applies brand guidelines to any public marketing document by injecting approved logos, fonts, and official assets.\n- A designer can build a Skill to lint a design, checking that it meets both the current WCAG accessibility standards and the upcoming APCA contrast standards.\n- A data analyst can build a Skill that cleans, normalizes, and reformats messy spreadsheets using real Python and Pandas code — transforming raw CSVs into polished summaries with a single prompt.\n- A software developer can build anything from an API schema validator that checks JSON payloads against stored schemas, to a benchmark profiler that visualizes performance regressions over time.\n- And a nerd like me can automate practically anything I want — without writing any code.\n\nYour First Skill\n\nThe first Skill I created was a YouTube Audio Downloader. This came to mind immediately because it’s a task I automate often. I like to listen to talks from YouTube in my favorite podcast player, instead of having YouTube interrupt me with ads every ten minutes.\n\nIt was also a simple proof of concept that I could try before building something more powerful. It’s a problem I understand well, and this approach has the added benefit of working on my iPhone. The lack of a terminal on iOS means I can’t run tools like yt-dlp, but now I can use Claude to do it from anywhere.\n\n!A skill that converted a YouTube URL to an audio file\n\nA Naive Implementation\n\nMy first attempt was as straightforward as possible: I described exactly what I wanted in plain English.\n\nMy first try worked surprisingly well. I didn’t go in with much strategy beyond trying things and seeing what happened. That’s something I love about AI — there’s no penalty for an experiment gone wrong, so you can try infinite approaches and throw away whatever doesn’t work.\n\nCreating a Skill only takes a few steps:\n\n- Provide a name and description.\n- Add instructions that describe the problem you're solving.\n- Share examples. I didn’t want to write much code, so I asked Claude to generate a short sample yt-dlp script someone might run.\n\nThis Skill worked well, but why stop at good when I knew it could be better?\n\nA Better Approach\n\nIn Anthropic’s help docs for Skills, they mention the ability to add resources. A resource can be an image, a file, or a script.\n\nYour Skill should live in a file called SKILL.md. If you create a resources directory, you can add any assets that your Skill might need to reference. And if you create a scripts folder, Claude gains the ability to invoke a Python or JavaScript interpreter with any package from NPM or PyPI. This is incredibly powerful! This means your skill can run and execute real code, transforming a simple text description into a full app.\n\nRather than writing this code myself, I pointed Claude at the documentation for Skills and at my SKILL.md, asking it to rewrite my Skill into a Skill with a script.\n\n> Based on this blog post (https://docs.claude.com/en/docs/agents-and-tools/agent-skills) and this skill Users/mergesort/.claude/skills/youtube-audio-downloader-skill SKILL.md, can you transform our plain-text instructions into a utility script?\n\n!A skill that converted a YouTube URL to an audio file\n\nClaude followed my request perfectly. It created a new download_audio.py in my scripts folder, and simplified my SKILL.md. Instead of embedding code directly in my SKILL.md, Claude referenced the new script and even added better usage examples than the ones I had provided.\n\nGoing above and beyond what it was asked to do, Claude even listed the benefits of this approach for me:\n\n> Following the documentation's approach, this transformation provides:\n\n> - Token efficiency: Only the script's output consumes tokens, not the code itself\n> - Consistency: The same deterministic script runs every time\n> - Maintainability: Script logic is in one place, not scattered across examples\n> - Reusability: The script can be tested and improved independently\n\nAll of these benefits are useful, but what I appreciated most was that I didn’t have to write any code to get here. Pointing an AI at well-written documentation and having it update my existing work is a powerful technique that I turn to often, and expect will become even more common as these systems improve.\n\nPublishing Your Skill\n\nIf you want to use a Skill on your computer, you can drop it into the .claude folder in your home directory or into your project’s .claude directory. But the real magic is making a Skill available in the Claude app on your phone or computer.\n\nTo make a Skill available everywhere, follow these steps:\n\n- Create a zip file that contains your SKILL.md, your resources folder, and your scripts folder.\n- Open Claude and go to Settings -> Capabilities.\n- Upload the zip file where it says Upload Skill.\n\nOnce you do that, your custom piece of software will be available anywhere and everywhere.\n\nSkills vs. MCP\n\nSo what about MCPs?\n\nMCPs are complex and mostly aimed at programmers. They connect an AI system to external APIs and resources in an agentic way — going beyond what REST can offer. Skills, on the other hand, are less of a contract and more of a task for the model to execute autonomously.\n\nMCPs also tend to be token-inefficient, to the point where I often recommend avoiding them. That’s especially true when you’re working in an agentic coding environment like Claude Code, where it’s usually better to make Claude aware of an equivalent CLI tool in your CLAUDE.md so you don’t waste valuable space in your context window.\n\nI don’t think MCPs are going away because they still play an important role — but they’re quickly falling out of favor because of their complexity, latency, and growing security concerns. Skills can’t fully replace an MCP (yet... I say because the AI space moves fast), but they’re already filling many of the same needs by formalizing a simpler way to run automated code within an agentic system.\n\nDeveloping Your Skills\n\nI’ve been saying for a while now that we’re at the beginning of an era of on-demand software.\n\nSkills aren’t the first manifestation of that. There have been plenty of ideas like this before, even from Anthropic with MCPs, Artifacts, Subagents, and god knows what else. What’s novel about Skills is that they lower the barrier for people to create and run small pieces of software that do exactly what you need, when you need it.\n\nWe’re starting to see these ideas converge into more cohesive visions — ones that go beyond developers and software development. When anyone can create a Skill, anyone can improve one, share one, or build on top of one. Their simplicity makes them more accessible, and when technology becomes more accessible, we begin to see creativity flourish.\n\nAnd so, there’s never been a better time to learn a new skill.",
"title": "Your First Claude (and ChatGPT) Skill"
}