Agent skill
The bundled pyjev skill at skills/pyjev/SKILL.md teaches an agent to use
named decision contracts without reading pyjev source or adding an MCP
integration.
Its workflow is deliberately inspect-first:
list and show named decisions;
validate the complete
.pyjev.tomllocally;compile the exact request without credentials;
inspect the schema marker and specification fingerprint;
execute only after offline checks succeed;
preserve uncertainty and metadata unless a scalar is explicitly safe;
apply confidence thresholds as caller policy;
keep deterministic constraints in normal application code.
The skill also documents credential-safe setup, auth test, and pyjev’s
project-specific exit codes. It does not expose a generic primitive MCP server;
a future agent adapter should expose named-decision and offline tooling instead.
Choosing a pattern
Stable reusable judgment: declare a named decision in
.pyjev.toml; validate and compile before executing.Runtime-built contract: use
Jev.evaluate()/AsyncJev.evaluate()with typed decision objects.Several questions over one state: use a bundle; many independent states: use bounded
pyjev.amap.Candidate search where none may fit:
pyjev.recipes.findranks with Choice and judges applicability independently.Literal field extraction:
pyjev.recipes.extractselects only deterministic candidates; inspect candidates and request state before execution.Claim/evidence review:
pyjev.recipes.verifydistinguishesunsupportedfromcontradictedand does not fetch evidence.Fixed taxonomies: use
pyjev.recipes.classify; multi-label mode is independent Noul judgments with an explicit unclear band.Entity linkage: use
pyjev.recipes.matchforsame/unclear/different, not an overloaded numeric Score.Independent candidate relevance: use
pyjev.recipes.rerank; it is not the competing rank-plus-existence behavior infind.pyjev.recipes.screenis advisory only; preserve all probabilities and never treatpassas a security guarantee.Route recipes return proposals; they never invoke handlers. Caller thresholds and side effects stay in application code.
Do not flatten a recipe result when review needs its probabilities, confidence, usage, request ID, or raw typed decision. --pluck is for structured shell selection and is unavailable if a confidence gate fails; it cannot turn a rejected value into an actionable output.