AGENT SKILL

jq-processing

Using jq to parse, filter, and aggregate JSON data from CLI tools for generating reports.

License 许可
MIT
最近更新
2026-10-02
Stars
★ 92
Forks
7

01 前言 Front Matter

name
jq-processing
description
Using jq to parse, filter, and aggregate JSON data from CLI tools for generating reports.

03 SKILL.md 正文

jq for JSON Processing

Basics

  • jq '.' - pretty-print JSON
  • jq '.field' - extract a field
  • jq 'length' - count array elements
  • jq '[.[] | select(.cond)]' - filter arrays

Date Handling

# Parse ISO 8601 date to epoch
echo '"2024-12-15T10:30:00Z"' | jq 'fromdateiso8601'

# Compute difference in days between two dates
jq -n '("2024-12-20T00:00:00Z" | fromdateiso8601) - ("2024-12-15T00:00:00Z" | fromdateiso8601) | . / 86400'
# Output: 5

Rounding

# Round to 1 decimal place
jq -n '3.14159 * 10 | round / 10'
# Output: 3.1

Building Final JSON

jq -n \
  --argjson pr_total 50 \
  --argjson pr_merged 40 \
  --arg top "user1" \
  '{
    pr: { total: $pr_total, merged: $pr_merged, top_contributor: $top }
  }'

Label Matching (substring check)

# Check if any label name contains "bug" (case-insensitive)
echo "$issues_json" | jq '
  [.[] | select(.labels | any(.name | test("bug"; "i")))]
'

04 同仓库更多 Skills