Which check should never depend on Claude's judgment?
A Skill is a folder of instructions that Claude reads when a task matches. Claude follows written instructions by reading your rows and judging each one, afresh every time. A script is a short program Claude runs, so the counting is done the same way every time.
Think of orders without an address, invoices without a due date, or patients without a phone number. Using the practice job? Write "patients with no phone number".
What does a script add, and what do you check first?
Guess first. The reveals come from Anthropic's pages on Skills.
Show the answer
The one with the script. With written instructions, Claude reads each row and decides, and "usable" leaves room for judgment: is "0722 11" a phone number? It can decide differently another day. The script counts the digits and flags anything under 9, every time.
Anthropic's guidance is to start with plain instructions, and to have Claude add code for the parts that must happen the same way each time.
Show the answer
Have Claude explain it first. Anthropic's advice is to install Skills only from sources you trust, and to review a Skill from anyone else, a colleague included, before you switch it on: what its files do, any scripts in it, and any instruction to connect to outside sites. Skills can run code, and the risks Anthropic names are tricked instructions and data leaking out.
You don't have to read the code. Unzip it, open the folder in the Code tab in Manual mode as in lesson 4, and send the prompt from step 4 below.
Have Claude build the Skill
Five steps, about 15 minutes. Tick each one when it's done.
-
Check that code execution is on, and get the file.
Skills run on Claude's code execution. In Settings › Capabilities, make sure Code execution and file creation is on (newer layouts call it Create and edit files). On Team and Enterprise, an Owner controls it in Organization settings.
Practice file: Bright Smile Dental
A made-up dental clinic's appointments for two days. The rows are out of order on purpose, and three phone entries are blank, "n/a" or too short.
- appointments.csv8 appointments · under 1 KB
-
Give Claude the build prompt.
Start a new chat in Chat, not in the Code tab. Drag appointments.csv into the message box, or add it with +. Paste this and press Enter:
Build me a Skill called appointment-reminders for a dental clinic's front desk. Its description, under 200 characters, says what it does and to use it when someone asks for the reminder list, who to call, or which patients have no phone number. It works from a file like the attached appointments.csv, with the columns date, time, patient and phone. Put the exact part in a small script: list every appointment in date and time order, and flag each patient with no usable phone number. A phone is usable only if it has at least 9 digits. The script's last line says, with the two counts filled in: "Counted by the script: X reminders, Y with no usable phone number." The Skill always runs the script, shows its list as a table and ends with that last line, word for word. The script only reads the file and never connects to anything. Never guess or fill in a phone number. Don't ask me questions first. Test it on the attached file and show me what the script printed. Then package the Skill so I can save it.
The first line names the Skill and says what it does and when to use it. That becomes its description, the short text Claude reads in every chat to decide whether to open the Skill.
"Put the exact part in a small script" and "at least 9 digits" hand the count to a program with one fixed rule. As a written instruction, "no usable phone number" leaves room for judgment. The script settles it the same way every time.
"Counted by the script" gives the script's last line fixed words, so you can look for them in the Check.
"Only reads", "never connects" and "never guess" set the limits. "Test it" asks for proof before Claude says it's done.
-
Read the test.
Claude writes the Skill, runs the script on your file in its own workspace and shows you what it printed. Expect a table of 8 appointments, earliest first, with three patients flagged, and a last line that starts "Counted by the script:".
Claude may show the Skill's files beside the chat. You don't need to read them. Step 4 has Claude explain the script instead.
-
Ask Claude what the script does, before you save it.
Send this in the same chat and read the answer:
Before I save it, explain the script as if I've never seen code: what it reads, what it works out and what it shows me. Then answer yes or no, with one line each: Does it connect to the internet or anything else? Does it change or delete any file?
You want two plain no's. If either answer is yes, don't save the Skill. Paste: "The script must only read the file and never connect to anything. Fix it, test it and package it again."
Ask this about every Skill with a script before you switch it on, yours or a colleague's. You never have to open the script yourself.
-
Save the Skill and switch it on.
Click Save skill on the file Claude made. The Skill appears in Customize › Skills. Make sure its switch is on.
No Save skill button? Download the file. In Customize › Skills, click +, then + Create skill, then Upload a skill, and choose it, as in course 1, lesson 5.
If you see this instead
- There's no Skills page, or it's greyed out
- Code execution is off. Turn on Code execution and file creation in Settings › Capabilities, or ask your Owner on Team and Enterprise.
- Claude asks you questions instead of building
- Paste: "Everything you need is in my first message. Build it, test it on the file and show me what the script printed."
- The last line is missing or worded differently
- Paste: "The script's last line must say exactly: Counted by the script: X reminders, Y with no usable phone number. Fix the script, test it and package it again."
- Saving or uploading the Skill fails
- Paste: "Saving the Skill failed. Check the folder name, the name inside and the description length against Anthropic's rules, then package it again." On Team and Enterprise, an Owner can also switch off Skills people make themselves.
Does the saved Skill run its script, and does the count follow the file?
Start a new chat. It has only the saved Skill, not the chat where Claude built it, so it shows whether the Skill works on its own.
With the practice file
In a new chat, attach appointments.csv and send:
You pass when the reply is a table of 8 appointments, from 3 November at 09:00 to 4 November at 14:00, with Tudor Marin, Radu Enache and Victor Stan flagged. It ends with this line, word for word: "Counted by the script: 8 reminders, 3 with no usable phone number."
Then open the steps Claude shows above its answer. You should see it use appointment-reminders and run the script, and the script's own output ends with the same line. That's your proof the script did the count.
Next, send:
The script runs again. Tudor Marin shows his number, and the last line now reads "Counted by the script: 8 reminders, 2 with no usable phone number."
Last, try to talk it out of its rule:
Claude should say it can't make up numbers. Radu Enache and Victor Stan stay flagged, and the count stays at 2.
If Claude invents numbers, go back to the chat where you built the Skill and paste: "When I asked, the Skill made up phone numbers. It must never fill in a number, even when asked. Fix it and package it again." Then save the new version. With your own file, count the flagged rows by hand first.
Two questions from memory
Why put the count in a script instead of the Skill's instructions?
Claude reads written instructions afresh each time and judges each row, so a borderline row can go either way. A script applies the same rule to every row, every time.
A colleague sends you a Skill with a script. What do you do before you switch it on?
Have Claude tell you in plain words what the script does, whether it connects to anything and whether it changes any file. Open it in the Code tab in Manual mode and ask. You never have to read the code.
Lesson 6 opens by asking the first one again.
In Chat, Claude runs it in its own sealed-off workspace, separate from your computer, on a copy of the file you attach. Your own file stays as it was. Download the copy with Tudor Marin's number if you want to keep it.
Course 2 so far
What you've built
- Lesson 1: Tip calculator
- Lesson 2: Browser comparison
- Lesson 3: Scheduled summary
- Lesson 4: Clean invoice list
- Lesson 5: Skill with an exact check