itch-publish
Publish and update a game on itch.io: create the project page and upload builds with the butler CLI (butler push) to named channels. Use for itch.io publishing, butler push, channel naming for Windows/macOS/Linux/HTML5, versioning uploads, or shipping a jam or release build to itch.io.
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill itch-publish --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# itch.io Publish (butler) Get a build onto an itch.io page and keep it updated. The page is created in the browser; all uploads go through **butler**, itch.io's command-line tool, with one command you'll use forever: `butler push`. butler diffs against the previous build and uploads only what changed. Deep CI/CD and flag detail lives in `references/butler-ci.md`. ## When to use - Use when creating/updating an itch.io project page, installing or logging in to butler, uploading a build with `butler push`, choosing channel names, versioning uploads, or shipping a jam/demo/release build to itch.io. - Triggers: `butler push`, `butler login`, channels, `.itch.toml`, "publish on itch", "upload to itch". **When *not* to use:** publishing on Steam (use `steam-publish`); jam *scope/planning* (use `game-jam` — this skill is only the upload mechanics); building the game itself (engine skills). ## Core workflow 1. **Create the project page** at `itch.io/game/new`. Set the **Kind of project**: keep *Downloadable* for native builds, or choose **HTML** for a browser-playable game (this is required for web builds — see Pitfalls). Set pricing/visibility (Draft until ready). 2. **Install butler and
- When to use
- Core workflow
- Patterns
- 1. The one command you need — butler push
- 2. Channel naming controls the platform tag (kebab-case, lowercase)
- 3. Version, verify, and preview
- 4. First-time, hidden, and filtered pushes
- Pitfalls
- References
- Related skills
butler push <directory-or-zip> <user>/<game>:<channel> butler push ./build/windows leafy/my-game:windows butler push ./build/mac leafy/my-game:osx butler push ./build/linux leafy/my-game:linux butler push ./web leafy/my-game:html # browser build (also set page Kind = HTML) butler version # print version; confirms install + PATH butler login # authorize this machine (opens browser) Set an explicit version string instead of itch's auto-incrementing integer: butler push ./build leafy/my-game:windows --userversion 1.2.0 butler push ./build leafy/my-game:windows --userversion-file build_number.txt
What does the itch-publish skill do?
Publish and update a game on itch.io: create the project page and upload builds with the butler CLI (butler push) to named channels. Use for itch.io publishing, butler push, channel naming for Windows/macOS/Linux/HTML5, versioning uploads, or shipping a jam or release build to itch.io.
How do I install it?
Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill itch-publish --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From gamedev-skills/awesome-gamedev-agent-skills, a repository with 406 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
