SKILL.md
SpriteCook Upload Assets
Use this skill when a local image file should become a reusable SpriteCook asset_id.
Pair it with spritecook-workflow-essentials for credential safety, manifests, and downstream asset reuse.
Preferred Flow
- Inspect the local file path without printing file bytes.
- Determine
filename, MIME contenttype, optional size_bytes, and whether pixel should be true.
- Call
createassetupload(filename=..., contenttype=..., pixel=..., size_bytes=...).
- Upload the file bytes to the returned
upload_url with HTTP PUT and the returned headers.
- Call
finalizeassetupload(upload_token=...).
- Use the returned
asset_id in the next SpriteCook tool.
The upload URL and token are short-lived secrets. Do not print them in user-facing prose, save them to project files, or include them in manifests.
PowerShell Pattern
On Windows, upload without printing bytes:
Invoke-WebRequest -Method Put -Uri $uploadUrl -InFile $path -ContentType $contentType | Out-Null
Use variables for $uploadUrl, $path, and $contentType; do not echo them if they include the upload token.
When To Use Inline Import
Use import_asset(image=...) only when the image is already a small data URL or base64 value that can be passed directly without logging it.
Do not use shell commands that print base64 to the terminal. If encoding is necessary, store the value in memory or a private variable and pass it directly to the MCP tool.
Reusing Uploaded Assets
- Use
referenceassetid when the uploaded asset is one specific source or context image.
- Use
editassetid only when the uploaded asset is the one image being directly modified.
- Use
styleassetids on generategameart when uploaded assets are ambient style guides; pass up to 10 IDs.
- Use
styleassetid on generate_tileset for one tileset style guide image.
- Use
assetid on animategame_art when the uploaded asset is the source to animate.
Save the returned asset_id and a local file hash in the project manifest when the workspace is writable.