the standard library
nika:jq
Run a jq expression over input · THE data-transform language (map·filter·select·reshape). Emits exactly one value. One of 28 builtins in the closed nika: namespace: pure JSON/data transforms, no I/O.
- datafamily9 tools
- 2argsdeclared contract
- 1requiredcheck teaches a miss
- 3skeletonsship this tool
the contract
2 args · 1 requiredA missing required arg is a nika check finding before anything runs; the vocabulary below comes from the binary itself (nika catalog --tools --json), not from prose.
- expression*
stringthe jq program- input
- any JSON value (or an array for multi-input ops)
in a real file
from the fanout skeleton survivors: with: process: ${{ tasks.process.output }} invoke: # the null-aware fan-in · order preserved tool: "nika:jq" args: input: ${{ with.process }} # `. // []` · an EMPTY discovery skips the whole for_each (null # upstream) — the fan-in must survive its own quiet day. expression: "(. // []) | [ .[] | select(. != null) ]"a verbatim excerpt, real line numbers from fanout.nika.yaml, conformance-gated upstream on every spec push. open the full skeleton →
cross-references
ships in skeletons
the check gates
from the blog
the data family
9 toolspure JSON/data transforms, no I/O.
Machines read the same vocabulary at /tools/catalog.json; the contract lives in spec 06 · stdlib. Install and ask the binary itself: nika catalog --tools. Read the spec →