From Claude-Data-Wrangler
Restructure JSON or JSONL data — pivot flat records into nested hierarchy, un-nest deeply nested structures, group by keys, promote/demote fields in the hierarchy, split arrays into sibling objects. Use when JSON shape needs to change (e.g. flat rows → grouped-by-country nesting, or nested API response → flat table).
npx claudepluginhub danielrosehill/claude-code-plugins --plugin Claude-Data-WranglerThis skill uses the workspace's default tool permissions.
Reshape JSON/JSONL structure — nest, un-nest, pivot, group.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Share bugs, ideas, or general feedback.
Reshape JSON/JSONL structure — nest, un-nest, pivot, group.
Input:
{"user": {"id": 1, "profile": {"name": "Alice", "email": "a@x.com"}}}
Output (dotted keys):
{"user.id": 1, "user.profile.name": "Alice", "user.profile.email": "a@x.com"}
Inverse of flatten — dotted keys → nested objects.
Input (flat rows):
[{"country":"FR","city":"Paris","pop":2}, {"country":"FR","city":"Lyon","pop":0.5}, {"country":"DE","city":"Berlin","pop":3.6}]
Output (grouped):
{"FR": [{"city":"Paris","pop":2},{"city":"Lyon","pop":0.5}], "DE": [{"city":"Berlin","pop":3.6}]}
Inverse of group-by — emit one row per leaf with the grouping keys promoted to columns.
Move a field up or down in the hierarchy. E.g. promote user.profile.email to a top-level email field.
Input: {"id": 1, "tags": ["a", "b", "c"]}
Output: three records, each with the id and one tag value (like pandas explode).
Inverse of explode.
json.load.pandas.json_normalize for flatten operations.itertools.groupby (sorted) or collections.defaultdict._grouped, _flat, _exploded).pip install pandas
Standard library json, collections, itertools cover most cases.
null / base64, and note in the data dictionary.