Claude-skill-registry jq

JSON processor for filtering, transforming, and manipulating JSON data in command line.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/jq" ~/.claude/skills/majiayu000-claude-skill-registry-jq-e81e7c && rm -rf "$T"
manifest: skills/data/jq/SKILL.md
source content

jq — JSON Processor

Basic Operations

# Pretty-print JSON
jq '.' file.json

# Filter specific field
jq '.fieldName' file.json

# Filter array element by index
jq '.[index]' file.json

# Output all elements from arrays
jq '.[*]' file.json

# Parse from stdin
cat file.json | jq '.fieldName'

# Load JSON from URL
curl -s "http://example.com/file.json" | jq '.fieldName'

Filtering & Transformation

# Select multiple fields
jq '{field1: .field1, field2: .field2}' file.json

# Query nested data
jq '.outerField.innerField' file.json

# Filter by condition
jq 'select(.fieldName == "value")' file.json

# Modify field value
jq '.fieldName = "newValue"' file.json

# Delete a field
jq 'del(.fieldName)' file.json

Array Operations

# Count elements
jq '.arrayName | length' file.json

# Apply function to each element
jq '.arrayName[] | .fieldName' file.json

# First element
jq '.[0]' file.json

# First element's key
jq '.[0].key_name' file.json

Advanced

# Concatenate fields
jq '.field1 + " " + .field2' file.json

# Group by field
jq 'group_by(.fieldName)' file.json

# Sort by field
jq 'sort_by(.fieldName)' file.json

# Find unique values
jq 'unique' file.json

# Print keys and values
jq 'to_entries | .[] | "\(.key): \(.value)"' file.json

# Combine two JSON files
jq -s '.[0] + .[1]' file1.json file2.json

# Compact output (no whitespace)
jq -c '.' file.json