Skip to content
Back to skills

Jev Cli

ASecurity

Use when classifying or scoring state with the `jev` CLI or the `jev-mcp` stdio MCP server.

  • 36 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 25, 2026
toolsgoshellapidocumentation

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 25, 2026

npx -y skills add MichelKerkmeester/opencode--spec-kit-skilled-agent-orchestration --skill jev-cli --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Jev Cli?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Jev Cli
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/michelkerkmeester-jev-cli/badge)](https://www.skillsdirectory.com/skills/michelkerkmeester-jev-cli)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: jev-cli
description: Use when classifying or scoring state with the `jev` CLI or the `jev-mcp` stdio MCP server.
version: 0.1.0
author: tumf
license: MIT
metadata:
  hermes:
    tags: [jev, cli, mcp, classification, scoring]
    related_skills: []
---

# jev-cli

## Overview

Use the `jev` command to ask TypeSafe Jev typed questions about text or JSON state. Prefer this skill when a task needs a compact machine-readable probability, one choice from explicit criteria, an ordered score, or several typed answers in one request.

The package and repository are named `jev-cli`. `uv tool install jev-cli` installs two commands: `jev` for the shell and `jev-mcp` for MCP hosts. No optional extra is required.

When the host already has the `jev` MCP server connected, call its `noul`, `choice`, `score`, or `run` tool instead of shelling out. Use the `jev` command otherwise.

Install this bundled skill with `jev install-skills`. Add `--global` for the user-wide target and `--claude` for Claude skill directories.

## Workflow

1. Confirm the command is installed with `jev --version`. If it is missing, install from the repository root with `make install`. Completion: `jev --version` exits successfully.
2. Confirm key availability with `jev auth status`, then use `jev auth test` when API validity must be verified. If absent or invalid, ask the user to configure the selected provider's API key; never print, infer, or commit it. Completion: the selected command returns `ok: true`.
3. Choose the narrowest question type:
   - `noul` for a yes/no probability.
   - `choice` for one key from explicit options.
   - `score` for an ordered numeric level.
   - `run` for a complete request object or multiple questions.
4. Send only the state needed for the judgment. The selected provider receives the submitted state and questions, so do not send secrets or private data without explicit authorization.
5. Use default JSON output for automation. Use `--value` only when a scalar is sufficient. Completion: parse the result and account for the exit code before acting on it.

Read [references/cli.md](references/cli.md) for copy-paste command forms, inputs, output controls, exit codes, and the `jev-mcp` stdio server configuration.

## Decision rules

- Give `choice` options stable keys and descriptions that make the categories mutually understandable.
- Give `score` levels in ascending order; the returned number may be fractional.
- Use `--json-state` only when the state must retain JSON structure.
- Use `@file` or stdin for long input instead of embedding it in shell arguments. These forms are CLI-only: the MCP tools send `state` verbatim, so read the file in the host and pass its content.
- The official TypeSafe API is the default. Use `--provider vercel`, `--provider openrouter`, or `--provider custom` only when the caller selects another provider.
- Use the provider-specific environment variable only for process-level overrides: `TYPESAFE_API_KEY`, `AI_GATEWAY_API_KEY`, `OPENROUTER_API_KEY`, or `JEV_API_KEY`. A custom provider also requires `JEV_ENDPOINT`; `JEV_MODEL` is optional. The normal credential store remains under the user's config directory.
- Treat model output as a structured judgment, not verified fact. Keep consequential actions behind the caller's own validation and authorization rules.

## Common pitfalls

1. **Calling the executable `jev-cli`.** The package is `jev-cli`, but the executables are `jev` and `jev-mcp`.
2. **Using `--value` with `run`.** Batched requests require the JSON response.
3. **Treating transport failures as negative answers.** Exit code `4` means retryable API or network failure, not a model judgment.
4. **Leaking state through convenience.** Inspect file and stdin content before submission when it may contain credentials or private records.
5. **Embedding an API key in examples.** Use `jev auth set` through stdin or the environment variable without writing its value into scripts or documentation.
6. **Running `jev-mcp` by hand.** Its stdin and stdout carry MCP protocol frames; start it only from an MCP host configuration.

## Verification checklist

- [ ] `jev --version` succeeds.
- [ ] `jev auth status` or `jev auth test` succeeds without exposing the key.
- [ ] The selected question type matches the desired answer shape.
- [ ] Submitted state contains no unauthorized secret or private data.
- [ ] The caller handles JSON and nonzero exit codes.
- [ ] Consequential follow-up actions retain their own authorization checks.

Files in this skill

  • SKILL.md4.4 KB
  • references/cli.md5.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.