Search from your agent
Setup installs one skill, jevlin, into each agent that has skills. The skill is what the agent reads: it prefers this search over the built-in one, builds the request, reads the envelope, and knows the few commands below.
Just ask
The skill makes Jevlin the default search, so an ordinary question that needs the web is enough. To be explicit, name it:
/jevlin what changed in Vite 7's rollup migration
Naming jevlin in an ordinary request does the same. The agent sends the query as JSON on stdin, reads one JSON envelope back, and answers from the merged list.
What the agent reads
The skill tells the agent to read result.merged first: the citations of every provider that answered, deduplicated by page. Each entry's found_by says how many providers agree on that page, which is the fan-out's own evidence, and best_rank is the best position any of them gave it. decision says which providers ran.
The agent decides what to do next from ok, retryable and action, never from the message text. When a search did not run, the skill tells the agent to say so and stop, never to answer as if it had. Result text is treated as quoted web content, not as instructions. See the envelope.
The commands
| in the agent | what it does |
|---|---|
/jevlin <question> | One search, as the skill specifies. |
/jevlin off | The agent's built-in web search becomes the default again; this one runs only when you name it. Every agent's skill is rewritten to say so, from its next start. |
/jevlin on | This search is the default again. |
/jevlin status | Which of the two is the default right now. |
/jevlin tier fast|balanced|max | Sets the band every search carries unless a request names one. |
/jevlin tier default | Unsets it; [miner] tier in your config applies if set, else the router's default for your key. |
/jevlin tier | The band in force. |
Those are the only forms the skill teaches, because they are the only ones an agent needs mid-task. Everything else is the jevlin command in a shell; see Search from a shell. The skill points the agent at status and doctor when a search succeeds but the envelope says mining is not earning.
The settings are yours
The skill tells the agent never to change the default or the band on its own. It leaves tier unset so your band applies, asks for balanced only when it needs several sources, and never sends max. See Choosing a band.
The choices are saved beside your config as search-default and search-tier, and survive reinstalls. From a shell, jevlin agents prefer on|off|status and jevlin agents tier <band>|default|status do the same.
/jevlin off does not reach opencode. It gets a rules block for AGENTS.md rather than a skill, and the block carries no preference. See opencode.
Where the skill is
The skill's text is rendered per agent and per shell at install time, with your paths filled in. The installed copy is at ~/.claude/skills/jevlin/, ~/.cursor/skills/jevlin/, ~/.codex/skills/jevlin/, ~/.pi/agent/skills/jevlin/ or ~/.hermes/skills/jevlin/. The integration pages say what else is written into each agent, and the source is cmd/jevlin/skill.md.
A search also marks the turn it ran in, so an end-of-turn hook can report what the turn concluded; see The turn end.