AGENT SKILL

data-processing

Process JSON with jq and YAML/TOML with yq. Filter, transform, query structured data efficiently. Triggers on: parse JSON, extract from YAML, query config, Docker Compose, K8s manifests, GitHub Actions workflows, package.json, filter data.

适用职业数据分析师
使用场景运维与部署
License 许可
MIT
最近更新
2026-06-24
Stars
★ 67
Forks
24

01 前言 Front Matter

name
data-processing
description
Process JSON with jq and YAML/TOML with yq. Filter, transform, query structured data efficiently. Triggers on: parse JSON, extract from YAML, query config, Docker Compose, K8s manifests, GitHub Actions workflows, package.json, filter data.
allowed-tools
Bash Read
compatibility
Requires jq and yq CLI tools. Install: brew install jq yq (macOS).

02 资源文件 4

03 SKILL.md 正文

Data Processing

Query, filter, and transform structured data (JSON, YAML, TOML) efficiently from the command line.

Tools

Tool Command Use For
jq jq '.key' file.json JSON processing
yq yq '.key' file.yaml YAML/TOML processing

jq Essentials

# Extract single field
jq '.name' package.json

# Extract nested field
jq '.scripts.build' package.json

# Extract from array
jq '.dependencies[0]' package.json

# Extract multiple fields
jq '{name, version}' package.json

# Navigate deeply nested
jq '.data.users[0].profile.email' response.json

# Filter by condition
jq '.users[] | select(.active == true)' data.json

# Transform each element
jq '.users | map({id, name})' data.json

# Count elements
jq '.users | length' data.json

# Raw string output
jq -r '.name' package.json

yq Essentials

# Extract field
yq '.name' config.yaml

# Extract nested
yq '.services.web.image' docker-compose.yml

# List all keys
yq 'keys' config.yaml

# List all service names (Docker Compose)
yq '.services | keys' docker-compose.yml

# Get container images (K8s)
yq '.spec.template.spec.containers[].image' deployment.yaml

# Update value (in-place)
yq -i '.version = "2.0.0"' config.yaml

# TOML to JSON
yq -p toml -o json '.' config.toml

Quick Reference

Task jq yq
Get field jq '.key' yq '.key'
Array element jq '.[0]' yq '.[0]'
Filter array jq '.[] | select(.x)' yq '.[] | select(.x)'
Transform jq 'map(.x)' yq 'map(.x)'
Count jq 'length' yq 'length'
Keys jq 'keys' yq 'keys'
Pretty print jq '.' yq '.'
Compact jq -c yq -o json -I0
Raw output jq -r yq -r
In-place edit - yq -i

When to Use

  • Reading package.json dependencies
  • Parsing Docker Compose configurations
  • Analyzing Kubernetes manifests
  • Processing GitHub Actions workflows
  • Extracting data from API responses
  • Filtering large JSON datasets
  • Config file manipulation
  • Data format conversion

Additional Resources

For complete pattern libraries, load:

  • ./references/jq-patterns.md - Arrays, filtering, transformation, aggregation, output formatting
  • ./references/yq-patterns.md - Docker Compose, K8s, GitHub Actions, TOML, YAML modification
  • ./references/config-files.md - package.json, tsconfig, eslint/prettier patterns

04 同仓库更多 Skills