smithery.ai

json-tools

JSON processing toolkit for validating, formatting, querying, and comparing JSON data. Use when working with JSON files, API responses, configuration files, or any structured JSON data that needs parsing, validation, transformation, or comparison.

First seen Mar 20, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0
LicenseMIT
More metadata
author
dspy-skills
version
1.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,394 B
  • docs SUMMARY.md 265 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

JSON Tools

A toolkit for working with JSON data using Python standard library only.

When to Use This Skill

Activate this skill when the user needs to:

  • Validate JSON syntax
  • Format/pretty-print JSON
  • Query JSON with path expressions
  • Compare two JSON files
  • Transform JSON data

Available Scripts

Always run scripts with --help first to see all available options.

Script Purpose
validate_json.py Check if JSON is valid
format_json.py Pretty-print or minify JSON
query_json.py Extract data using path expressions
diff_json.py Compare two JSON files

Decision Tree

Task → What do you need?
    │
    ├─ Check if JSON is valid?
    │   └─ Use: validate_json.py <file>
    │
    ├─ Format/beautify JSON?
    │   └─ Use: format_json.py <file>
    │
    ├─ Extract specific data?
    │   └─ Use: query_json.py <file> <path>
    │
    └─ Compare two JSON files?
        └─ Use: diff_json.py <file1> <file2>

Quick Examples

Validate JSON:

python scripts/validate_json.py data.json
echo '{"key": "value"}' | python scripts/validate_json.py -

Format JSON:

python scripts/format_json.py data.json
python scripts/format_json.py data.json --indent 4
python scripts/format_json.py data.json --minify

Query JSON:

python scripts/query_json.py data.json "users"
python scripts/query_json.py data.json "users.0.name"
python scripts/query_json.py data.json "config.database.host"

Compare JSON:

python scripts/diff_json.py old.json new.json
python scripts/diff_json.py config1.json config2.json --keys-only

Path Expression Syntax

The query_json.py script uses dot-notation paths:

Path Description
key Access object key
0, 1, 2 Access array index
key.subkey Nested access
items.0.name Mixed access
. or empty Root element

Examples

Given JSON:

{
  "users": [
    {"name": "Alice", "age": 30},
    {"name": "Bob", "age": 25}
  ],
  "config": {
    "debug": true
  }
}
Path Result
users The users array
users.0 First user object
users.0.name "Alice"
users.1.age 25
config.debug true

Input Sources

All scripts accept input from:

  • File: script.py data.json
  • Stdin: echo '{}' | script.py -
  • String: script.py --string '{"key": "value"}'

Common Use Cases

  1. Validate API response: validate_json.py response.json
  2. Pretty-print minified JSON: formatjson.py apiresponse.json
  3. Extract config value: query_json.py config.json "database.host"
  4. Find config differences: diff_json.py prod.json staging.json

Notes

  • All scripts use Python standard library only (no external dependencies)
  • Unicode is fully supported
  • Large files are handled efficiently
  • Exit codes: 0 = success, 1 = error/invalid, 2 = differences found (diff)