data-processing について
JSON、YAML、TOML の構造化データをコマンドラインで扱うスキルです。一般的な開発作業で使う jq と yq による検索、フィルタリング、変換、ファイル編集の方法を扱います。
主な機能
- 01jq による JSON クエリ
- 02yq による YAML と TOML の処理
- 03配列のフィルタリングと変換
- 04設定ファイルの編集
- 05形式変換と出力オプション
活用シーン
- 01package.json から依存関係を抽出
- 02Docker Compose や Kubernetes 設定の確認
- 03API レスポンスデータのフィルタリング
- 04YAML 設定ファイルの編集
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 0xdarkmatter/ claude-mods --skill data-processingインストール後、Claude Code で/data-processingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/.gitkeepreferences/config-files.mdjq-patterns.mdyq-patterns.mdscripts/.gitkeep詳細
データ処理
コマンドラインから構造化データ(JSON、YAML、TOML)を効率的にクエリ、フィルタリング、変換します。
ツール
| ツール | コマンド | 用途 |
|---|---|---|
| jq | jq '.key' file.json | JSON 処理 |
| yq | yq '.key' file.yaml | YAML/TOML 処理 |
jq の基本
# 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 の基本
# 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
クイックリファレンス
| タスク | jq | yq |
|---|---|---|
| フィールドの取得 | jq '.key' | yq '.key' |
| 配列要素 | jq '.[0]' | yq '.[0]' |
| 配列のフィルタリング | jq '.[] | select(.x)' | yq '.[] | select(.x)' |
| 変換 | jq 'map(.x)' | yq 'map(.x)' |
| 件数 | jq 'length' | yq 'length' |
| キー | jq 'keys' | yq 'keys' |
| 整形して出力 | jq '.' | yq '.' |
| コンパクト出力 | jq -c | yq -o json -I0 |
| 生の出力 | jq -r | yq -r |
| インプレース編集 | - | yq -i |
使用する場面
- package.json の依存関係を読む
- Docker Compose の設定を解析する
- Kubernetes のマニフェストを分析する
- GitHub Actions のワークフローを処理する
- API レスポンスからデータを抽出する
- 大きな JSON データセットをフィルタリングする
- 設定ファイルを操作する
- データ形式を変換する
追加リソース
パターンライブラリの全容については、以下を読み込んでください。
./references/jq-patterns.md- 配列、フィルタリング、変換、集約、出力形式./references/yq-patterns.md- Docker Compose、K8s、GitHub Actions、TOML、YAML の変更./references/config-files.md- package.json、tsconfig、eslint/prettier のパターン
コメント
Markdown 対応