jpx --skills prints a small index. jpx --skills query-libraries prints a
complete, installable SKILL.md with tested examples for creating, validating,
and running .jpx query libraries. This is the only shipped topic.
The assets are embedded in the binary: a copied binary works offline from an
empty directory. Skills return before reading stdin, input files, configuration,
or initializing the query engine. Save the topic's stdout as
jpx-query-libraries/SKILL.md in your agent's supported skill directory.
Option
Skills output
--skills [TOPIC]
Exact Markdown (index when no topic is supplied)
--skills [TOPIC] --json
Pretty JSON
--skills [TOPIC] -c
Compact JSON; also works with --json
JSON contains content (the exact Markdown) and either topics (an array of
topic names for the index) or topic (the selected name). Only explicit flags
select the format; JPX_COMPACT and config defaults do not affect skills output.
Other query, execution, and output flags conflict with --skills; use shell
redirection to save the output. Unknown topics point back to --skills.
--json is supported only with --skills. For ordinary queries, omit --json:
JSON is already the default, and -c retains its usual compact-output behavior.
Standard JMESPath functions and comparison semantics
-v, --verbose
Show expression details and timing
-q, --quiet
Suppress errors and warnings
-x, --exit-status
Exit 1 when the result is false or null
In strict mode, <, <=, > and >= compare numbers only. Other operand
types produce null, as required by the JMESPath specification.
String equality and standard string-sorting functions remain available.
Default mode retains lexicographic string ordering.
Pass -f/--file to load initial REPL data. Redirected standard input is always
treated as the REPL command stream, which keeps scripted sessions predictable:
The available demos are users, geo, text, datetime, ecommerce,
timeseries, logs, and inventory. Inside the REPL, .load accepts quoted
paths such as .load "fixtures/user data.json".
Use .history [count] to list recent queries and commands, oldest first. It
shows the last 20 entries by default; count must be a whole number from 1 to
100. History is bounded to the most recent 100 entries, so fewer than count
entries may be shown. History loaded from earlier sessions
is included, multiline queries appear as a single joined entry, and neither
.history itself nor an immediately repeated entry is recorded. Under
--no-history the command explains that history is disabled.
Entry numbers are one-based and last for the current REPL session: loaded
entries are numbered from 1 at startup, and an entry keeps its number even as
older entries are dropped to stay within the limit. Numbers are not saved, so a
new session numbers its loaded history from 1 again.
Environment variables are overridden by command-line flags.
The default config locations are ~/.config/jpx/config.toml and ~/.jpxrc.
Run jpx --help for parser-enforced conflicts and the current detailed help.
A few examples showing common flag combinations. For comprehensive examples, see:
- Basic Usage - getting started with queries
- Examples - task-oriented examples
- Output Formats - tables, CSV, YAML
- Query Files - reusable query libraries
# Query a file, raw output for scriptingjpx-r'config.api_key'-fsettings.json
# Chain expressions, table outputjpx'users''[?active]'-t-fdata.json
# Stream NDJSON, keep error records (each line is an object, so use if(),# not an array filter; null results are skipped)catlogs.ndjson|jpx--stream"if(level == 'error', @, \`null\`)"# Analyze structure before queryingjpx--paths--types-fdata.json
# Find functions by keywordjpx--searchunique
# Run a named query from a libraryjpx-Qqueries.jpx:active-users-fdata.json