skills/parse-json/SKILL.md
Inspect and extract data from unknown JSON files without fumbling
npx skillsauth add AMindToThink/claude-code-settings parse-jsonInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When the user asks you to parse, inspect, or extract data from a JSON file (or when you encounter an unknown JSON file during work), follow this two-phase approach. Never guess the structure — always inspect first.
Run a single Python snippet that reveals the full structure:
python3 -c "
import json, sys
with open('FILE_PATH') as f:
data = json.load(f)
def describe(obj, path='root', depth=0, max_depth=3):
indent = ' ' * depth
if isinstance(obj, dict):
print(f'{indent}{path}: dict with {len(obj)} keys: {list(obj.keys())[:15]}')
if depth < max_depth:
for k in list(obj.keys())[:5]:
describe(obj[k], f'{path}[\"{k}\"]', depth+1, max_depth)
elif isinstance(obj, list):
print(f'{indent}{path}: list of {len(obj)} items')
if len(obj) > 0 and depth < max_depth:
describe(obj[0], f'{path}[0]', depth+1, max_depth)
else:
val = repr(obj)
if len(val) > 80: val = val[:80] + '...'
print(f'{indent}{path}: {type(obj).__name__} = {val}')
describe(data)
"
Only after structure is known, write extraction code using the actual keys and nesting. Use statistics.mean/stdev for aggregation. Print results in a clean tabular format.
development
Use when the user asks to check, audit, or improve a website or web project for accessibility (a11y), WCAG compliance, screen reader support, keyboard navigation, color contrast, or alt text. Triggers a plan-mode investigation against the TeachAccess design and code checklists, then implements approved fixes.
development
--- name: make-anonymous-branch description: Use when preparing a research repo for double-blind submission via anonymous.4open.science (ICML/NeurIPS/ICLR/workshop). Builds a single `anon-submission` branch with code+data+paper, scrubs identity leaks (author names, home paths, emails, wandb metadata, PDF author fields), patches LaTeX for pdf.js compatibility, and leaves `main` untouched. Triggers: "make an anonymous branch", "anonymize my repo for X submission", "set up anonymous.4open.science",
development
Translate math (formulas, estimators, algorithms) into code so the implementation faithfully matches what the source actually specifies. Use when writing code from a formula, reviewing an LLM-generated implementation of a formula, debugging a numerical mismatch with a paper, designing a new metric/estimator, or refactoring an existing math-heavy computation. Especially load-bearing whenever aggregation operators (sums, means, expectations, products, geometric means) appear over indices that can be reordered, or whenever the same English label can refer to multiple non-equivalent estimators (e.g. ratio-of-means vs mean-of-ratios, micro-average vs macro-average, sample-weighted vs unweighted). Prevents the failure mode where a code path silently implements the wrong estimator under the same name as the intended one.
development
Use when the user asks to review, find, summarize, or check Claude Code chat transcripts from a past date or time range ("review my chats from May 1st", "what was I working on yesterday", "any unfinished sessions this week"). Reads transcripts under `~/.claude/projects/`, handles local-time vs UTC correctly so late-evening sessions don't get dropped, and flags chats whose last assistant turn looks like an unanswered question.