claude/ai-resources-plugin/skills/configure-editor-schema/SKILL.md
Wire an existing JSON Schema into VS Code, Cursor, and/or Zed so it provides validation and IntelliSense for matching JSON or YAML files.
npx skillsauth add amhuppert/my-ai-resources configure-editor-schemaInstall 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.
Associate an existing JSON Schema with a file-match glob in one or more editors (VS Code, Cursor, Zed) for both JSON and YAML files. Authoring the schema itself is out of scope — the schema must already exist on disk or be reachable at an HTTPS URL.
<arguments> Use the arguments supplied in the user's invocation. </arguments>Extract these inputs from the user's invocation. Collect anything missing in Step 2.
json or yaml — which file type the schema validates.**/myconfig.json, .foo/*.yaml).user (default) or project.If the schema source is ambiguous (e.g., the user said "the schema for X" without giving a path), treat it as missing.
Use the active client's user-question mechanism to fill gaps. One question per missing input. Suggested prompts:
json, yaml)VS Code, Cursor, Zed, plus combinations — allow multi-select)Confirm the resolved inputs back to the user in one short summary before writing anything.
For each chosen editor and scope, determine the absolute path of the settings file. Consult references/editor-settings.md for the per-OS path table and project-level conventions.
Use uname or known environment context to detect the OS. On Linux, prefer $XDG_CONFIG_HOME when set, falling back to ~/.config.
If a settings file or its parent directory does not exist, create them:
mkdir -p <parent-dir>Write an empty {} if the file is missing.For each target settings file:
Read tool.references/editor-settings.md for the exact shape per editor.json.schemas array): conflict = an existing entry whose fileMatch overlaps with the new glob.yaml.schemas map): conflict = an existing key (schema source) already bound to an overlapping glob, OR a different schema source bound to the same glob.lsp.{json|yaml}-language-server.settings.{json|yaml}.schemas."Overlap" means the new glob equals or is a string-identical match of an existing one. Don't try to compute true set-overlap — when in doubt, surface the candidate to the user.
If conflicts exist, ask about each conflicting entry: "Overwrite the existing mapping <existing> with <new>?" Options: overwrite, skip this editor, abort.
For each settings file:
Edit tool to make the smallest possible surgical change. Never rewrite the whole file with Write when settings already exist.references/editor-settings.md.Two common patterns:
{}): extend {} to include the full required nested structure.After editing, re-read the file once to confirm the change parses as valid JSONC (look for matching braces and the new entry being present).
Return a short summary:
redhat.vscode-yaml) must be installed, otherwise yaml.schemas does nothing. The skill does not probe for it../ resolves to the worktree root, ~/ to the home directory. For user-level Zed config, prefer absolute paths or ~/ over ./ — ./ may resolve unpredictably.references/editor-settings.md — Per-OS settings paths, exact settings shapes for every editor+file-type combination, JSONC notes, and the Red Hat YAML extension prerequisite.development
Debug a running web app via the web-debugger SDK: app logs, application state, runtime snapshots, React state, query cache.
development
Thoroughly understand a software development objective before implementation: research, identify ambiguities, ask clarifying questions. Use before starting implementation of a non-trivial or ambiguously specified feature, or when requirements leave open design decisions.
development
Locate the on-disk Claude Code transcript file (.jsonl under ~/.claude/projects/) for the current or a specified conversation.
development
Reflect on codebase navigation effectiveness at end of conversation. Surfaces dead ends, inefficiencies, missing context. Does not write files — pair with /kiro:steering-custom to persist.