How it works

Skills and how one gets chosen

How a capability pack reaches the model — the shared platform library, retrieval by intent, tools that arrive only with the procedure, and asking back when the request is ambiguous.

A skill is a way of working, packaged: a short line saying when it applies, a full procedure, and the tools that procedure needs. The line is in the prompt every turn; the procedure is fetched only once the skill is chosen. That split is what lets an agent carry many capabilities without paying for them on every message.

This page is about the hard part: out of everything available, which one gets used — and what happens when nothing clearly fits.

Two libraries, one space

Every agent has skills from two places, and it does not have to be told about the first:

  • Platform skills — general working methods (research a competitor, read a regulation, size up a lead). Available to every agent by default.
  • Your skills — the ones you write for your own business, attached per agent.

They are searched together. Sharing the space does not disadvantage your own: measured on 18 genuinely industry-specific skills mixed into 193 general ones, the industry skills were recognised more reliably (86% vs 79%). Industry vocabulary — HS codes, export rebates, store compliance — sits far away from general method vocabulary, so it is easier to pick out, not harder.

Retrieval, because a full list stops working

1. This turn's message

What the visitor just said, as they said it.

2. Retrieve

Each skill is indexed by its description and by example phrasings — the plain-language ways someone might ask for it. Matching one sentence against another sentence works better than matching it against a definition.

3. Shortlist

The fifteen closest are shown to the model, each with a few of those example phrasings. Not the whole library: with 207 skills listed in full the model picked correctly 30% of the time; shortlisted to fifteen, 51%.

4. Choose

The model picks one — or picks none, which is a valid outcome and often the right one.

5. Load procedure

Only now is the full procedure fetched, and only now do the skill's own tools become available.

Below roughly eight skills nothing is retrieved — the whole list is simply shown.

Below about eight skills, none of this runs — the full list is shown as before. At that size the list is already accurate, and retrieval could only add a new way to fail: the right skill missing from the shortlist, the model then answering from its own knowledge, and nothing in the log saying so.

The procedure comes before the tools

A skill's own tools are not available at the start of the turn. Loading the skill is what puts them there.

This ordering is enforced in code rather than requested in the prompt, and the reason is a measurement. Asked to research the competitors of a company, with the procedure and the tools handed over together, the model called web search three times and never opened the procedure. It produced competitor names from memory, searched for those invented names, found nothing — they did not exist — and wrote them up as the answer. Step one of the procedure it never read said "first establish what this company actually sells".

A procedure that is optional does not get read. Tools the agent itself carries are unaffected: if web_search is on the agent, it stays available all turn. Only tools that arrive because of a skill wait for that skill.

Some skills get their material before they start

A research skill that begins with an empty desk has only one place to get facts from: the model's own memory. So for skills that declare it, the platform does the first round of looking before the skill runs — it turns the visitor's sentence into search queries, runs them, and hands the results over as a numbered table of facts the answer is expected to cite.

The width is per skill, because it is not free. A question with several parts at once — what does it cost, what are the limits, how do I get my data out — cannot be answered from two searches. Measured on exactly that question, a narrow sweep produced 2,957 words carrying five citations, with every price in it a specific number that appeared in no source. Widening the sweep for research skills took the same question to 17 citations, and a technology comparison from 5.7 to 11.7. Skills that draft, rewrite or calculate declare nothing and search nothing.

The instructions of that same skill already said, in plain English, never state a price that is not in the material. It stated them anyway. A rule in a prompt is a request; giving the skill enough material is what actually changed the answer.

One more thing had to change with it. A guard already existed for the worst combination — searched, but never opened a single page, so the answer can only come from snippets. It asked whether the model had searched. On turns where the platform searched on the skill's behalf the model had called nothing, so the guard stood down on precisely the turns it was written for. It now asks whether this turn has search results at all, no matter who ran them.

When nothing clearly fits, it asks

Some requests genuinely do not point at one skill. The platform can tell when it is in that situation — not by asking the model whether it feels sure, but by looking at how tightly the retrieval scores cluster. When the top fifteen candidates are separated by almost nothing, the search has no opinion, and answering anyway is a coin flip: in that band the right skill is ranked first only 26% of the time, against 85% when the scores spread out.

So in that band, and only there, the agent asks one question first — offering two or three plain options ("did you want the current market prices, or a valuation of this specific property?") rather than requesting parameters. On the hardest quarter of requests this took accuracy from 36.7% to 63.3%, at an average of 1.5 questions.

Letting the model decide for itself when to ask does not work: asked to use its judgement, it asked on 81.5% of turns — including all the ones it would have got right. Gated on the score spread, it asks on 11%, with the same benefit.

This is the same principle that runs through the product: a machine can measure how ambiguous a request is; a model asked "are you sure?" will say yes. See Deciding what a message wants.

What this means in practice

  • Agents know common working methods without being configured for them, and knowing more of them costs nothing per message.
  • Your own skills win on your own business — that is what industry vocabulary is for.
  • A skill either follows its procedure or does not run at all. It cannot half-follow it by grabbing the tools and improvising.
  • Research skills start with sources on the desk, not with a memory. What they write is expected to cite that material, and what the material does not cover is reported as not found.
  • An ambiguous request gets a question, not a guess — and the question arrives on the small fraction of turns where the system genuinely cannot tell.