skills/itchio-butler/SKILL.md
--- name: itchio-butler description: Publish and manage game builds on itch.io using the butler CLI. Use when deploying HTML5 games, desktop builds, or Android APKs to itch.io — including first-time auth, channel push, multi-platform releases, and integration with Godot/Unity export pipelines. Triggers: "deploy to itch.io", "publish game", "push to itch", "butler push", "itch.io release", "update itch build". metadata: openclaw: emoji: "🎮" requires: bins: ["butler"] os: ["
npx skillsauth add kjaylee/misskim-skills skills/itchio-butlerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Deploy game builds to itch.io with butler — the official itch.io CLI for fast, delta-compressed uploads.
# Check butler is installed
butler version
# Expected: "head, built on ..."
# If not installed (macOS):
brew install itchio/itchio/butler
# Or download directly:
# https://itchio.itch.io/butler
Butler credentials are stored at:
~/Library/Application Support/itch/butler_creds (macOS)
~/.config/itch/butler_creds (Linux)
butler login
# Opens browser → log in to itch.io → token saved automatically
butler status user/game:channel 2>/dev/null || echo "Not authenticated or game not pushed yet"
butler -i /path/to/butler_creds push ./build user/game:channel
# Syntax
butler push <build_dir_or_zip> <user>/<game>:<channel>
# HTML5 game (folder)
butler push ./dist/web kjaylee/my-game:html5
# Windows build
butler push ./dist/win kjaylee/my-game:windows
# macOS .app (zip first for delta efficiency)
butler push ./dist/mac kjaylee/my-game:mac
# Linux
butler push ./dist/linux kjaylee/my-game:linux
# Android APK
butler push ./dist/android/game.apk kjaylee/my-game:android
# Tag a specific version
butler push ./dist/web kjaylee/my-game:html5 --userversion 1.2.0
# Use git tag as version
butler push ./dist/web kjaylee/my-game:html5 --userversion $(git describe --tags --abbrev=0)
butler push ./dist/web kjaylee/my-game:html5 \
--ignore "*.pdb" \
--ignore ".git*" \
--ignore "*.map"
# Check what's live on a channel
butler status kjaylee/my-game:html5
# Output includes: version, size, build ID, upload date
Use the provided script for consistent multi-platform releases:
bash {baseDir}/scripts/release.sh kjaylee/my-game ./dist 1.2.0
This pushes all present channel directories with version tag and reports status.
# 1. Export HTML5 from Godot (headless, on MiniPC)
godot4 --headless --path ./MyGame --export-release "Web" ../dist/web/index.html
# 2. Push to itch.io
butler push ./dist/web kjaylee/my-game:html5 --userversion 1.0.0
# Or use the combined script:
bash {baseDir}/scripts/godot-to-itch.sh ./MyGame kjaylee/my-game 1.0.0
# 1. Unity WebGL build (assumed already exported)
# Build output: ./Build/WebGL/
# 2. Push WebGL build
butler push ./Build/WebGL kjaylee/my-game:html5 --userversion 1.0.0
# Or use combined script:
bash {baseDir}/scripts/unity-to-itch.sh ./Build/WebGL kjaylee/my-game 1.0.0
# Check build structure (HTML5 must have index.html)
butler validate ./dist/web
# Diff against live (shows what changed without pushing)
butler diff kjaylee/my-game:html5 ./dist/web
| Platform | Channel Name | Notes |
|------------|-------------|-------|
| HTML5/Web | html5 | Must have index.html at root |
| Windows | windows | .exe or folder with .exe |
| macOS | mac | .app bundle (zip for delta) |
| Linux | linux | ELF binary or AppImage |
| Android | android | .apk file |
| Universal | universal | Cross-platform (Godot) |
# Re-authenticate
butler logout && butler login
user/gameindex.html at the root of the web build dirindex.html by default ✓# Increase timeout
butler --context-timeout=60 push ./dist/web kjaylee/my-game:html5
#!/bin/bash
# In GitHub Actions or local CI
VERSION=$(git describe --tags --abbrev=0 2>/dev/null || echo "dev-$(date +%Y%m%d)")
GAME="kjaylee/my-game"
DIST="./dist"
# Push HTML5
if [ -d "$DIST/web" ]; then
butler push "$DIST/web" "$GAME:html5" --userversion "$VERSION" --assume-yes
fi
# Push Windows
if [ -d "$DIST/win" ]; then
butler push "$DIST/win" "$GAME:windows" --userversion "$VERSION" --assume-yes
fi
echo "✅ Released $GAME v$VERSION"
Jay's priority stack: Telegram Mini App → itch.io → Google Play/App Store → Steam
itch.io is the fast, zero-friction distribution channel. Use this skill after:
godot skill builds + exports the gamegame-qa validates the buildNext steps after itch.io: feed the same HTML5 build into a Telegram Mini App (openclaw-tg-canvas skill).
testing
게임 아이디어를 검토해 와우 팩터 5개를 추가하고, 스펙→TC→구현→QA→런칭까지 한 번에 밀어붙이는 일일 게임 런칭 써클. 기존 자동 게임 파이프라인을 대체/승격할 때 사용.
data-ai
Advanced YouTube analysis, transcripts, and metadata extraction.
development
Modern web design engineering skills including design tokens, advanced UI/UX methodologies, accessibility, and game-specific UI patterns. Use for building commercial-grade, performant, and accessible web interfaces.
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".