Skip to content

Saved questions

A question you ask more than once deserves a name. Save it with its wording and its own thresholds, then refer to it from anywhere.

Terminal
jevx question add urgent --noul "Is this urgent for the person receiving it?" --yes 0.85
jevx question add team --choice "Which team should handle this?|web=frontend or UI;api=backend;billing=money"
jevx question add sev --score "How severe is this?|low;medium;high"
jevx question list
jevx question show team

Then anywhere:

Terminal
jevx ask urgent,team,sev < ticket.txt
jevx is urgent < mail.txt
jevx ask --states tickets.jsonl team
Terminal window
$ jevx question add
jevx: usage: jevx question add NAME --noul "QUESTION" | --choice "QUESTION|k=desc;k2=desc" | --score "QUESTION|low;mid;high" [--yes 0.85 --no 0.15 --min 0.6]
flag meaning
--noul "Q" a yes/no question
--choice "Q|key=desc;key2=desc" pick one key
--score "Q|low;mid;high" one level, lowest first
--yes 0.85 --no 0.15 this question’s own yes/no band (yes/no only)
--min 0.6 this question’s own confidence floor (choice / score)
--context TEXT|@file background sent with this question only; a file is read now, at save time
--local save into this folder’s .jevx/questions.json instead of the global config

Global questions live in ~/.config/jevx/config.json. --local writes to the nearest .jevx/questions.json from the working directory up (found like .git), which you can commit.

A local question wins over a global one with the same name, and applies to every call made inside that folder, including an agent’s. question list, show and remove take --local the same way.

On a fresh machine there is nothing yet:

Terminal window
$ jevx question list
no named questions yet: jevx question add NAME --noul "QUESTION" [--local]

The skill tells the agent to run jevx question list before writing a question inline, because you may already have one tuned. If a saved question’s thresholds are set, they beat the config and profile values and lose only to flags on the call.

ask --questions set.json takes a JSON object keyed by name. It is the same shape the endpoint receives, useful when a set is generated by another program.

set.json
{
"urgent": { "type": "noul", "instructions": "Is this urgent for the person receiving it?" },
"team": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": { "web": "frontend or UI", "api": "backend", "billing": "money" }
}
}

Something wrong or unclear on this page?Open an issue on GitHub.