Skill v1.0.2
currentAutomated scan100/1005 files
name: mcbe-json-ui-debugging description: Diagnose Bedrock JSON UI failures. Use when a screen or server form does not render, a control reference or property is rejected, a hover/input state is wrong, bindings or protocol text leak, or static checks disagree with Bedrock runtime. metadata: version: "1.0.2"
MCBE JSON UI Debugging
Diagnose from the exact failing control path outward. Do not patch the visible symptom before identifying the owning layer.
Evidence first, skill second
Research the real evidence before applying anything written in this skill, and say which step answered:
- The target pack itself: its
_ui_defs.json, manifests, the files the request names, and the current Content Log. - Pinned official vanilla evidence:
references/official/bedrock-samples-uiat the revision inreferences/official/bedrock-samples-ui.lock.json,node tools/vanilla-name-check.mjs <name>for any control,#binding,$variable, button id, renderer or screen file, the full local mirror underreferences/upstreams/bedrock-sampleswhen present, anddocs/83-vanilla-ui-1.26.50-diff.mdfor names that moved or disappeared. - Registered upstream sources and their cards:
node tools/design-library.mjs sources --source IDandnode tools/design-library.mjs patterns --source IDfor the official docs, Wiki snapshots, schemas and sample addons pinned inconfig/design-research-lock.json(commit-pinned raw URLs for every file), then the repositorydocs/. - Only when steps 1–3 do not answer: this skill's own references. Label such guidance "inferred from skill guidance", never "confirmed".
A name, offset, selector or rule found in steps 1–3 overrides this skill. Older third-party references and example packs stay valid pattern evidence; do not delete or rewrite them because a vanilla name moved. Without this repository checkout, follow the same order with the official samples and docs you can reach and report which steps were unavailable.
Contract
- Input: failing screen, entry files, related UI/BP sender files, exact reproduction, Content Log, and target device/input method.
- Output: evidence-ranked root cause, smallest owning-layer fix, exact checks run, and runtime checks still pending.
- Success: registration, control resolution, collection ownership, bindings, visual state, input, assets, and runtime evidence are separated.
If data/skill-tool-profiles.json exists, read only the mcbe-json-ui-debugging entry. Confirm diagnostic commands exist before running them; unavailable checks stay unavailable.
Workflow
- Read
references/debugging-map.mdand classify the first target[UI]failure by its full control path. - Trace
_ui_defs.json-> namespace -> route/factory -> inherited control -> collection/binding -> input mapping. - Compare the failing construct with the closest verified local or vanilla example; never invent a property or event name.
- Fix the owning layer, re-run focused static checks, then request or inspect Bedrock interaction and a clean target Content Log.
Required boundaries
- A parsed file or successful static preview is not Bedrock runtime proof.
- Separate unrelated Sound, Animation, and Script noise from the target UI failure.
- Preserve unresolved bindings and states as diagnostics; do not guess their values.
- Keep project-specific title tokens, namespaces, objectives, and hidden markers out of general rules.