Agent Skills, and a version conflict nobody resolved
Skills are packaged capability: instructions and resources you hand the model so it can do a specific job well, without you stuffing all of it into a system prompt on every request. Think of it as extracting a fat inline prompt into a module the model imports when it needs it, rather than pasting the whole thing into every call. On the exam this sits under Agentic Customization, and there are two facts in it that are pure recall.
Two headers, and they are not optional
Agent Skills needs both of these:
skills-2025-10-02code-execution-2025-08-25
Two headers. Skills leans on code execution, so you are opting into both betas at once, and forgetting the second one is a plausible exam question because it looks like an unrelated feature. It is the same shape as a peer dependency: the thing you asked for does not work until you have also installed the thing it quietly relies on, and nothing in the name of the first tells you about the second.
The conflict, stated plainly
Here is where the documentation stops agreeing with itself, and you should carry the disagreement rather than a resolution.
The skills guide’s own example uses code_execution_20250825.
The tool reference lists code_execution_20260521, code_execution_20260120 and code_execution_20250825, all as GA.
Nothing states which version Agent Skills actually requires. The beta header says 2025-08-25, and the guide’s example says 20250825, which is suggestive. It is not a statement. Beta headers and tool versions are separate axes, and “these two numbers match so one must imply the other” is an inference dressed up as a fact.
What to do with an unresolved conflict
Two different answers depending on where you are.
Writing code: pin what the guide’s example uses, code_execution_20250825, and leave a comment saying why, because the next person will look at the three GA versions and assume you picked the oldest by accident.
Sitting the exam: if a question forces a single version, the guide’s example is the most defensible thing to reach for, because it is the only place the two features appear together. But notice that you are reasoning under ambiguity rather than recalling a fact. That difference matters, because it changes how long you should spend before moving on.
The habit worth building is spotting the seam at all. Three GA versions of the same tool means the version is a live parameter someone chose, not a constant, and a course that told you “it’s _20250825, done” would be teaching you a confidence the docs have not earned.
Try it yourself
Both headers, exactly
Two headers, not one, and the punctuation differs from the tool type strings. Say them character by character.
Which beta headers does Agent Skills require?
Reveal answer
skills-2025-10-02 and code-execution-2025-08-25. Two of them, together. Note the hyphens: beta headers are hyphenated with a dashed date, while tool type strings use underscores and a compact date, as in code_execution_20250825. Same date, two different spellings, two different places in the request.
Why the second header is there at all
This card is about the dependency rather than the values, because the dependency is the reason the second header is the one people drop.
Why does opting into Agent Skills also require a code execution beta header?
Reveal answer
Skills leans on code execution, so opting into Skills opts you into both betas at once. The practical consequence is that the second header looks like an unrelated feature sitting in your request, which is exactly why it gets omitted and exactly why it makes a plausible exam question. The one line to carry: Skills is not self-contained.
One value, wrong dialect
Headers and tools side by side. One of these three values is written in the other one's convention.
{
"headers": {
"anthropic-beta": "skills-2025-10-02,code_execution_20250825"
},
"tools": [
{ "type": "code_execution_20250825" }
]
}Show answer
Correct answer: B — The second beta value should read code-execution-2025-08-25, because headers use hyphens and a dashed date
Beta headers are hyphenated with a dashed date, so the second value in the anthropic-beta string should be code-execution-2025-08-25. The tools entry is already correct as written. The first option is the designed trap, because it also produces a matching pair and matching feels like the goal, but it fixes the wrong side and breaks a value that was right. The two spellings are not interchangeable: same capability, same date, two conventions, two different places in the request.
Which code execution version does Skills need
You are wiring up Skills and you have to pick a code execution tool version. What is the honest answer?
Show answer
Correct answer: C — The docs conflict: the skills guide example uses code_execution_20250825 and the tool reference lists three GA versions, so verify
The skills guide example uses code_execution_20250825, while the tool reference lists code_execution_20260521, code_execution_20260120 and code_execution_20250825 all as GA. The docs do not state which one Skills requires. The date-matching answer is the tempting one and the reasoning is genuinely good, the beta header really does say 2025-08-25, but a beta header and a tool type version are different things, and inferring one from the other is exactly the move that makes you confidently wrong.
Write the two request headers out
Sixty seconds, from memory, in a scratch file. Then check them against the card above.
- Write the beta header line for Agent Skills, with both values.
- Underneath, write the tool type string for code execution as it appears in the tools array.
- Circle every place the punctuation differs between the two.