Publish or update a game on Steam with Steamworks and SteamPipe: configure depots and packages, upload builds with steamcmd, set a build live on a branch, and run the release checklists.

Apache-2.0Auto-check passedProduct & Project Management

Install Steam Publish

skills CLI
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill steam-publish -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills steam-publish --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/workflows/steam-publish .claude/skills/steam-publish && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
steam-publish
GitHub stars
1.4k
Token cost
~2.3k tokens
SKILL.md length
942 words
Files
2 (incl. references)
Skills in repo
53
Repo updated
First seen
Licence
Apache-2.0

At a glance

Publish or update a game on Steam with Steamworks and SteamPipe: configure depots and packages, upload builds with steamcmd, set a build live on a branch, and run the release checklists.

  • Works in 4 steps: SteamPipe ContentBuilder layout… → Minimal app build script —… → Upload the build (Windows; substitute… → …
  • Steam publishing
  • SKILL.md covers When to use, Prerequisites (do these once,…, Core workflow and Patterns, plus 3 more sections
  • Reaches partner.steamgames.com

What it does

Steam Publish is an agent skill from gamedev-skills/awesome-gamedev-agent-skills. Publish or update a game on Steam with Steamworks and SteamPipe: configure depots and packages, upload builds with steamcmd, set a build live on a branch, and run the release checklists. Use for Steam publishing, appbuild.vdf/steamcmd uploads, depots, beta branches, or a store page release.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/steampipe-build-scripts.md`).

It sits in Product & Project Management, covering Feature launches and release readiness. The repository describes itself as: 74 game-dev skills for AI coding agents — Godot, Unity, Unreal, Phaser, PixiJS, three.js, Bevy, pygame, LÖVE, Roblox. Portable SKILL.md Agent Skills (the format Anthropic… The licence is Apache-2.0.

When your agent uses it

  • Steam publishing
  • Appbuild.vdf/steamcmd uploads
  • A store page release

Example prompts

  • “/steam-publish”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. SteamPipe ContentBuilder layout (Steamworks SDK)
  2. Minimal app build script — app_build_1000.vdf
  3. Upload the build (Windows; substitute the platform builder elsewhere)
  4. Iterate safely with a preview build (uploads nothing)

What it can do on your machine

Read from SKILL.md and the folder at commit 0a70cfc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bat).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • partner.steamgames.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Steam Publish loads about 2.3k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 77 tokens; SKILL.md has 942 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~77
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gamedev-skills/awesome-gamedev-agent-skills at commit 0a70cfc, republished under its Apache-2.0 licence (© gamedev-skills). 942 words, ~2,333 tokens.

Download SKILL.mdSave it as .claude/skills/steam-publish/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
steam-publish
description
Publish or update a game on Steam with Steamworks and SteamPipe: configure depots and packages, upload builds with steamcmd, set a build live on a branch, and run the release checklists. Use for Steam publishing, app_build.vdf/steamcmd uploads, depots, beta branches, or a store page release.

Steam Publish (Steamworks + SteamPipe)

Take a finished build to a live Steam store page. Two tracks run in parallel and both must be approved before release: the store page (presence) and the build (SteamPipe upload + the release checklists). This skill is the operational checklist; deep build-script, CI/CD, and troubleshooting detail lives in references/steampipe-build-scripts.md.

When to use

  • Use when setting up a Steam app, building/editing the store page, configuring depots and packages, uploading a build via SteamPipe/steamcmd, managing beta branches, or releasing and updating a Steam title.
  • Triggers: steam_appid.txt, the Steamworks SDK tools/ContentBuilder, app_build_*.vdf, steamcmd, "publish on Steam", "depot", "set build live".

When not to use: publishing on itch.io (use itch-publish); writing the Steamworks API in-game (achievements/cloud/overlay live in engine SDK integrations, not here); store/financial advice (pricing strategy, tax) — direct the user to Steamworks docs and their own counsel.

Prerequisites (do these once, in order)

  1. Partner account + Steam Direct fee. Each new app requires the Steam Direct recoupable fee (USD $100 per app at time of writing). You receive an App ID — find it on your Steamworks homepage. Treat the App ID as the key to everything below. For your first few titles, Valve also enforces a 21-day wait between paying the app fee and releasing that game, so pay it well before the planned launch date.
  2. A dedicated build account with least privilege. Builds require a Steam account in your partner group with Edit App Metadata and Publish App Changes To Steam. Create a separate build account with only those permissions (not your admin login). Releasing the app additionally needs Manage pricing and discounts.
  3. Download the Steamworks SDK on the upload machine. The SteamPipe tools are under tools/ContentBuilder/.

Security note: never commit account passwords or the config.vdf login token to the repo. See the CI/CD section in the reference for the supported token workflow.

Core workflow

  1. Configure the app (App Admin).
    • Set launch options (executable path + args per OS) under Installation. For a sub-folder exe, put the sub-folder in the Executable field — no leading slashes/dots.
    • Add depots on the Depots page (a depot is a bucket of files). Name each depot ("Base Content", "Windows Content"). Leave [All languages] / [All OSes] unless the depot is genuinely OS- or language-specific.
    • Grant yourself the depots: add them to your Developer Comp package on the Associated Packages & DLC page, or you won't own the content you upload.
    • Publish the configuration. Unpublished config is the most common cause of upload failures.
  2. Build the store page (presence track). Fill graphical assets, description, tags, trailers, system requirements. When complete, click Mark as ready for review. Store review takes ~3-5 business days; submit at least 7 business days before you want it live. It must be in Coming Soon for at least 2 weeks before release.
  3. Create your build scripts. Start with the simple app-build .vdf in Patterns below; for multi-depot/multi-platform apps use depot scripts (see the reference). The script maps local files into depots and names where build output/logs go.
  4. Bootstrap steamcmd and upload. Run steamcmd once to self-update, then run the build (Patterns). steamcmd chunks files (~1 MB), uploads only changed chunks, and registers a global BuildID.
  5. Set the build live on a branch. Go to https://partner.steamgames.com/apps/builds/<AppID>, pick the build, Preview Change, then Set Build Live Now for a branch. Test on a beta branch first (see references/steampipe-build-scripts.md for branch setup).
  6. Run the Game Build checklist and Mark as ready for review (store presence must be submitted before the build review). Both tracks must be approved.
  7. Release manually. When approved and Coming Soon has run its time, use the green Release App button → Publish Now → Release Now. Approved titles do not release themselves.
  8. Update later by uploading a new build and setting it live on default (manually) or shipping to a beta branch first. See references/steampipe-build-scripts.md.
Show full SKILL.md (301 more words)Show less

Patterns

1. SteamPipe ContentBuilder layout (Steamworks SDK)
text
tools/ContentBuilder/
  builder/         steamcmd.exe (Windows)   <- run once to bootstrap
  builder_linux/   steamcmd (Linux)
  builder_osx/     steamcmd (macOS)
  content/         <- your final, runnable build goes here (the files players get)
  output/          build logs + chunk cache (safe to delete; speeds up re-uploads)
  scripts/         <- your *.vdf build scripts live here
2. Minimal app build script — app_build_1000.vdf
text
// AppID 1000 with one depot (1001): upload everything under ../content recursively.
// VDF is Valve KeyValues: "key" "value", braces for nesting. Adjust IDs to your app.
"AppBuild"
{
    "AppID"       "1000"                 // your App ID
    "Desc"        "1.0.0 launch build"   // internal only; visible in Your Builds

    "ContentRoot" "..\content\"          // root of files to upload (relative to this file)
    "BuildOutput" "..\output\"           // logs + chunk cache

    "Depots"
    {
        "1001"                           // your Depot ID
        {
            "FileMapping"
            {
                "LocalPath"  "*"         // all files from ContentRoot
                "DepotPath"  "."         // mapped to the depot root
                "recursive"  "1"         // include subfolders
            }
        }
    }
}
3. Upload the build (Windows; substitute the platform builder elsewhere)
bat
REM Run from the SDK. Bootstrap once, then build. Use a build account, not your admin login.
tools\ContentBuilder\builder\steamcmd.exe ^
  +login <build_account> <password> ^
  +run_app_build ..\scripts\app_build_1000.vdf ^
  +quit
text
What happens: steamcmd self-updates -> logs in -> for each depot, hashes files into ~1 MB
chunks -> uploads only NEW chunks -> writes a depot manifest -> finishes with a global
BuildID. The build is NOT live yet; set it live per the workflow above.
4. Iterate safely with a preview build (uploads nothing)
text
// Add to the AppBuild block to validate file mappings without uploading:
"Preview" "1"     // outputs logs + a file manifest into BuildOutput only
// And to auto-set live on a BETA branch after a successful build (never 'default'):
"SetLive" "beta-qa"

Pitfalls

  • The default branch cannot be set live automatically. SetLive only works for a beta branch; you must set the default (customer) build live by hand in App Admin. Plan releases around this.
  • Store page must be approved before the build. You cannot submit the build for review until store presence is submitted; both must pass, and Coming Soon must run ~2 weeks.
  • Titles never auto-release. Even after approval, a human must click Release App at the chosen moment.
  • Mac/Linux install nothing. Almost always: the OS-specific depots aren't in the package. Add every depot to the package on Associated Packages & DLC.
  • Unpublished app config. "Failed to get application info" / build errors usually mean depots, launch options, or the App ID config were never Published.
  • status = 6 on build. The build account lacks permission for the App ID, or ContentRoot/LocalPath points at the wrong (empty) path.
  • Committing the login token. The config.vdf Steam Guard token and account password are secrets. Keep them out of the repo; use the CI workflow in the reference.
  • Released-app safety delay. Changing the build account's email/phone forces a 3-day wait before you can set a build live for a released app — don't reconfigure the account right before launch.

References

  • For advanced multi-depot/multi-platform build scripts, FileExclusion/FileProperties, beta-branch setup, the CI/CD login-token workflow, and the SteamPipe troubleshooting table, read references/steampipe-build-scripts.md.
  • Primary docs: Steamworks "Uploading to Steam" (partner.steamgames.com/doc/sdk/uploading), "Release Process" (/doc/store/releasing), "Branches (Betas)" (/doc/store/application/branches), "Depots" (/doc/store/application/depots), "Onboarding" (/doc/gettingstarted/onboarding, first-title waiting periods), "Review Process" (/doc/store/review_process).
  • itch-publish — the same game shipped on itch.io with butler (often done alongside Steam).
  • game-jam / prototype-fast — earlier stages of the same project's lifecycle.

© gamedev-skills, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/workflows/steam-publish of gamedev-skills/awesome-gamedev-agent-skills.

  • SKILL.md
  • references/steampipe-build-scripts.md

Open the folder on GitHubat commit 0a70cfc

Compare with similar skills

Steam Publish next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Steam Publish compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Steam Publish this skillgamedev-skills/awesome-gamedev-agent-skills1.4k—~2.3kAutomated safety check: PassApache-2.0
.NET MAUI Release Readinessdotnet/maui23k—~15kAutomated safety check: PassMIT
Release ValidationMesh-LLM/mesh-llm3.5k—~2.6kAutomated safety check: PassApache-2.0
Final Release Reviewopenai/openai-agents-python30k—~5.4kAutomated safety check: PassMIT
Final Release Reviewopenai/openai-agents-js3.9k—~4kAutomated safety check: PassMIT
Acceptance Demo GeneratorChachamaru127/claude-code-harness3.2k—~3.4kAutomated safety check: NotesMIT

Similar skills

  • Official

    Produces evidence-backed ship-readiness verdicts for .NET MAUI Servicing Releases and Previews, and drafts public-safe release handoff pages from the result.

    23k GitHub stars~15k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Release Validation

    Mesh-LLM/mesh-llm

    A skill your agent uses when validating a MeshLLM release candidate or current HEAD against the last GitHub release, assembling the canonical feature/fix/modification inventory, testing locally…

    3.5k GitHub stars~2.6k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Final Release Review

    openai/openai-agents-python

    Official

    Assess a Python SDK release candidate or release plan against the previous release and recommend ship or block.

    30k GitHub stars~5.4k tokensUpdated 2 days ago
    Product & Project ManagementAuto-check passed
  • Final Release Review

    openai/openai-agents-js

    Official

    Assess a JS SDK release candidate or release plan against the previous release and recommend ship or block.

    3.9k GitHub stars~4k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Acceptance Demo Generator

    Chachamaru127/claude-code-harness

    Renders a single HTML page showing each acceptance criterion as verified or not, with a ship, wait, or reject recommendation for non-engineers.

    3.2k GitHub stars~3.4k tokensUpdated 6 days ago
    Product & Project ManagementAuto-check: notes
  • Schematic

    blader/schematic

    Reverse engineer a detailed product and technical specification document from a git branch's implementation.

    241 GitHub stars~2.2k tokensUpdated 7 mo ago
    Product & Project ManagementAuto-check passed

More from gamedev-skills/awesome-gamedev-agent-skills

All 53 skills in this repo
  • Create Game Assets

    gamedev-skills/awesome-gamedev-agent-skills

    Plan, generate, source, normalize, and validate cohesive visual game assets.

    1.4k GitHub stars~2k tokensUpdated 2 days ago
    Auto-check passed
  • Roblox UI

    gamedev-skills/awesome-gamedev-agent-skills

    Build production Roblox interfaces with ScreenGui/PlayerGui lifecycle, responsive UDim2 layouts, safe insets, reusable editable Instances, cross-device input and selection, restrained motion…

    1.4k GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • AI Behavior Trees Utility AI

    gamedev-skills/awesome-gamedev-agent-skills

    Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators) and a Utility AI system (response curves — linear, exponential…

    1.4k GitHub stars~2k tokensUpdated 2 days ago
    Auto-check passed
  • Bevy Ecs

    gamedev-skills/awesome-gamedev-agent-skills

    Structure a Bevy app around its Entity Component System: build the App with plugins, define Component/Resource types, write systems with Query/Res/Commands, filter and order systems, and use the…

    1.4k GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Card Game

    gamedev-skills/awesome-gamedev-agent-skills

    Build a card game: card data, deck/hand/discard zones, draw/shuffle/reshuffle, a turn structure, costs, and effect resolution.

    1.4k GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Fps Shooter

    gamedev-skills/awesome-gamedev-agent-skills

    Build a first-person shooter: move+mouse-look controller, hitscan or projectile shooting, weapons, health, and enemy AI.

    1.4k GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed

Questions about Steam Publish

What does Steam Publish do?

Publish or update a game on Steam with Steamworks and SteamPipe: configure depots and packages, upload builds with steamcmd, set a build live on a branch, and run the release checklists. Steam Publish is an agent skill from gamedev-skills/awesome-gamedev-agent-skills. Publish or update a game on Steam with Steamworks and SteamPipe: configure depots and packages, upload builds with steamcmd, set a build live on a branch, and run the release checklists.

When should I use Steam Publish?

Steam Publish fits situations like: steam publishing; appbuild.vdf/steamcmd uploads; A store page release.

How do I install Steam Publish in Claude Code?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill steam-publish -a claude-code`. Or copy the skill folder (skills/workflows/steam-publish in gamedev-skills/awesome-gamedev-agent-skills) into .claude/skills/steam-publish in your project. Claude Code loads it when a task matches its description.

How do I install Steam Publish in Codex?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill steam-publish -a codex`. Or copy the skill folder (skills/workflows/steam-publish in gamedev-skills/awesome-gamedev-agent-skills) into .agents/skills/steam-publish in your project. Codex loads it when a task matches its description.

Can I use Steam Publish in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill steam-publish -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/steam-publish, .gemini/skills/steam-publish, .github/skills/steam-publish and .opencode/skills/steam-publish in your project.

What does Steam Publish need to run?

SKILL.md names no scripts, command-line tools or credentials: Steam Publish is instructions for the agent only.

Does Steam Publish access the network?

SKILL.md names 1 domain. In commands or code: partner.steamgames.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Steam Publish safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Steam Publish use?

Steam Publish is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Steam Publish use?

About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.

What are the alternatives to Steam Publish?

Skills that share tags, products or a category with Steam Publish: .NET MAUI Release Readiness (dotnet/maui, 23k stars), Release Validation (Mesh-LLM/mesh-llm, 3.5k stars), Final Release Review (openai/openai-agents-python, 30k stars) and Final Release Review (openai/openai-agents-js, 3.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Steam Publish?

gamedev-skills (a GitHub organization) maintains it in gamedev-skills/awesome-gamedev-agent-skills, which has 1,389 GitHub stars. The repository holds 53 skills in this directory. The repository was last updated on October 9, 2026.

Source: gamedev-skills/awesome-gamedev-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.