jev-use

jev-use is a skill for Claude Code, Codex from trycua/cua. It costs 68 tokens per session (1,216 once invoked), scanned A, original, MIT.

A recipe for connecting a computer-use driver to a decision service that chooses one action from a fixed list. The application creates the allowed choices, while the driver observes the screen, performs the chosen action, and verifies the result.

In plain words
What is it for?
Use it to add a bounded action-selection loop to a computer-use application, with compatible Python and TypeScript adapters and an optional visual adapter.
Why use it?
It prevents the decision service from inventing tool names, coordinates, targets, or other action details. This keeps control and validation in the application rather than in the model.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to add a bounded action-selection loop to a computer-use application, with compatible Python and TypeScript adapters and an optional visual adapter.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/trycua/cua/jev-use
About the project

trycua/cua is a toolkit for building and testing AI agents that operate computers by seeing screens, clicking controls, and typing across operating systems and virtual machines. It serves agent developers, benchmark authors, and teams generating training data for computer-use models. Catalogue add-ons provide ways to operate Cua drivers and related agent workflows.

trycua/cua · 29,970 stars · on GitHub · cua.ai

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add trycua/cua --skill jev-use
Clone the repo
git clone --depth 1 https://github.com/trycua/cua

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for jev-use

README.md
[![agentmods](https://agentmods.dev/badge/skills/trycua/cua/jev-use/github.svg)](https://agentmods.dev/skills/trycua/cua/jev-use)
Your own site
<a href="https://agentmods.dev/skills/trycua/cua/jev-use"><img src="https://agentmods.dev/badge/skills/trycua/cua/jev-use/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for jev-use

Your own site · 80×15
<a href="https://agentmods.dev/skills/trycua/cua/jev-use"><img src="https://agentmods.dev/badge/skills/trycua/cua/jev-use.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 68 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,216 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00068 $0.01216
Opus 5.5 $0.00027 $0.00486
Sonnet 5.5 $0.00014 $0.00243
Haiku 4.5 $0.00007 $0.00122

Measured 17d ago against content hash ec971f53284a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

jev-use scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 17d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/jev-use/SKILL.md · 98 lines

How it starts

The opening of the file, as written. The whole thing — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.

jev-use

Keep the decision layer above Cua Driver. Driver supplies observations and executes actions; the application constructs complete candidates; TypeSafe Jev returns one candidate ID. Never let Jev invent tool names, coordinates, refs, targets, delivery modes, or other arguments.

Use the example at libs/cua-driver/examples/jev-use/ as the runnable reference. Keep TypeSafe request construction in the external Jev adapter rather than in Driver or a Driver extension. The Python and TypeScript adapters must expose equivalent mock and live behavior. For a process boundary, use cua.jev_choice_request_v1 on stdin and require cua.jev_choice_v1 on stdout. The request contains only a goal, capture ID, compact regions, bounded history, and candidate IDs with descriptions; the response contains only the selected ID, model identity, confidence, and probabilities. Invoke the Python interpreter and absolute chooser path directly without a shell. For native desktop applications, use NativeAccessibilitySource and cua.jev_choice_request_v2, which adds a per-candidate source (page, ax, or visual), compact value-free elements, and optional progress counted from the runner's own performed actions. Browser tasks keep sending v1. Prefer browser DOM and semantic evidence. The optional visual adapter consumes the public cua.visual_regions_v1 result only when Driver advertises both parse_visual_regions and the capture-bound click.capture_id input. Use the checked-in fixtures for deterministic development; do not add a model, extension artifact, or Driver implementation detail to the recipe.

Decision loop

  1. State the goal and obtain a fresh Cua Driver observation through one persistent CLI or MCP session.
  2. Prefer an unambiguous fresh accessibility or browser DOM token.
  3. If visual grounding is needed, discover parse_visual_regions through the current MCP tool inventory. Validate its versioned result, capture ID, screenshot reference and dimensions, coordinate mapping, unique region IDs, bounds, content, confidence, and ambiguity. Build a pixel action only with the exact capture ID in the same click call. Otherwise reobserve or abstain.
  4. Construct a bounded candidate table. Each executable candidate contains the complete Driver tool and arguments. Include reobserve and abstain when evidence can be stale, incomplete, or ambiguous.
  5. Send Jev only the goal, compact observation, recent history, and candidate IDs with descriptions. Include typed visual regions and their capture_id when the current observation has validated visual evidence; do not send extension internals or screenshot bytes.
  6. Resolve the returned ID against the original immutable table. Reject an unknown, duplicate, malformed, denied, stale, or capture-mismatched choice, or a result below the caller's stated confidence policy.
  7. Execute at most one Driver action. Use background delivery by default; foreground delivery is an explicit escalation subject to the active Driver contract and user authorization.
  8. Reobserve and verify the postcondition before building another table.

Read the full file on GitHub · 98 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 17d ago Changed · +1 lines ec971f53284a
  2. 18d ago Changed · +23 lines 8c666476bb74
  3. 28d ago First seen · 74 lines · 68 tokens per session scan A a85d25494d64

Subscribe to this mod's changes

jev-use is a skill published in the GitHub repository trycua/cua (29,970 stars, last pushed today), licensed MIT. It adds 68 tokens to every session and 1,216 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-19.

Related

Other skills, from other repositories

apple-notes

Manage Apple Notes via memo CLI: create, search, edit.

mateaix/mateclaw · 17 tokens

apple-mail

Use this skill when the user wants to manage Apple Mail on macOS - reading, searching, sending, replying to, forwarding, and organizing emails and mailboxes. This skill provides access to Apple Mail through MCP tools.

sweetrb/apple-mail-mcp · 47 tokens

swift-expert

Expert-level Swift development for iOS, macOS with SwiftUI, Combine, and modern Swift 5.9+. Use when the user mentions iOS, macOS, SwiftUI, Combine, async await, or Apple platforms, or when the task involves Modern Swift Features, Basics and Optionals, Functions and Closures, or Structs and Classes.

personamanagmentlayer/pcl · 76 tokens

apple-photos

Use this skill when the user wants to query, view, organize, or export photos from their macOS Apple Photos library — searching by date/import-date/album/keyword/person/label/place/GPS-radius/media-type/aesthetic-score/OCR-text, viewing photos inline as thumbnails, acting on the live Photos.app selection, finding…

sweetrb/apple-photos-mcp · 158 tokens

programming-swift

Provides the complete content of 'The Swift Programming Language (6.4)' book by Apple. Use this skill when you need to verify Swift syntax, look up language features, understand concurrency, resolve compiler errors, or consult the formal language reference.

kylehughes/the-unofficial-swift-programming-language-skill · 54 tokens

swift-coding-standards

Master Swift coding standards with Apple's guidelines, protocol-oriented design, and modern concurrency patterns.

williamzujkowski/standards · 23 tokens