boredape874/mcbejsonuimasterai/mcbe-json-ui-ir-authoring
Claude Code and agent skill by boredape874/mcbejsonuimasterai
- community
- ext:[{"type":"plugin","description":"Custom plugin integration"}]
Checking that the SKILL.md file is still in the repository.
Use when the user asks for layout, positioning, alignment, symmetry, equal spacing, or pixel-correct sizing of Bedrock JSON UI elements. Translates the user's intent (prompt or annotated image) into the IR YAML described in docs/41-ir-spec.md and schemas/ir.schema.json. Pairs with mcbe-json-ui-tools-runner to compile the IR into JSON UI.
Install
npx vskill@latest install boredape874/mcbejsonuimasterai/mcbe-json-ui-ir-authoringSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
MCBE JSON UI IR Authoring
Use this skill when the user's primary need is correct layout — positions, sizes, alignment, symmetry, gaps. For dynamic bindings, animations, or Script API wiring, use the knowledge layer skills (mcbe-json-ui-logic, mcbe-json-ui-hud-and-chat, etc.) instead, then patch the compiled ui.json directly.
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: target profile, root bounds, element roles, visual evidence or recipe IDs, and explicit layout intent.
- Output:
workspace/<screen>/ir.yaml, declared constraints, assumptions, and the next non-geometry handoff. - Success: the IR validates, all visible relationships are constrained, solved geometry is stable, and unresolved dynamic values remain outside the solver.
If data/skill-tool-profiles.json exists, read only the mcbe-json-ui-ir-authoring entry. Confirm referenced tools exist before invocation; if the catalog or prompt helpers are unavailable, author from verified repository schemas and record that limitation.
For new UI planning where the user has not supplied a complete spec, read docs/52-json-ui-intake-questionnaire.md first, then translate the chosen layout constraints into IR.
When to choose IR vs raw JSON
| User said | Use IR | |
|---|---|---|
| "build a HUD/panel/form like this image" | Yes | |
| "center this", "make these symmetric", "equal spacing", "align these" | Yes | |
| "fix the layout / nothing lines up" | Yes | |
| "add a binding", "wire it to my server form", "animate this on focus" | No — edit ui.json directly using knowledge layer | |
| "explain why this isn't loading" | No — knowledge layer first |
If unsure, ask the user one short question.
Workflow
- Identify the target screen name (snake_case).
- Decompose the requested layout into elements (panel/image/label/button/stack_h/stack_v/grid/collection_grid or collection_panel/scroll).
- Choose
base_resolution(default[1920, 1080]) andgui_scale(default3). - For
rootand each element, declare px-onlyposandsize. If the final Bedrock JSON must use%/%c/fill, solve with equivalent pixels first and add those dynamic units during the hand-finish JSON patch.
- For labels whose size depends on visible text, use
auto_size.mode: text. - For images with one unknown axis, use
auto_size.mode: image_aspect. - For server-form/HUD repeated data grids, use
kind: collection_gridwithcollection.dimensions,collection.item_size, andauto_size.mode: collection_grid.
- Add constraints for every intent the user expressed or that is visually obvious:
- left/right or top/bottom pair →
symmetric_x/symmetric_y - row/column of repeating items →
same_size+equal_gap_x/equal_gap_y - centered row/cluster →
center_group_x/center_group_yafter equal-gap and same-size constraints - any "aligned with" intent →
align_x/align_y - exact edge match →
edge_eq - exact offset between edges →
edge_offsetwithdelta
- Save as
workspace/<screen>/ir.yaml. - Hand off to
mcbe-json-ui-tools-runner(or directly callnode tools/run.mjs).
Hard rules
- Pixels in IR. Never put
%,%c,%cm,fill, ordefaultinto solver-stagesizevalues; add dynamic Bedrock units only aftersolved.jsonis stable. - Every visible pair/row/group with implied symmetry or alignment must declare a constraint. Do not rely on hand-tuned
posvalues. - Every centered row or card cluster must declare
center_group_xorcenter_group_y; do not eyeball the group's firstpos. - For server form button grids, HUD lists, score rows, and item slots, model the repeated area as
collection_gridfirst, then hand-finish the item template and bindings. - Constraint ids must reference existing
elements. No floating ids. - Do not edit the compiled
ui.jsonto fix layout. Editir.yamland recompile. - Bindings, animations, and Script API are out of scope for IR. Add them to the compiled
ui.jsonafterward as a separate patch. - The solved layout from
solved.jsonor compiledui.jsonis the geometry source of truth. Do not reinterpret or approximate positions/sizes during the hand-finish phase. - Treat
report.jsongeometry warnings as layout failures unless the IR intentionally defines a clipped viewport.
Output expectations
Hand back:
- the path to
workspace/<screen>/ir.yaml - a one-paragraph explanation of which constraints were declared and why
- a note on which knowledge-layer skill should run next if bindings/animation are also needed
References
references/intent-to-constraint.mddocs/41-ir-spec.mdschemas/ir.schema.json
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/mcbe-json-ui-ir-authoring/SKILL.md
Popularity
- Repository stars
- 71
- Repository forks
- 6
- 7-day trend score
- 17
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
pluginCustom plugin integration
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/boredape874/mcbejsonuimasterai/mcbe-json-ui-ir-authoring)