jev-skills

agent
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Jev-powered decision skills for Claude Code and Codex. Opt-in, advisory, fail-open.

README.md

Jev Skills

Jev Skills: routing coding tasks across skills and models

Fourteen installable skills for Claude Code and Codex. Ask your agent to pick a relevant skill, choose a suitable model, or decide where to investigate and test first. Jev makes a small, bounded choice; your coding agent does the work.

Start with skill picking if you have several installed coding skills with overlapping purposes. The picker helps identify one to read; your agent still checks whether it fits and performs the task. For a small, obvious choice, use the agent's normal judgment.

Use this when several skills or next steps plausibly fit and choosing requires judgment. Skip it when the answer is obvious, the request is private or a contextual follow-up, or a project rule already determines the next step. These skills do not prove better decisions, lower cost, or faster work; evaluate them on your own tasks before adopting automatic use.

Jev is a TypeSafe System One model, not the conversational model behind Codex or Claude Code. Installing these skills does not replace that model, and a model recommendation does not switch an existing conversation.

Install

With uv, Git, and curl installed:

uv tool install 'git+https://github.com/n23eos/jev-skills.git'
jev-skills install --agent codex
# Or: jev-skills install --agent claude
jev-skills doctor --format human

If the command is not found, run uv tool update-shell, then open a new terminal. No uv? Use the isolated Python installation. The CLI needs Python 3.10 or newer; uv can provision a compatible Python. Installation does not enable automatic network calls.

Before a live decision, supply your TypeSafe API key as TYPESAFE_API_KEY in the environment that starts your coding agent. Do not paste the key into chat. jev-skills doctor checks whether it is present without displaying it. Your Codex or Claude subscription is separate from TypeSafe access.

doctor --format human explains missing setup steps and distinguishes CLI helper availability from installed skills. It does not contact TypeSafe or verify host login or native skill discovery. Plain doctor and doctor --format json retain the structured output used by agents.

Restart your coding agent after installation. Then paste one of these:

Codex

$jev-test-prioritizer Use this project's existing test commands to choose which test to run first for a change to login validation. Make one live Jev decision, then run the selected test if appropriate. Do not skip mandatory tests. Keep automatic routing off.

Claude Code

/jev-test-prioritizer Use this project's existing test commands to choose which test to run first for a change to login validation. Make one live Jev decision, then run the selected test if appropriate. Do not skip mandatory tests. Keep automatic routing off.

Use an existing coding project and replace "login validation" with your actual change. The agent handles the candidates and command arguments. You do not need to write JSON. If the project has no tests, it falls back instead of inventing test commands. For jev-skill-picker, you also need relevant task-specific skills installed; the picker cannot select a skill you do not have.

Skill Ask it to
jev-skill-picker Choose one of your installed skills and hand it back to the agent
jev-model-router Choose a model from your configured models
jev-context-picker Choose which supplied file or excerpt to inspect next
jev-test-prioritizer Choose which existing test target to run first
jev-bug-triage Choose a first component to investigate
jev-plan-selector Compare a few concrete implementation plans
jev-controls Check setup, usage, or switch automatic decisions on and off

For troubleshooting, updates, and optional project automation, see Getting started. The installer targets ~/.agents/skills for Codex or ~/.claude/skills for Claude Code, preserves edited skills, and supports --dest DIRECTORY.

CLI examples (optional)

Pick directly from an installed catalog, without constructing JSON:

# Local preview. Review the printed names and descriptions before sending them.
jev-skills pick-skill --root ~/.agents/skills --request 'Review a React form for accessibility'
# One explicit network trial after reviewing that metadata.
jev-skills pick-skill --root ~/.agents/skills --request 'Review a React form for accessibility' --live --reviewed-catalog

The result includes an exact local selected_skill.path and next_action: read_skill_then_apply, or a fallback. Paths and skill bodies are not uploaded. --show-skill additionally reads the selected file locally after verifying it has not changed. The agent must read the complete skill and respect its instructions before applying it.

Preview and selection also include local catalog_coverage: eligible and excluded counts, skipped files with reasons, and whether any read/parse failures occurred. An incomplete catalog can still produce a recommendation, but it may have missed the most relevant skill. Fix unsupported or unreadable files and retry as appropriate. Coverage paths stay local and must not be published from private catalogs.

For the other bounded selectors, the agent can prepare the following lower-level input for you:

Use a JSON file with a task request, a finite set of candidates, and optional JSON context. Candidate IDs should be stable and descriptions should explain distinctions relevant to the task. For model, candidates may also have a size (tiny, everyday, large, or hardest) for local usage accounting. Other candidate fields are not used for selection. The seven new workflows use structured scenario inputs to verify evidence and generate eligible candidates; start with jev-skills example WORKFLOW and the installed skill instructions.

{
  "request": "Which existing suite should I run first for a changed login parser?",
  "candidates": [
    {"id": "auth-unit", "description": "Fast parser and authentication unit tests"},
    {"id": "login-integration", "description": "Login endpoint integration tests"}
  ],
  "context": {"change": "Token parsing behavior"}
}
jev-skills decide tests --input examples/tests.json
jev-skills decide tests --input examples/tests.json --live

