minecraft-imagegen
Generate or edit Minecraft raster assets such as pack icons, promo art, concept textures, thumbnails, banners, and UI mockups. Use when the deliverable is a bitmap image rather than JSON, SVG, or code-native assets.
Install
npx skills add https://github.com/Jahrome907/minecraft-agent-skills/tree/main/.agents/skills/minecraft-imagegen
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install jahrome907-minecraft-agent-skills@llmmart
git clone https://github.com/Jahrome907/minecraft-agent-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole jahrome907/minecraft-agent-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Minecraft Image Generation Skill
Use this skill when a Minecraft project needs new raster art or a visual concept that will later be refined into a resource pack, release post, store listing, or server brand asset.
Scope
Routing Boundaries
Use when: the task is generating or editing a bitmap image for a Minecraft project, such aspack.png, release art, store thumbnails, concept textures, UI mockups, or server/banner art.Do not use when: the task is deterministic resource-pack implementation work such aspack.mcmeta, block/item model JSON, blockstates, fonts, sounds, or shader files (minecraft-resource-pack).Do not use when: the task is vector/code-native UI, an existing SVG/logo system, or non-image code/assets.Do not use when: the current host does not expose built-in image generation or an equivalent image-editing tool.
References
- Read prompt patterns for an underspecified request or a generation/edit prompt template.
- Read asset recipes for a pack icon, release banner, server header, or texture concept sheet.
- Use
scripts/scaffold-asset-brief.shonly when a saved brief is useful for stakeholder feedback or repeated rounds; a clear image request can proceed directly. - Invoke the helper by its absolute installed path from the project workspace. Relative
--outvalues resolve from that workspace. When running from the installed skill directory, pass an absolute--outproject path or setCODEX_WORKSPACE_ROOT.
Default Execution
- If the current host does not expose built-in image generation or an equivalent image-editing tool, stop and tell the user this skill is unavailable on that host; offer prompt/brief preparation or a host with an available image-generation tool.
- Use the built-in
image_gentool by default when the host supports it. - Match the requested deliverable: complete a requested asset, or produce concepts when the user asks for exploration. Do not require a separate concept approval for a clear generation or edit request.
- The built-in image generation workflow supports fresh generations and edits against existing local/reference images; prefer that over describing a manual paint-over process.
- Save a requested project asset at the intended workspace path when the host exposes the output file; otherwise return the generated image and state that a local save could not be verified.
- Preserve existing assets non-destructively by using versioned filenames unless the user explicitly asked to overwrite.
- If editing a local image, load or attach it first so the image is visible to the agent before requesting an edit.
Good Use Cases
pack.pngconcepts or replacements for mods, datapacks, or resource packs- Release-banner art for GitHub, Modrinth, CurseForge, or social posts
- Texture look-dev references that will be cleaned up manually into final pixel art
- Server logos, banners, splash artwork, or rules-screen art
- HUD/menu mockups for plugin or mod UX planning
- Promo sheets that show blocks, mobs, or themed environments in-context
Workflow
- Use the request to identify the asset type, target dimensions, output path, and whether this is a generation or edit. Inspect the existing image for an edit; gather style references only when needed.
- Generate the requested asset using the available tool. Describe the subject, composition, Minecraft style, and constraints. For an edit, state the change and what must remain unchanged.
- Inspect the result at its intended display size. Correct observed defects with focused edits; do not require additional rounds when the result meets the request.
- Save or return the requested result and verify any saved path. Complete pixel cleanup, tiling, and pack references when integration is in scope. Additional skills are optional.
Asset-Specific Guidance
Pack Icons
- Design for square cropping and tiny-size readability.
- Keep the silhouette bold and text minimal.
- Check readability at
64x64; that is a useful preview size, not a requiredpack.pngresolution. Use the project's target dimensions and the host's supported image-editing workflow.
Texture Concepts
- Ask for flat, front-on presentation with even lighting and minimal perspective.
- State whether the texture should feel vanilla-faithful, noisy/gritty, hand-painted, or stylized.
- Assume manual cleanup before shipping. Generated textures are best used as concept or paint-over references, not automatic drop-ins.
UI Mockups
- Reserve negative space for labels, slots, and status text.
- Keep text large and high-contrast.
- Call out whether the mockup should feel vanilla, modded-tech, fantasy, or admin-panel inspired.
Promo Art and Thumbnails
- Leave copy-safe negative space for release titles or taglines.
- Avoid tiny text and clutter that will collapse on mobile or store cards.
- Specify whether the output should show gameplay-like framing, hero artwork, or a clean showcase layout.
Review Checklist
- The image reads clearly at the actual target size.
- Any text is spelled correctly and positioned as requested.
- No extra logos, watermarks, or unrelated objects were introduced.
- The style matches the requested Minecraft context.
- For texture concepts, the result looks easy to paint over, simplify, or tile manually.
Files (minecraft-agent-skills)
-
references
-
asset-recipes.md 3 KB
# Minecraft Image Asset Recipes Load this file when the user names a specific asset type and you need a sharper handoff recipe, naming convention, or review target. ## Quick Map | Asset type | Bias | Review target | Notes | |---|---|---|---| | `pack.png` icon | Strong silhouette, simple square composition | Reads cleanly at `64x64` | Use the project's requested dimensions and destination | | Release banner | Hero scene plus copy-safe negative space | Works on desktop and mobile crop | Save extra source/composed versions only when useful to the requested handoff | | Thumbnail/store card | Central focal point, high contrast | Still legible in feed or marketplace grids | Keep text minimal | | Texture concept | Flat material study | Easy to repaint into `16x16`, `32x32`, or `64x64` | Treat as concept, not final asset | | Server banner/header | Branding plus environmental cue | Still reads when cropped wide | Avoid dense scene clutter | | UI mockup | Clear panel hierarchy | Space remains for real UI elements | Keep typography flexible | ## `pack.png` Recommended filenames: - `pack-icon-concept-a.png` - `pack-icon-concept-b.png` - `pack.png` for the final when that destination was requested Recipe: 1. Generate one square asset with a strong subject, or multiple concepts when alternatives were requested. 2. Down-select based on tiny-size readability, not only full-size detail. 3. Keep decorative text out unless the brand absolutely requires it. 4. Save the result into the requested destination. A clear request to replace `pack.png` authorizes that edit without another approval round. ## Release Banner Recommended filenames: - `release-banner-art.png` - `release-banner-composed.png` Recipe: 1. Ask for a wide composition with explicit negative space for title text. 2. Prefer one clear hero subject or scene instead of several equal focal points. 3. If final text is still unsettled, save art-only and overlay text later. ## Thumbnail or Store Card Recipe: 1. Optimize for quick scanning at small size. 2. Use one dominant color story and one dominant subject. 3. Avoid dense paragraphs or interface text inside the generated image. ## Texture Concept Recommended filenames: - `ore-texture-concept-v1.png` - `machine-casing-lookdev.png` Recipe: 1. Keep the image flat, front-on, and lighting-neutral. 2. Ask for material qualities, not scene storytelling. 3. When pack integration is in scope, complete the pixel cleanup, tiling, and file references; otherwise deliver the concept as requested. ## Server Banner or Header Recipe: 1. Call out the server tone explicitly: cozy SMP, competitive PvP, fantasy RPG, tech network, etc. 2. Reserve one side for logo or server name. 3. Ask for a composition that survives wide crop and partial mobile crop. ## UI Mockup Recipe: 1. Identify whether the deliverable is background art, a full mockup, or a visual direction sample. 2. Leave generous blank regions for slots, labels, and action buttons. 3. If the design may become code later, keep layout logic simple and repeatable. -
prompt-patterns.md 3.4 KB
# Minecraft Image Prompt Patterns Load this file when the request needs a stronger prompt shape than the base `SKILL.md` workflow provides. Keep prompts specific, but do not over-specify every surface if the user asked for a fast concept pass. ## Base Spec Use this template when translating a loose request into a structured prompt: ```text Use case: <pack-icon | texture-concept | promo-art | server-banner | ui-mockup> Asset target: <where the image will ship> Minecraft context: <vanilla-faithful | modded industrial | fantasy server | etc.> Primary subject: <main thing to show> Important details: <must-show motifs, mobs, blocks, items, biome cues> Composition: <square icon | wide banner | flat texture sheet | UI panel background> Palette: <color direction> Style: <pixel-art-inspired | painterly splash art | clean mockup> Keep: <details that must survive revisions> Avoid: <logos, watermarks, clutter, extra text, off-theme props> ``` ## Fresh Generation Pattern Use when there is no source image to preserve. ```text Create a new <asset target> for a Minecraft project. Show <primary subject>. Style: <style>. Composition: <composition>. Palette: <palette>. Constraints: <hard constraints>. Avoid: <negative constraints>. ``` ## Existing Image Edit Pattern Use when there is a local image, concept board, or prior generated asset. ```text Edit the provided image. Change only: <background / palette / specific objects / framing>. Keep unchanged: <logo, silhouette, text layout, main character, icon shape>. Target use: <asset target>. Avoid: <negative constraints>. ``` Focus edit prompts on deltas. Do not restate the entire scene unless the prior result drifted significantly. ## Pack Icon Pattern Use when the final asset must still read at `64x64`. ```text Create a square Minecraft pack icon with a bold central silhouette. Primary subject: <item, mob, biome emblem, or landmark>. Keep the composition simple and readable at tiny size. Use strong contrast and minimal small detail. No text, no watermark, no decorative border unless requested. ``` ## Texture Concept Pattern Use when the image is concept art that will later be simplified manually into a final tile texture. ```text Create a flat front-on texture concept for <block or item material>. No perspective, no scene background, neutral lighting. Make it easy to simplify into a small Minecraft texture later. Style direction: <vanilla-faithful | noisy industrial | magical crystal | etc.>. ``` ## Release Banner Pattern Use when the output needs copy-safe negative space for titles or release text. ```text Create a wide Minecraft release banner for <project>. Show <hero scene>. Leave clean negative space on the <left or right> for title text. Favor a strong focal point and mobile-readable composition. No embedded logo or text unless exact copy was provided. ``` ## UI Mockup Pattern Use when exploring plugin, mod, or server UX without implementing code yet. ```text Create a Minecraft UI mockup background for <screen or panel>. Reserve clear space for <buttons, slots, status text, tabs>. Keep it readable, high-contrast, and aligned to a <vanilla | fantasy | tech> tone. No tiny unreadable labels unless exact text was requested. ``` ## Revision Loop For follow-up turns, change one major variable at a time: - composition - palette - subject emphasis - lighting - background complexity Example: ```text Keep the same icon silhouette and palette. Reduce background detail and make the pickaxe head glow brighter. ```
-
-
scripts
-
scaffold-asset-brief.sh 5.2 KB
#!/usr/bin/env bash set -euo pipefail usage() { cat <<'EOF' Usage: bash ./scripts/scaffold-asset-brief.sh --type <asset-type> --name <slug> [--out <dir>] [--overwrite] Examples: bash ./scripts/scaffold-asset-brief.sh --type pack-icon --name starforge bash ./scripts/scaffold-asset-brief.sh --type release-banner --name skylands --out docs/briefs EOF } TYPE="" NAME="" OUT_DIR="__AUTO__" OVERWRITE=0 SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" SKILL_DIR="$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd -P)" HOME_DIR="" if [[ -n "${HOME:-}" && -d "${HOME:-}" ]]; then HOME_DIR="$(CDPATH= cd -- "$HOME" && pwd -P)" elif [[ -n "${USERPROFILE:-}" && -d "${USERPROFILE:-}" ]]; then HOME_DIR="$(CDPATH= cd -- "$USERPROFILE" && pwd -P)" fi while [[ $# -gt 0 ]]; do case "$1" in --type) TYPE="${2:-}" shift 2 ;; --name) NAME="${2:-}" shift 2 ;; --out) OUT_DIR="${2:-}" shift 2 ;; --overwrite) OVERWRITE=1 shift ;; -h|--help) usage exit 0 ;; *) echo "Unknown argument: $1" >&2 usage >&2 exit 1 ;; esac done infer_workspace_dir() { local cwd local oldpwd local candidate="" if [[ -n "${CODEX_WORKSPACE_ROOT:-}" && -d "${CODEX_WORKSPACE_ROOT:-}" ]]; then printf '%s\n' "$(CDPATH= cd -- "$CODEX_WORKSPACE_ROOT" && pwd -P)" return 0 fi cwd="$(pwd -P)" if [[ "$cwd" != "$SKILL_DIR" && "$cwd" != "$SCRIPT_DIR" && "$cwd" != "$SKILL_DIR/"* ]]; then printf '%s\n' "$cwd" return 0 fi if [[ -n "${OLDPWD:-}" && -d "${OLDPWD:-}" ]]; then oldpwd="$(CDPATH= cd -- "$OLDPWD" && pwd -P)" if [[ "$oldpwd" != "$SKILL_DIR" && "$oldpwd" != "$SCRIPT_DIR" && "$oldpwd" != "$SKILL_DIR/"* ]]; then printf '%s\n' "$oldpwd" return 0 fi fi case "$SKILL_DIR" in */.agents/skills/*|*/.codex/skills/*|*/.claude/skills/*) candidate="$(CDPATH= cd -- "$SKILL_DIR/../../.." && pwd -P)" ;; */plugins/minecraft-codex-skills/skills/*) candidate="$(CDPATH= cd -- "$SKILL_DIR/../../../.." && pwd -P)" ;; esac if [[ -n "$candidate" && -n "$HOME_DIR" && "$candidate" == "$HOME_DIR" ]]; then case "$SKILL_DIR" in "$HOME_DIR/.agents/skills/"*|"$HOME_DIR/.codex/skills/"*|"$HOME_DIR/.claude/skills/"*) candidate="" ;; esac fi if [[ -n "$candidate" && "$candidate" != "$SKILL_DIR" && "$candidate" != "$SCRIPT_DIR" ]]; then printf '%s\n' "$candidate" return 0 fi return 1 } is_absolute_path() { local value="$1" [[ "$value" == /* || "$value" =~ ^[A-Za-z]:[\\/] ]] } resolve_out_dir() { local value="$1" local workspace="" local workspace_file="" if [[ "$value" == "__AUTO__" ]]; then workspace_file="$(mktemp)" if ! infer_workspace_dir >"$workspace_file"; then rm -f "$workspace_file" return 1 fi cat "$workspace_file" rm -f "$workspace_file" return 0 fi if is_absolute_path "$value"; then printf '%s\n' "$value" return 0 fi workspace_file="$(mktemp)" if ! infer_workspace_dir >"$workspace_file"; then rm -f "$workspace_file" echo "Could not infer a project workspace for the relative --out path: $value" >&2 echo "Re-run the command from your project workspace, set CODEX_WORKSPACE_ROOT, or pass an absolute --out path." >&2 return 1 fi workspace="$(cat "$workspace_file")" rm -f "$workspace_file" printf '%s\n' "${workspace%/}/${value#./}" } if [[ -z "$TYPE" || -z "$NAME" ]]; then echo "--type and --name are required" >&2 usage >&2 exit 1 fi slug="$(printf '%s' "$NAME" | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9]+/-/g; s/^-+//; s/-+$//')" if [[ -z "$slug" ]]; then echo "Could not derive a safe slug from --name" >&2 exit 1 fi requested_out_dir="$OUT_DIR" resolved_out_dir="" resolved_out_file="$(mktemp)" if ! resolve_out_dir "$requested_out_dir" >"$resolved_out_file"; then rm -f "$resolved_out_file" if [[ "$requested_out_dir" == "__AUTO__" ]]; then echo "Could not infer a project workspace for the asset brief." >&2 echo "Re-run the command from your project workspace or pass --out <dir> explicitly." >&2 fi exit 1 fi resolved_out_dir="$(cat "$resolved_out_file")" rm -f "$resolved_out_file" OUT_DIR="$resolved_out_dir" mkdir -p "$OUT_DIR" target="${OUT_DIR%/}/${slug}-asset-brief.md" if [[ -e "$target" && "$OVERWRITE" -ne 1 ]]; then echo "Refusing to overwrite existing file: $target" >&2 echo "Pass --overwrite if replacement is intentional." >&2 exit 1 fi cat >"$target" <<EOF # ${NAME} Asset Brief - Asset type: ${TYPE} - Slug: ${slug} - Owner: <project or repo name> - Final path: <where the approved asset should live> ## Goal <What should this image accomplish?> ## Minecraft Context <Vanilla-faithful, modded tech, fantasy RPG server, etc.> ## Primary Subject <Main subject or focal point> ## Must Keep - <Details that should survive revisions> ## Avoid - <Watermarks, extra logos, clutter, off-theme props> ## Composition <Square icon, wide banner, flat texture sheet, mockup panel, etc.> ## Palette <Color direction> ## Text <Exact text if any, or state "none"> ## Review Notes - Tiny-size readability: - Mobile crop concerns: - Handoff target: EOF echo "Wrote $target"
-
-
SKILL.md 5.6 KB
--- name: minecraft-imagegen description: "Generate or edit Minecraft raster assets such as pack icons, promo art, concept textures, thumbnails, banners, and UI mockups. Use when the deliverable is a bitmap image rather than JSON, SVG, or code-native assets." --- # Minecraft Image Generation Skill Use this skill when a Minecraft project needs new raster art or a visual concept that will later be refined into a resource pack, release post, store listing, or server brand asset. ## Scope ### Routing Boundaries - `Use when`: the task is generating or editing a bitmap image for a Minecraft project, such as `pack.png`, release art, store thumbnails, concept textures, UI mockups, or server/banner art. - `Do not use when`: the task is deterministic resource-pack implementation work such as `pack.mcmeta`, block/item model JSON, blockstates, fonts, sounds, or shader files (`minecraft-resource-pack`). - `Do not use when`: the task is vector/code-native UI, an existing SVG/logo system, or non-image code/assets. - `Do not use when`: the current host does not expose built-in image generation or an equivalent image-editing tool. ### References - Read [prompt patterns](references/prompt-patterns.md) for an underspecified request or a generation/edit prompt template. - Read [asset recipes](references/asset-recipes.md) for a pack icon, release banner, server header, or texture concept sheet. - Use `scripts/scaffold-asset-brief.sh` only when a saved brief is useful for stakeholder feedback or repeated rounds; a clear image request can proceed directly. - Invoke the helper by its absolute installed path from the project workspace. Relative `--out` values resolve from that workspace. When running from the installed skill directory, pass an absolute `--out` project path or set `CODEX_WORKSPACE_ROOT`. --- ## Default Execution - If the current host does not expose built-in image generation or an equivalent image-editing tool, stop and tell the user this skill is unavailable on that host; offer prompt/brief preparation or a host with an available image-generation tool. - Use the built-in `image_gen` tool by default when the host supports it. - Match the requested deliverable: complete a requested asset, or produce concepts when the user asks for exploration. Do not require a separate concept approval for a clear generation or edit request. - The built-in image generation workflow supports fresh generations and edits against existing local/reference images; prefer that over describing a manual paint-over process. - Save a requested project asset at the intended workspace path when the host exposes the output file; otherwise return the generated image and state that a local save could not be verified. - Preserve existing assets non-destructively by using versioned filenames unless the user explicitly asked to overwrite. - If editing a local image, load or attach it first so the image is visible to the agent before requesting an edit. --- ## Good Use Cases - `pack.png` concepts or replacements for mods, datapacks, or resource packs - Release-banner art for GitHub, Modrinth, CurseForge, or social posts - Texture look-dev references that will be cleaned up manually into final pixel art - Server logos, banners, splash artwork, or rules-screen art - HUD/menu mockups for plugin or mod UX planning - Promo sheets that show blocks, mobs, or themed environments in-context --- ## Workflow 1. Use the request to identify the asset type, target dimensions, output path, and whether this is a generation or edit. Inspect the existing image for an edit; gather style references only when needed. 2. Generate the requested asset using the available tool. Describe the subject, composition, Minecraft style, and constraints. For an edit, state the change and what must remain unchanged. 3. Inspect the result at its intended display size. Correct observed defects with focused edits; do not require additional rounds when the result meets the request. 4. Save or return the requested result and verify any saved path. Complete pixel cleanup, tiling, and pack references when integration is in scope. Additional skills are optional. --- ## Asset-Specific Guidance ### Pack Icons - Design for square cropping and tiny-size readability. - Keep the silhouette bold and text minimal. - Check readability at `64x64`; that is a useful preview size, not a required `pack.png` resolution. Use the project's target dimensions and the host's supported image-editing workflow. ### Texture Concepts - Ask for flat, front-on presentation with even lighting and minimal perspective. - State whether the texture should feel vanilla-faithful, noisy/gritty, hand-painted, or stylized. - Assume manual cleanup before shipping. Generated textures are best used as concept or paint-over references, not automatic drop-ins. ### UI Mockups - Reserve negative space for labels, slots, and status text. - Keep text large and high-contrast. - Call out whether the mockup should feel vanilla, modded-tech, fantasy, or admin-panel inspired. ### Promo Art and Thumbnails - Leave copy-safe negative space for release titles or taglines. - Avoid tiny text and clutter that will collapse on mobile or store cards. - Specify whether the output should show gameplay-like framing, hero artwork, or a clean showcase layout. --- ## Review Checklist - The image reads clearly at the actual target size. - Any text is spelled correctly and positioned as requested. - No extra logos, watermarks, or unrelated objects were introduced. - The style matches the requested Minecraft context. - For texture concepts, the result looks easy to paint over, simplify, or tile manually. ---
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.