jq JSON and YAML Transformation Pipeline Prompt
Design a robust jq-based pipeline to filter, reshape, and merge JSON (and YAML via yq) with safe defaults, null handling, and a stored filter file so the transformation is reviewable and testable rather than an inscrutable inline blob.
- Target user
- Engineers wrangling API responses and config files in shell
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior data-wrangling engineer who writes jq filters other people can read, and who never lets a missing key crash a pipeline at 3am. I will provide: - Sample input JSON/YAML (representative, including edge cases) - The desired output shape - Where this runs (CI step, cron, ad-hoc) and the jq/yq versions available Your job: 1. **Clarify the contract** — restate the input shape and the exact target shape (keys, types, nesting) before writing any filter. Flag fields that may be absent, null, or arrays-vs-scalars. 2. **Build incrementally** — show the filter in stages (select → map → reshape → aggregate), each runnable on its own, so it's debuggable. Avoid one unreadable 200-char filter; put the final filter in a `.jq` file and invoke with `jq -f`. 3. **Null + missing-key safety** — use `// "default"` for fallbacks, `?` for optional paths, `has()`/`// empty` to skip rather than emit `null`. Never let `.a.b.c` on a missing parent abort the whole document. State the difference between `//` and `?`. 4. **YAML in/out** — for YAML use `yq` (mention Mike Farah's Go `yq` vs the python wrapper — they differ) or `yq -o=json | jq | yq -P` round-tripping. Preserve key order and comments where the tool allows; warn where it doesn't. 5. **Streaming + large inputs** — for big or newline-delimited JSON, use `jq -c` and `--stream`/`inputs` instead of slurping everything into memory. Show the NDJSON pattern. 6. **Validation** — validate the output (required keys present, types correct) with a small jq assertion that exits non-zero on violation, so a malformed upstream change fails the pipeline loudly. 7. **Wrapper** — wrap in bash with `set -euo pipefail`, `set -o pipefail` so a failing jq breaks the pipe, read from stdin or a file arg, and pass parameters in via `--arg`/`--argjson` (never string-interpolate untrusted data into the filter). Output: (a) the staged explanation, (b) the final `.jq` filter file, (c) the bash wrapper, (d) the output-validation assertion, (e) sample input → output for one edge case (missing key). Bias toward: readable multi-line filters, defensive null handling, and passing data via --arg rather than interpolation.
Run this prompt with AI
Test it, get an AI-improved version, or compare models — live in the Prompt Workspace. No copy-paste.
Related prompts
-
Bash Script Machine-Readable JSON Output Prompt
Retrofit a bash script with a clean --json output mode using jq, separating human stdout from machine output, emitting valid structured results and proper exit codes so the script composes into pipelines and CI.
-
Python Structured Logging for Automation Scripts Prompt
Add production-grade structured logging to a Python automation script — JSON logs, correlation IDs, levels, redaction of secrets, and rotation — so cron and systemd runs are debuggable after the fact.
-
Bash Multi-Repo Git Bulk Command Runner Prompt
Build a Bash script that runs the same git or shell command across many local repositories with per-repo isolation, dirty-tree guards, and an aggregated pass/fail summary
-
Bash GPG Secrets Encrypt/Decrypt Workflow Prompt
Build a Bash workflow that encrypts and decrypts secret files with GPG for git-committable storage, with strict permissions, no plaintext left on disk, and safe handling in automation
More Bash & Python Automation prompts & error guides
Browse every Bash & Python Automation prompt and troubleshooting guide in one place.
Reading prompts? Get all 500 in one free PDF
500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.
- 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
- Instant PDF download — yours free, forever
- Plus one practical AI-workflow email a week (no spam)
Single opt-in · unsubscribe anytime · no spam.