Build in Public: Claude Code, skills plus scripts
I've got a secret for you.
When you reach AI automation nirvana, AI isn't actually going to do that much.
All the AI work happens upfront, creating the system. The system itself is going to be mainly good old-fashioned code.
Which makes sense.
If you want something automated, you want it to happen the same way every time. LLMs famously aren't deterministic and can decide to do different things.
There's also cost. Running a bit of code costs next to nothing. Your AI usage (checks usage 😲) is pretty cheap, and probably getting cheaper, but it's not nothing.
So we want the system itself to be mainly code, and every now and then, when we want that LLM goodness, we bring it into the mix.
When we're building the system, though, we want it the other way around. AI is going to write all that code for us.
So, following on from last time where we looked at skills, let's look at skills + scripts for a bit more power.
Script first, then skill
When we're finished, your skill will run a script. But you don't need to build the skill and script together.
The pattern:
- Prompt Claude to write a script
- Test it until it works
- Create a skill that references it
With this approach you can get a script working before formalising it, and the skill becomes simple: "run this proven script".
A good example is splitting a large CSV by the value in a certain column.
I'd create a folder on my Mac, put the CSV in it, open my terminal, and either navigate to that folder and open Claude or, if I'm feeling lazy, just open Claude and ask it to take me there.
Then I'd prompt like this:
I have a CSV file at ~/Documents/data-processing/clients.csv
Write me a Python script that:
- Reads the CSV
- Splits it into separate files based on the Region column
- Saves each region's file to ~/Documents/data-processing/by-region/
- Names files like: clients-north.csv, clients-south.csv, etc.
- Shows me what files it created
Show me the script first, explain what it does, then run it.
(That's a lie. I'd just write a load of typo-filled rambling instructions and Claude would work it out.)
Claude will write the script, explain it, and run it for you.
Check the output by opening the new CSVs. If it works, great. If it doesn't, just prompt Claude with instructions to fix it.
Make it generic and save
Once it works perfectly, ask Claude to turn it into a reusable skill:
Now that this script works, I want to turn it into a reusable skill.
1. Rewrite the script to be generic — replace any hardcoded file paths or column names with arguments so it can be reused with different files.
2. Save the script to .claude/skills/split-csv/ as split_csv.py
3. Create a SKILL.md file in the same folder with:
- A name and description that tells Claude when to use this skill
- Instructions to run the Python script with the correct arguments
4. Show me the final folder structure.
Conclusion
Building your first script-backed skill takes longer than building a simple skill, but it's worth the extra effort. You end up with something that runs the same way every time, is fast and costs almost nothing to operate, and can be a building block for a bigger system.