The first command is an offline dry-run. It prints mode: dry_run, network: false, and the request payload(s) it would send; it has no recommendation. --live starts an explicit one-shot HTTPS decision session and requires TYPESAFE_API_KEY in the environment. Do not put the key in an input file or a CLI argument. The CLI does not run the chosen test. See the bounded uses and examples/ for synthetic inputs. The model example uses fictional IDs; replace them with actual host model IDs before a real model decision.

An attempted live or enabled automatic selection reports route (recommendation or fallback), selected (an input ID or null), confidence, and usage/calls accounting. Immediate local fallbacks may have fewer fields. A fallback means the agent should continue with its normal process. Neither a recommendation nor a confidence value proves correctness. In particular, a selected first test never replaces other mandatory tests. --timeout SECONDS limits a decision session; failures and timeouts fall back. The available workflows are model, skill, context, tests, bug, plan, citation, ci, review, tool, issue, value, and eval-gap.

New practical workflows

Start with a concrete question, not automatic routing. For Codex, paste:

$jev-citation-checker Check whether this public source supports my claim. Inspect the source and show the relevant passage. Prepare an offline preview first; keep automatic use off.

Or ask $jev-ci-triage to inspect a failed CI step and recommend the next diagnostic check. For Claude Code, replace $ with /. The agent prepares the input; you do not need to write JSON. One live decision requires explicit opt-in and sanitized public evidence.

Skill User result
jev-citation-checker Source-scoped support, contradiction or insufficient evidence, with the original passage for verification
jev-ci-triage Next diagnostic check for failed CI, without pretending to know the cause
jev-review-comment-triage Next action on one review comment, before making unnecessary changes
jev-tool-picker One available read-only tool to consider for a task
jev-issue-next-step Missing evidence or next investigation for an issue
jev-value-picker An exact existing parsed value, copied locally rather than generated
jev-eval-gap-picker One observed failure to consider for a new evaluation

Try an installed public example without cloning this repository:

jev-skills example citation > citation.json
jev-skills decide citation --input citation.json
# After reviewing the public input and opting in:
# jev-skills decide citation --input citation.json --live

example works for all seven new workflows. Every preview is offline. Fallbacks return the task to the agent. These workflows are initial implementations, not measured accuracy or time improvements. See workflow details and verification criteria.

Network and control

Every automatic workflow is off by default. The following only changes local CLI settings; it does not add a hook to an agent:

jev-skills status
jev-skills enable tests
jev-skills decide tests --input examples/tests.json --automatic
jev-skills disable tests

enable WORKFLOW|all and disable WORKFLOW|all control the workflows; malformed settings stay off. --automatic contacts TypeSafe only for an enabled workflow. An agent must also receive an explicit instruction in its AGENTS.md or CLAUDE.md to prepare a sanitized input and call the CLI at an appropriate decision point. Merely installing a skill or enabling a workflow does not cause invocation. Manual invocation of an installed skill is supported with $jev-test-prioritizer in Codex and /jev-test-prioritizer in Claude Code, subject to that host's skill discovery.

For model routing, provide up to four actual host model IDs, mapped to the useful sizes tiny, everyday, large, and hardest. A suggestion is not a model switch; any delegation must use a mechanism that host supports, within the task's existing permissions. The helper should report the model actually used. jev-skills status summarizes usage and reports size-tagged suggestions in recommendations_by_model_size. It does not retain candidate IDs or request text.

Use --private for sensitive requests and --follow-up for contextual follow-ups; both bypass the network. Independently review and sanitize every input before any --live or enabled --automatic call. Local jev-skills catalog --root DIRECTORY --output catalog.json inventories skill metadata, including paths; the manifest is not uploaded by that command. Review it before extracting a shortlist for a request. Never send credentials, internal notes, private paths, or proprietary catalogs. Live calls go directly to TypeSafe, not through OpenRouter; see Security and privacy.

TypeSafe Choice supports at most 255 options; this CLI reserves one for none, leaving 254 candidates per question. Large sets are handled in bounded groups with a final comparison, subject to the total deadline and conservative fallback. The decision does not execute recommendations. Current TypeSafe model documentation lists jev-1.13.0 at $0.042 per million input tokens, with output tokens free. Treat this as a published rate, not a bill or a savings claim; check current terms before use. Account for all requests, including intermediate group calls and failures.

Development

The v0.3 verification covers the fourteen-skill package, structured workflows and safe upgrades. The v0.2 verification covers clean installation, a real catalog selection, helper boundaries, and a larger 30-skill synthetic comparison with a lexical baseline. The first live evaluation retains its 22 API calls and 3 bypass probes, including five low-confidence fallbacks. These are synthetic examples, not production benchmarks. A short launch draft is also available.

The paired picker comparison prepares identical public tasks for ordinary-agent and Jev choices and compares explicitly captured results. Preparation is offline and never starts a helper. Missing captures remain unmeasured. This measures skill selection, not success at completing the coding task.

Run network-free checks with the project's test runner:

python3 -m unittest discover -s tests -v

The synthetic live evaluation is opt-in, sends its labeled inputs to TypeSafe, and records raw decisions and failures:

python3 scripts/evaluate.py --live --output reports/live.json

Do not mistake synthetic evaluation outcomes for production accuracy, latency, or cost savings. See compatibility and limits and use cases.

Support

If this project was useful to you, feel free to support further development:

ETHDonate

Buy me a coffee

Reviews (0)

No results found