Writing

Look Ma, I made a Claude Skill

If you ever go on LinkedIn, you've seen people bragging about how they've made Claude Skills which are saving them hundreds of hours a day and making them millions of dollars. Those are people trying to generate hype for their SaaS startups by doing something called lying. But if you're a non-technical person exploring their AI-curiosity like me, it's probably made you have thoughts like "Wait so what actually is a Skill?" and "I should probably learn how those work" and "Can I make something that would be useful for me?"

A Skill is basically just a file containing instructions for Claude to do something. These instructions are written in plain English, but usually entail telling Claude to do something related to coding.

When I'm working on these little projects for my site, I'll often make a decision that totally changes the direction I was going in. When I write about the project, it would be handy to have a snapshot of what it looked like before and after without having to dig through the commit history. To help with that, I created a /snapshot skill which saves the current state of a page as a frozen, linkable version at a stable URL along with a Claude-written summary of what decisions we are making right now that are relevant to this fork in the road. If you want to see the Skill, it is linked here.

The part that I think is interesting isn't the skill itselfLet's be honest, it's a pretty niche Skill, I might be the only person on earth who needs it but rather the process of working with Claude to create it. It reinforced one key learning that is fundamental to working with AI tools: You don't need to know enough to build the thing. You need to know enough to call out the AI when it is building the thing in a stupid way.

I started by ranting at ChatGPT for 5 minutes in audio transcription modeCreating a coherent thread out of ranting audio transcriptions is the only use case I prefer ChatGPT over Claude right now about what I wanted the skill to do. ChatGPT wrote a summary, which I sent over to Claude Code with two asks:

  1. I am not a programmer. Explain in straightforward terms if what I am trying to build is feasible and if I am approaching it the correct way.
  2. Create a detailed plan for how we will build this, including all of the minor in-between steps of which I may be unaware.

Claude replied, as it often does, by overcomplicating things. It gave a good outline of the big picture, but started going down a rabbit hole about site structure and universalization and creating config files. I had to call out Claude to take a step back and reconsider things. "Can't we just default to making a sub-page under the current page? Wouldn't that work for pretty much every website?" "Can't we cut config files entirely if we're going with this simple structure?" "Can't we just tell Claude in the readme to flag edge cases rather than trying to engineer a solve for all of them?" We kept ending up in two-steps-forward-one-step-back situations where I'd tell it what I wanted done and it would reinvent the wheel to do it.

The way Claude approaches a problem is to break it into pieces and build a framework for solving each one. The trap is that when you push back on how to approach one of the pieces, it doesn't throw the framework out. It keeps the original framework and tries to stack your suggestion on top of it. You have to explicitly tell Claude to scrap the approach and start over, or it'll keep building junk on junk. Once you see that pattern, much of working with Claude is just staying alert for it.

It's still wild that someone like me can spend an afternoon talking to Claude, push back when it's being stupid, and walk out with a real, public, open-source thing. When I started working with AI coding tools, I worried that my lack of technical knowledge would be what holds me back. The more I use them, the more I realize that I don't need to know how everything works under the hood to identify when it is approaching something the wrong way. That's usually enough to get it to build exactly what you want. I know this tool isn't that incredible, but I'm proud of it and when I inevitably post about it on LinkedIn, I'll be sure to make it sound more grandiose.