Early on, agents kept ignoring our Pro Skills. They would happily dump flattened HTML instead of routing through the skill that produces validated, on-system output. Skills V2 is the three-layer fix that finally locked them in.
A skill that an agent can use is a skill an agent will skip under pressure. When a model is mid-task and optimizing for the fastest path, optional instructions lose to the shortest route. We needed routing that was not a suggestion.
Certain intents now route to a skill by force. Ask to convert a screenshot to a Bricks template and the request cannot be answered by raw markup — it must pass through the skill that whitelists elements, maps tokens, and validates the result.
Before a skill persists anything, it mints a single-use preflight token bound to the user, the skill, and an expiry. The persist step rejects any payload without a valid token. That closes the gap where an agent tried to write directly and skip the guardrails.
If it is not validated, it does not persist.
The final layer runs on the server, not the agent. BEM grammar, token taxonomy, no clamp() font-size, and the element whitelist are all checked before a single block is written. The agent synthesizes; the server is the guardrail and the writer.
Output is correct by construction, not by hope. Read more in the docs or see it run in a demo.
Book a demo and watch an agent work through these abilities.