What Search2o adds
What changes when a company's workflows become Search2o agents behind one skill, instead of a skill per workflow with MCP servers or scripts. Each claim links to its source, and the sources are listed at the end. Claims about Claude Code are about that agent harness; the rest applies to any agent harness.
Context and tokens
1. Claude's context holds results, not workflows
When Claude carries out a workflow, the workflow itself is written into its context. Claude generates each step as it goes: a command, a script, a tool call. Each step stays in the conversation with its result, and the whole conversation is re-sent on every later request.
Anthropic describes what this does. With direct tool calls, each intermediate result passes through the model; a document read from one system and written to another crosses the context twice. As a context grows, the model recalls what is in it less accurately, an effect known as context rot.
Instructions and tool definitions add to it. A skill's body, once loaded, stays in context across turns. MCP tool definitions are deferred by default, but each search loads up to five, which stay until that part of the conversation is compacted.
With Search2o the workflow is not written at run time. It is a published agent, and it runs on the agent server. Claude's context receives the Search2o skill's instructions, the names and titles of the matching agents, and each agent's output. The agent's commands, API responses, database rows and variables stay on the agent server.
2. The workflow is not generated again on every run
A workflow that Claude carries out costs model tokens at three points, each time anyone runs it. Finding the skill: the description of every installed skill is in every request, about 100 tokens each. Loading it: the skill body, which Anthropic sizes at under 5,000 tokens, enters the context and stays. Generating the workflow: Claude writes the steps in a loop of model calls, one call for each step.
Each call re-sends the full conversation; prompt caching bills the re-read at a lower rate but does not remove it.
Anthropic makes the same point about code inside a skill. A bundled script costs only its output in tokens, which its documentation describes as much more efficient than having Claude write equivalent code each time. A Search2o agent applies that to the whole workflow, and moves it off the laptop.
In Search2o, search costs no model tokens, and an agent's flow control, API calls and database calls cost none. Only an llm command spends tokens: on the model its profile names, under the company's key, within the agent's cost limit.
That model can be one you host. Search2o supports Ollama, vLLM and SGLang, which can run open models on your own hardware. An llm step on such a model has no per-token charge, and nothing is paid to a model vendor; the cost is the hardware it runs on.
On Claude's side the cost is fixed: one skill, two calls and the result, however many agents exist and however many steps each one takes. When two hundred people run the same workflow, the saving repeats two hundred times. When the agents' own steps run on models you host, Claude's fixed part is the only model usage a run is charged for.
3. One skill entry stands for the whole catalogue
Every installed skill puts its name and description in Claude's context, about 100 tokens each, and Claude chooses among them by reading the descriptions. Anthropic advises limiting how many are loaded at once: with too many, Claude may choose the wrong skill or miss the right one. In Claude Code the listing has a budget of 1% of the context window; past it, descriptions are dropped, least-used skills first, and only names remain.
The Search2o skill takes one entry. Behind it, search matches the request against every published agent's description in about 200 milliseconds in Search2o Cloud, with no model call. Adding an agent changes nothing in the skill or on any laptop.
Search accuracy is measured and published. The tests ran on catalogues Search2o built. On a catalogue of 1,000 agents, the right agent came first for 85.5% of 10,000 questions and was among the first two for 92.2%. On five catalogues of 50 to 100 agents the figures were 83.8 to 91.0% and 92.3 to 97.4%.
These figures measure search on its own. Through the skill, Claude reads the titles of the matches and runs the one that fits.
Models
4. Workflows do not change when the assistant's model changes
A skill is a prompt, and its effect depends on the model that reads it. Anthropic says so: a skill's effectiveness depends on the underlying model, it should be tested with every model you plan to use, and evaluations should be rerun as models evolve.
Claude Code's bundled /claude-api prompt-audit flags instructions written for older models in prompts, skills and tool descriptions. Its model aliases move to newer versions over time unless pinned.
Users report the same effect: prompts that stopped working when Sonnet 4.5 replaced 3.7, skills that degraded output after a model upgrade, and a pull request refreshing a skills repository's prompts for current models.
A Search2o agent is a fixed list of commands. Which calls it makes, in what order and with what checks, does not depend on the model driving the agent harness. When the assistant's model changes, one skill is due a retest, not one per workflow.
An llm step inside an agent is still a prompt. It keeps running on the model its profile names, so a new model reaches your agents when you change the profile, not when the assistant upgrades. That prompt is due the same retest when you do. A model you host changes only when you change it; no vendor retires or updates it.
5. Each step uses the model that fits, from any vendor or your own hardware
Claude Code is built for Claude models. Anthropic's documentation says it "doesn't support routing Claude Code to non-Claude models through any gateway". Within Claude, a skill or a subagent can name a different model.
In an agent, each llm command names a profile, and a profile is one model at one vendor. OpenAI, Anthropic and Gemini are bundled. Any endpoint that speaks one of their protocols needs only a profile; anything else needs an adapter. Models you host with Ollama, vLLM or SGLang are supported as well.
One agent can extract fields with a small model, reason with a larger one, and keep a sensitive step on a model you host. A profile is changed once and every agent that uses it follows on its next run, so retiring a model is one edit.
Control
6. Laptops hold one token, not system credentials
For a skill's script, or an MCP server set up on the laptop, to reach a company system, the laptop needs a network route and a credential: for the system itself, or for the MCP server in front of it. In Claude Code, a skill's scripts have the same network access as any other program on the person's computer.
With Search2o the laptop reaches one host, the agent server, with one credential: a per-person integration token. The token can search, run agents and manage that person's own conversations. It cannot read or change configuration, and it can be revoked.
Credentials for the systems themselves are read on the agent server at run time and never reach the laptop or Claude. Direct routes from laptops to those systems can be closed. This is the place an agent gateway takes, except that Search2o also runs the agents.
7. Claude chooses which agent runs; it does not write what runs
When Claude carries out a workflow, the actions are decided at run time by the model and run with the person's access. Claude Code's permission rules decide which of them need the person's approval.
Anthropic's guidance warns that a malicious skill can direct Claude to invoke tools or run code in ways that do not match its stated purpose. It also warns that content fetched from outside may carry malicious instructions.
A published agent's actions are fixed by its author. It reaches only what its profiles name, and its expressions call only what the account's allowlist permits. Each run stops at the agent's time and cost limits.
With direct routes closed, an assistant that is mistaken, or misled by text it has read, can only run published agents, as that person, with the inputs it supplies. It cannot run new code against your systems.
8. Intermediate data stays on your server
In a model-driven workflow, every API response and query result the model handles is sent to the model's vendor as part of the conversation.
In an agent, API responses, database rows and credentials stay on the agent server unless the agent writes them into its output or a conversation variable. Claude, and the vendor behind it, sees only what the agent's author chose to output. Data reaches an LLM inside the agent only where an llm command sends it, to the vendor that step's profile names. When the profile names a model you host, that data stays inside your network.
9. The same request takes the same steps
A skill guides what Claude does; it does not define it. Anthropic lists instruction following among the things to evaluate in a skill, with Claude skipping validation steps as its example of failure.
A skill can bundle a script for the fixed parts, and Anthropic recommends it. The script still runs on the laptop, with the person's access.
An agent takes the same path through the same commands on every run. Nothing is published without a real validation run. Every publish creates a version, each run is recorded against the version that ran, and a failure names the command it failed at.
The output of an llm step can still vary, as any model call does.
10. Every run is recorded in one place
Search2o records every run: who requested it, what ran, how long it took, what failed, and what the LLM calls cost. Reports show these per agent, per version and per person. Cost is computed from the prices set in each LLM profile. A run started from the agent harness appears under the person's name, beside runs from the UI and the chat bots.
Claude Code can export OpenTelemetry metrics and events to a collector you operate: model requests with tokens and cost, tool calls and skill activations, attributed to a user. It is opt-in, and the names of user-configured MCP servers and tools are withheld unless detail logging is on.
That is a record of model and tool activity in a session. Search2o's record is of the business action: which agent, which version, for whom, with what result.
Reach
11. Publish once, for every person, surface and assistant
A new agent is available to everyone as soon as it is published and described. Nothing is installed on a laptop, and the skill does not change. A corrected agent replaces the old version for everyone on the next run.
A skill is a set of files. It has to reach each person's machine or account, through a repository, a plugin, managed settings or account sync. The Search2o skill is installed the same way, once, with a token for each person.
The same published agent serves the UI, the chat bots, the REST API and the skill. The skill folder follows the open Agent Skills standard, so it works unmodified in other clients, Cursor and OpenAI Codex among them. The work that goes into an agent is not tied to one assistant.
From the UI or a chat bot, search chooses the agent with no model call. A run whose llm steps use a model you host then has no per-token charge at all.
12. State outlives the session
Agents in one conversation share state that Search2o saves: the prompt history and conversation variables, stored encrypted and kept for 7 days after the last use, with no such limit on the paid service. Two agents written by different developers build on each other's work without knowing about each other.
An agent can pause to ask the person a question and continue when the answer arrives. A password is never typed into the chat; the assistant gives the person a link to the conversation in the UI instead.
That state does not depend on Claude's context. If the session is compacted or closed, the conversation is still there, under the person's account.
What it costs
- Someone writes the agents. A developer learns a JSON definition with 20 commands. Draft with AI writes a draft from a description and leaves the queries and API paths for the developer to fill in. Each agent is then validated and published.
- You run the agent server. It installs with pip and is stateless. It is still a service your company operates.
- Requests pass through Search2o Cloud. The request text is sent in plain form to be matched, then stored encrypted. So is the text of a long-term memory an agent stores. API responses and database rows are not sent unless an agent writes them into its output or a conversation variable.
- Definitions and state are stored in Search2o Cloud. Agent definitions, their prompts and profiles are stored in plain form, without secret values. Conversation state is stored encrypted. By default Search2o manages the encryption key; with end-to-end encryption the key stays in your enterprise.
- The skill is still a skill. Claude decides from its description whether a request is for a company agent, and chooses among the matches. The description must be adapted to your company.
- Agent output is still input. What an agent returns enters Claude's context, including text the agent fetched from elsewhere. The skill tells Claude to treat it as data, not as instructions.
Sources
Pages opened on October 3 and 4, 2026.
Anthropic
- Agent Skills overview
- Skills for enterprise
- Skill authoring best practices
- Extend Claude with skills
- Connect Claude Code to tools via MCP
- Scale to many tools with tool search
- Configure permissions
- Model configuration
- Other LLM gateways
- How Claude Code uses prompt caching
- Monitoring
- Code execution with MCP, November 4, 2025
- Effective context engineering for AI agents, September 29, 2025
Others
- Agent Skills standard
- Ollama, vLLM and SGLang, which run open models on hardware you host
- Chris Tyson, The Day Anthropic Broke 90% of My Prompts, October 3, 2025
- MindStudio, Fix Degraded Claude Code Output: Trim Skills, Not Add Them, August 12, 2026
- Refresh skill prompts for current Claude models, a pull request on rohitg00/pro-workflow

