Skill vs MCP
MCP is the wire: POST https://www.jevai.org/api/mcp with a personal key, then tools/call. A Skill is public markdown the agent reads first. Opening or downloading a Skill does not use your daily Jev quota; it is logged separately. Without MCP and a key, the Skill can only describe the workflow.
Auth
Create a personal key on /agent/keys. Put it in a local credential store or JEV_API_KEY for the MCP client. Never put the key in a Skill file, project file, log, or tool output.
Install
Download the markdown files into the agent’s skills directory, then connect MCP. The files are GET /skills/{name}/SKILL.md.
for skill in jev jev-task-router jev-model-router \
jev-tool-guard jev-research-guard jev-completion-review; do
mkdir -p ".agents/skills/$skill"
curl -fsSL "https://www.jevai.org/skills/$skill/SKILL.md" \
-o ".agents/skills/$skill/SKILL.md"
doneFiles
Jev Tool Router
The router Skill. Use it to pick which of the five workflow Skills or jev_decide applies at the current boundary.
Calls jev_route_model, jev_guard_tool_call, jev_route_task, jev_check_research, jev_review_completion, jev_decide. Call only the matching tool. Do not invent a successful call if the six jev_* tools are missing.
Jev Tool Guard
Immediately before a consequential tool invocation. Do not use it to bypass an approval the user or platform already requires.
Calls jev_guard_tool_call. allow: invoke within the evaluated scope. confirm: get explicit user confirmation. review: inspect then evaluate again. deny: do not invoke.
Jev Model Router
More than one available model could perform the task and the choice affects quality, cost, or latency.
Calls jev_route_model. Use the returned candidate id only if that model is actually available in the current environment.
Jev Task Router
The next execution path is ambiguous or risky: proceed fast, review, split, or block.
Calls jev_route_task. proceed_fast, deep_review, split_task, or block. block means stop, not work around the decision.
Jev Research Guard
Evidence is already in hand and you are about to treat one claim as established.
Calls jev_check_research. accept, verify_more, or reject. Jev does not browse or fetch new sources.
Jev Completion Review
Immediately before declaring a non-trivial objective complete.
Calls jev_review_completion. complete, verify_more, or incomplete. incomplete means the objective is not done yet.
After a result
Follow the returned decision unless it conflicts with a higher-priority instruction or safety policy. Treat guidance as preset text and probabilities as evidence, not permission to skip human approval. If material facts, arguments, candidates, or scope change, call again. Do not send passwords, API keys, or unrelated private data.