JSON Tools
Documentsjson-toolsJSON Tools is an Agent Skill for documents published in the microclaw/microclaw repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Query, filter, transform, and validate JSON using jq (or Python as a fallback). Use when users want to extract fields from a JSON blob/file/API response, reshape JSON, pretty-print, or check that JSON is valid. Triggers on mentions of json, jq, extract field, parse json, pretty print json, validate json, reshape, 解析 json, 提取字段, 格式化 json.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/microclaw/microclaw/blob/HEAD/skills/built-in/json-tools/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/json-tools, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
JSON Tools
Prefer jq for querying JSON; fall back to Python's json if jq isn't installed
(command -v jq to check).
Pretty-print / validate
jq . data.json # pretty-print (errors if invalid)
python3 -m json.tool data.json # stdlib fallback
Extract a field / path
jq -r '.user.name' data.json
jq -r '.items[].id' data.json # one id per line
jq -r '.items[] | select(.active)' data.json
Reshape into a new object / CSV
jq '{id: .id, who: .user.name}' data.json
jq -r '.rows[] | [.id, .name] | @csv' data.json
Python fallback for the same tasks
python3 - <<'PY'
import json
d = json.load(open('data.json'))
print([it['id'] for it in d['items'] if it.get('active')])
PY
Guidance
jq -rstrips quotes for raw string output; drop-rto keep valid JSON.- For huge files, filter early (
jq '.items[] | select(...)') instead of loading all into memory in Python. - When piping an API response, validate first — a truncated/HTML error page is not JSON.
- Show the extracted result, not the entire input.