Minecraft Skin Studio
Use this skill when the user wants a Minecraft Java skin workflow, not a server workflow. If the current repo contains apps/minecraft-skinbar, use that workspace by default when the request involves a menu bar app, app UI, or local macOS workflow changes.
Quick Start
- Treat the launcher-ready deliverable as a
64x64skin PNG plus a preview image. - If the request touches the bundled app, run
bash scripts/run_minecraft_skinbar.sh doctorfirst. - Run
bash scripts/run_minecraft_skinbar.sh inspectbefore editing the app. - Use
bash scripts/run_minecraft_skinbar.sh generateafter changingapps/minecraft-skinbar/project.yml. - Use
bash scripts/run_minecraft_skinbar.sh typecheckfor a fast shell and Python syntax pass before the helper smoke test. - Use
bash scripts/run_minecraft_skinbar.sh testafter changing the Python helper, preview rendering, or launcher registration contract. - Use
bash scripts/run_minecraft_skinbar.sh buildafter app UI, model, CLI wiring, or keychain changes. - Use
bash scripts/run_minecraft_skinbar.sh runwhen you need the local menu bar app relaunched. - Prefer registering skins through the launcher's local custom-skins file instead of brittle UI clicking.
- If the user has a prompt only, generate a draft skin sheet first, then clean it into a usable
64x64skin. - Be honest that prompt-to-perfect skin generation is still draft-quality and may need a second pass.
- If the user already has a PNG, skip generation and register it directly.
Workflow
Choose The Lane
- Use
minecraft-skinbar-workspacewhen the user wants to build, troubleshoot, or refine the bundled macOS app inapps/minecraft-skinbar. - Use
gofor the full flow: prompt draft, clean skin, preview, and launcher registration. - Use
generatewhen the user only wants files and iteration. - Use
registerwhen they already have a valid skin PNG. - Use
render-previewwhen they want a quick visual check without touching the launcher.
Work The Bundled App First
- Read
references/project-map.mdbefore editing the app workspace. - Prefer the local runner before typing
xcodegenorxcodebuildmanually. - Keep
Minecraft Skin Barcompact and menu-bar-first. - Preserve the current split:
SkinBarModelowns local state, launcher-facing actions, and keychain-backed API key handlingSkinStudioCLIshells out tominecraft_skin_studio.pythroughuvMenuBarViewstays focused on prompt, import, preview, and launcher handoff
- Keep OpenAI API keys in Keychain or environment variables only. Do not add plaintext config storage.
- Keep skin output local in
~/Pictures/Minecraft Skinsunless the user explicitly asks for another path. - The current app project has no Xcode unit-test target, so use
typecheckfor the fastest helper sanity pass,testfor the helper smoke path, andbuildas the strongest native validation.
Skin Rules
- Java launcher skins should be treated as
64x64PNG files. - Keep the launcher-facing flow simple:
- skin PNG
- preview PNG
- custom skin entry in
launcher_custom_skins.json
- If the user asks for direct launcher automation, prefer the local JSON registration path first.
- Do not pretend generic image generation is guaranteed to produce a perfect UV layout on the first try.
Required Deliverables
- A launcher-ready skin PNG path.
- A preview image path.
- A clear note on whether the skin was registered into the local launcher library.
- If generation was used, a short quality note about whether the result looks usable or needs another pass.
Editing Guidance
- Keep prompts visual and specific: outfit, palette, theme, face detail, accessories.
- Use
wideunless the user explicitly wantsslim. - Prefer simple names for launcher entries.
- Do not overwrite an existing launcher skin entry unless the user clearly wants a replace/update behavior.
- If you edit the bundled app, preserve the local-first workflow:
- generate or import
- preview locally
- register into the launcher JSON
- open the launcher or reveal the saved files
- Do not pretend the app can silently inject skins into Mojang services or change the active skin without the launcher's own local flow.
Resources
scripts/minecraft_skin_studio.py: generate, clean, preview, and register skins.scripts/run_minecraft_skinbar.sh: local doctor, inspect, generate, typecheck, test, open, build, and run helper forapps/minecraft-skinbar.references/launcher-flow.md: launcher storage path, workflow boundaries, and practical limits.references/project-map.md: bundled app target map, main files, and validation notes.../../apps/minecraft-skinbar/: the bundled macOS menu bar app workspace.agents/openai.yaml: UI metadata and default invocation prompt.