Whetstone.
Agentic CustomizationAgent Skills, and a version conflict nobody resolved
Module 3, Lesson 222 min

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-02
  • code-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.

Practice

Try it yourself

Recall

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.

Recall

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.

Quiz

One value, wrong dialect

Headers and tools side by side. One of these three values is written in the other one's convention.

Find the value in the wrong dialect
{
  "headers": {
    "anthropic-beta": "skills-2025-10-02,code_execution_20250825"
  },
  "tools": [
    { "type": "code_execution_20250825" }
  ]
}
  1. AThe tools entry should read code-execution-2025-08-25, so that it matches the header
  2. BThe second beta value should read code-execution-2025-08-25, because headers use hyphens and a dashed date
  3. CBoth spellings are correct, because underscores and hyphens are interchangeable here
  4. DThe skills header is wrong and should read skills_20251002, matching the tools convention
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.

Quiz

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?

  1. Acode_execution_20260521, because it is the newest of the three and newest is always the safest bet
  2. Bcode_execution_20250825, definitively, because the Skills beta header carries that exact same date
  3. CThe docs conflict: the skills guide example uses code_execution_20250825 and the tool reference lists three GA versions, so verify
  4. DIt does not matter, because Skills selects a compatible code execution version for you at runtime
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.

Do

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.
Done whenYou have hyphens and a dashed date in the header, underscores and a compact date in the type string, and you did not accidentally write one in the other's style.
Sign in to track your progress →