scenario-game-assets
Use when creating game art through Scenario MCP: sprites, sprite sheets, icons, props, loot, tilesets and autotile terrain transitions, seamless tiles, isometric buildings, top-down maps, pixel art, UI buttons and panels, parallax background layers or depth planes for side-scrollers, and character o…
Install / Use
npx skills add scenario-labs/skills --skill scenario-game-assetsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
OtherSupported Platforms
Our assessment of scenario-game-assets
scenario-game-assets scores 86/100 on our quality scale, 160th of 293 Other skills we index.
Its SKILL.md is 17 KB long, well organised into 10 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 1,048 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 8 days ago, so scenario-game-assets is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
scenario-game-assets compared with similar skills
All 4 of these similar skills score higher than scenario-game-assets; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| scenario-game-assets (this skill)by scenario-labs | 86 | 1.0k | 8d ago | SKILL.md |
| headroomby headroomlabs-ai | 100 | 78.0k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 104.1k | 2d ago | MCP Server |
| Scraplingby D4Vinci | 100 | 89.9k | 1d ago | MCP Server |
| crawl4aiby unclecode | 100 | 86.4k | today | MCP Server |
Frequently asked questions
- How do I install scenario-game-assets?
- Run
npx skills add scenario-labs/skills --skill scenario-game-assets. The install tabs above show the steps for each supported agent. - Which AI agents does scenario-game-assets work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is scenario-game-assets safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is scenario-game-assets still maintained?
- The repository was last updated 8 days ago, so scenario-game-assets is actively maintained.
Skill content
View source on GitHubname: scenario-game-assets description: "Use when creating game art through Scenario MCP: sprites, sprite sheets, icons, props, loot, tilesets and autotile terrain transitions, seamless tiles, isometric buildings, top-down maps, pixel art, UI buttons and panels, parallax background layers or depth planes for side-scrollers, and character or concept art; or when assets need transparent backgrounds, background removal, style-consistent variation batches, upscaling, pixel-grid cleanup, or PNG export for Unity, Godot, or Unreal." license: MIT
Scenario Game Assets
Overview
Scenario's public catalog carries purpose-trained models per asset type (sprites, icons, props,
tilesets, isometric scenes, pixel art, concept art) plus utilities for background removal,
upscaling, and pixel cleanup. Discover by asset type, inspect the schema, generate, post-process,
export. A sheet whose cells are one character's animation frames, and any walk cycle, loop, or GIF,
belongs to scenario-sprite-animation. Connection and core loop: see the scenario skill. If a
sibling skill named here is missing from your available skills, ask the user to install it
(npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and
flag the gap.
Quick reference
| Task | Call |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| Find a model by asset type | recommend with the asset need in the user's own words (sprite, game icon, tileset, isometric, pixel art); search is for a member known by name |
| Inspect inputs | model_schema_get (always before model_run) |
| Generate | model_run (dry_run=true prices a batch; wait=false in waves under the concurrency ceiling, relaunching 429-refused ones), then jobs_wait |
| Transparent background | recommend for a native-alpha generator first; else for background removal on the asset |
| Upscale or enhance | recommend for upscaling (2x to 16x tools exist) |
| Pixel-art cleanup | recommend for cleanup (grid snapping, palette reduction) |
| Parallax background planes | Split a painted background with the layer tool (recommend, capability: "img2img"), or generate one plane per run; see Parallax backgrounds |
| Export for an engine | asset_download with format="png" |
Worked example: a transparent potion icon set
Request: "four style-matched potion icons with transparent backgrounds for an RPG inventory."
recommendwith the user's own words asprompt, then pick bynext_step(seescenario); catalogs differ per team, so never hardcode model IDs. Settle transparency here, before anything runs: prefer a member whoserecommendentry or schema says it outputs alpha, since it makes the icons transparent at the source and skips a billed removal pass per icon; treat any other pick as opaque.model_schema_getmodel_id="<picked id>". Note the prompt field, size fields, and any sample-count parameter.model_runparameters={"prompt": "health potion, corked glass bottle, glowing red liquid, bold outline, centered, plain background"} (a plain field cuts cleanly in a removal pass; a native-alpha model wants the subject alone, never the word transparent). The schema's sample-count parameter repeats one prompt for variants of one item; different items are separate runs varying only the item ("mana potion", "stamina potion") with the wording template fixed. Price withdry_run=truefirst (one dry run prices one leg; multiply across the batch), then launch withwait=false.jobs_waitjob_ids=["<returned job_id>"] (up to 32 ids, one call covers the batch); on timeout re-call with the returnedpending_job_ids, never a secondmodel_run. Thenasset_displayto review, oneasset_idper call.- Transparency, only for an opaque pick:
recommendfor background removal (Photoroom, Pixelcut, 851 Labs at authoring time),model_schema_getthe pick, thenmodel_runwith its image field set to the generated asset id. - Optional: upscale keepers (
recommendfor upscaling,model_schema_getas always; upscalers go 2x to 8x and beyond). asset_downloadasset_id, format="png" (PNG keeps alpha). Follow redirects:curl -L -o potion.png "<url>".
Style consistency
- The cheap levers first: reuse one
seedacross the batch, and pin the model's prompt-expansion flag off where the schema has one; an expander rewrites each prompt independently and defeats a fixed template. - Reference images:
upload_assetthe art direction images, then pass the asset ids (never local paths) to the model's image or reference parameters. asset_describeextracts a reusable style synthesis (billed;dry_run: trueinsideparametersestimates). Discover withscenario_tools_search; use itspermissionto choose the executor for estimates and runs (seescenario).searchtarget="assets" images={like: ["asset_..."]} finds assets already matching the target look.- For a locked-in project style, train a custom LoRA on the project's own art (the
scenario-model-trainingskill); trained models use the same generation loop.
Preparing a variation-batch reference
Restyling one approved component into a set (button, panel, popup well, icon family) fails on the reference more often than the prompt: the model treats everything composited onto the object as the object.
- Crop to the object's own bounds. Transparent padding reads as composition: scale and offset drift every run, so sprite-measuring code gets a different box. Trim the alpha, generate, re-pad to a fixed canvas. When the model's supported aspect ratios exclude the source's, aspect also drifts per run; reconcile UI components with a nine-slice-aware rescale (stretch middle bands, keep corners and lettering undistorted) before re-padding.
- Strip baked effects before generating. A drop shadow, outer glow, or bevel in the reference reads as silhouette and comes back thickened, doubled, or fused to the object. Feed flat art and re-apply the effect in engine, where it stays adjustable. For a final PNG matching a shadowed source, lift the source's effect layer by alpha (on a transparent source the shadow is semi-transparent and the object opaque, but so is the object's antialiased rim: take the shadow as the semi-transparent pixels outside a 1 to 2 px dilation of the opaque mask, and keep the rim with the object) and composite it under each output.
- Say which parts are functional. A nine-slice panel needs stretchable middles and fixed corners; diffusion has no concept of either. Name the constraint in the prompt, then check that it held.
- One object, plain field, no scene. Several objects in one reference get recombined into a hybrid.
- Check the alpha edge on any transparent output. Removed shadows leave a semi-transparent fringe; native-alpha models can ship a large semi-transparent glow around the object. Both read as a halo on a colored UI background. Check interior alpha too: a native-alpha model can punch one item's see-through surface (empty glass) to alpha 0 while painting the next item's opaque, so the set disagrees in an engine slot.
Verify the set by measurement, not by eye: compare each output's alpha bounding box against the source before accepting the batch.
Isometric tiles and masked fills
Choose the grid before the style. A 2:1 diamond is a common game projection; a projected hex is a different footprint. Share one projection, placement anchor, light direction, and shadow side across a set. A tile's ground footprint is not its full sprite silhouette: trees and buildings rise above it and may overlap the tile behind. Never clip a tall object through the ground mask. Check a small assembled map for joins, path connections, occlusion, and visual quality before scaling the batch; a clean alpha boundary alone is not acceptance.
Use the isometric template guide to choose a neutral ground or slab
reference and separate ground, side, and object regions. The
JSON manifest records their geometry, filenames, and source hashes. The
template builder, run by a maintainer or an agent needing
local geometry, creates the PNGs and manifest. It generates geometry only, not finished game art.
Keep the geometry reference separate from the approved style reference; neutral geometry must not
force a palette or faceted look. Resolve uploaded assets and publish new versions through the
scenario skill's shared asset lifecycle; upload local
inputs only when no matching asset is accessible.
Dedicated isometric members exist in the public catalog. recommend with the user's tile need, then
model_schema_get. Read the reference, mask, seed, and strength fields instead of assuming they
exist or that low strength preserves geometry: conventions vary. Keep the camera and lighting
wording fixed while varying the subject. Reuse a seed only when supported. If the model drifts in
projection or light despite a consistent reference, use scenario-consistency, then consider
scenario-model-training on approved tiles.
For a ground fill or content explicitly bounded to a shape, use masked img2img. If the specialty
pick has no mask field, recommend again with capability: "img2img" and the mask need. Read mask
polarity and any required base-image field from model_schema_get (scenario-image covers
model-specific conventions). Template region images are white inside; adapt them to the model's
convention, including alpha if required. The base canvas must match the mask dimensions and
placement; an approved style reference does not replace it. When that canvas is opaque, preserve its
background during the edit: asking for transparent output simultaneously contradicts the
protected-canvas constraint. Extract transparency afterward. Use the ground region for terrain, and
the taller object region for trees or buildings; the latter is editing space, never a final
silhouette mask.
Run one tile first. Measure changes outside the edit region against the source canvas and inspect the result. A few-pixel overrun on a deliberately bounded ground fill can be clipped to its mask; extensive drift needs diagnosis of polarity, base canvas, and consumed references before retrying. For taller sprites, preserve the object silhouette with native alpha or background removal and verify the ground anchor separately. A deterministic ground mask cannot repair a wrong camera or a poor composition.
A "low-poly" look and a low-poly mesh are different deliverables. The look is a 2D style word on an
image model. The mesh is scenario-3d: whether the image-to-3D pick (recommend,
capability: "img23d") exposes a polycount target or a topology choice is read off
model_schema_get, never assumed, and when it exposes neither a separate remesh utility (its own
billed run, found with recommend, capability: "3d23d") brings the count down afterwards. Either
way the concept image feeding it wants flat shading, a clea
Truncated for display — read the full file on GitHub.
Related Skills
headroom
78.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Agent-Reach
104.1kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Scrapling
89.9k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
86.4kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key. Join our Discord https://discord.gg/VuxzM8mtf
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
