querying-json
Extracts specific fields from JSON files efficiently using jq instead of reading entire files, saving 80-95% context. Use this skill when querying JSON files, filtering/transforming data, or getting specific field(s) from large JSON files
$ 安裝
git clone https://github.com/iota9star/my-skills /tmp/my-skills && cp -r /tmp/my-skills/skills/jq ~/.claude/skills/my-skills// tip: Run this command in your terminal to install the skill
name: querying-json description: Extracts specific fields from JSON files efficiently using jq instead of reading entire files, saving 80-95% context. Use this skill when querying JSON files, filtering/transforming data, or getting specific field(s) from large JSON files
jq: JSON Data Extraction Tool
Always invoke jq skill to extract JSON fields - do not execute bash commands directly.
Use jq to extract specific fields from JSON files without loading entire file contents into context.
When to Use jq vs Read
Use jq when:
- Need specific field(s) from structured data file
- File is large (>50 lines) and only need subset
- Querying nested structures
- Filtering/transforming data
- Saves 80-95% context vs reading entire file
Just use Read when:
- File is small (<50 lines)
- Need to understand overall structure
- Making edits (need full context anyway)
Common File Types
JSON files where jq excels:
- package.json, tsconfig.json
- Lock files (package-lock.json, yarn.lock in JSON format)
- API responses
- Configuration files
Default Strategy
Invoke jq skill for extracting specific fields from JSON files efficiently. Use instead of reading entire files to save 80-95% context.
Common workflow: fd skill → jq skill → other skills (fzf, sd, bat) for extraction and transformation.
Quick Examples
# Get version from package.json
jq -r .version package.json
# Get nested dependency version
jq -r '.dependencies.react' package.json
# List all dependencies
jq -r '.dependencies | keys[]' package.json
Pipeline Combinations
- jq | fzf: Interactive selection from JSON data
- jq | sd: Transform JSON to other formats
- jq | bat: View extracted JSON with syntax highlighting
Skill Combinations
For Discovery Phase
- fd → jq: Find JSON config files and extract specific fields
- ripgrep → jq: Find JSON usage patterns and extract values
- extracting-code-structure → jq: Understand API structures before extraction
For Analysis Phase
- jq → fzf: Interactive selection from structured data
- jq → bat: View extracted data with syntax highlighting
- jq → tokei: Extract statistics from JSON output
For Refactoring Phase
- jq → sd: Transform JSON data to other formats
- jq → yq: Convert JSON to YAML for different tools
- jq → xargs: Use extracted values as command arguments
Multi-Skill Workflows
- jq → yq → sd → bat: JSON to YAML transformation with preview
- jq → fzf → xargs: Interactive selection and execution based on JSON data
- fd → jq → ripgrep: Find config files, extract values, search usage
Common Integration Examples
# Extract and select dependencies
jq -r '.dependencies | keys[]' package.json | fzf --multi | xargs npm info
# Get and filter package versions
jq -r '.devDependencies | to_entries[] | "\(.key)@\(.value)"' package.json | fzf
Note: Choosing Between jq and yq
- JSON files (package.json, tsconfig.json): Use
jq - YAML files (docker-compose.yml, GitHub Actions): Use
yq
Detailed Reference
For comprehensive jq patterns, syntax, and examples, load jq guide when needing:
- Array manipulation and filtering
- Complex nested data extraction
- Data transformation patterns
- Real-world workflow examples
- Error handling and edge cases
- Core patterns (80% of use cases)
- Real-world workflows
- Advanced patterns
- Pipe composition
- Error handling
- Integration with other tools
