How this skill is triggered — by the user, by Claude, or both
Slash command
/remix:remix-add-imageThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill guides you through generating an AI image and integrating its hosted
This skill guides you through generating an AI image and integrating its hosted
URL into your game HTML. Prefer MCP generateImage, which now generates and
uploads in one step.
IMPORTANT: Do NOT create a new game without checking first.
Use gameId from task context or prior tool results when available.
Otherwise, read the nearest .remix-cli.json. Older projects may still use
.remix-mcp.json. If either contains a gameId, reuse it.
Only if none of those sources contain a gameId should you follow the
upload-game workflow to create one.
Preferred MCP flow:
generateImage({
gameId: "<your-game-id>",
prompt: "a pixel-art treasure chest on a grassy hill",
fileName: "treasure-chest"
})
The tool returns a hosted asset URL directly. No base64 payload and no separate asset-upload step.
If you are writing direct REST calls instead of using MCP, fetch the exact path
and response shape from https://api.remix.gg/docs/json first.
Skip this step when using MCP generateImage; the tool already uploads the
generated image and returns the hosted URL.
For uploading non-image assets (audio, 3D models), see the
remix-upload-assetskill.
Add the asset URL to the game HTML. Size the image to match the game entity it represents -- do not render it at its native resolution. For example, if a treasure chest is a 32x32 tile in your game, draw or display the image at 32x32 regardless of the source image dimensions.
The integration method depends on how the image is used:
As an HTML image element:
<img src="https://returned-asset-url.png" alt="Treasure chest" width="32" height="32" />
As a CSS background:
.game-bg {
background-image: url("https://returned-asset-url.png");
}
As a JavaScript-loaded image (for canvas games):
const img = new Image();
img.src = "https://returned-asset-url.png";
img.onload = () => {
// draw at the entity's size, not the image's native size
ctx.drawImage(img, x, y, entityWidth, entityHeight);
};
const bg = new Image();
bg.src = "https://uploaded-asset-url/background.png";
bg.onload = () => {
function draw() {
ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
// draw game objects on top...
requestAnimationFrame(draw);
}
draw();
};
const spriteSheet = new Image();
spriteSheet.src = "https://uploaded-asset-url/player-sprites.png";
spriteSheet.onload = () => {
// draw a 32x32 frame from the sprite sheet
ctx.drawImage(spriteSheet, frameX, frameY, 32, 32, player.x, player.y, 32, 32);
};
onload before starting the
game loop to avoid flickering or missing assets.npx claudepluginhub matrixy/remix-skills --plugin remixGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Synthesizes the current conversation into a structured spec (PRD) and publishes it to the project issue tracker with a ready-for-agent label, without interviewing the user.