14 Free Steam Store Publish Checklist Tools for October Next Fest Upload Week - 2026

Tuesday upload week: engineering posts "depot live." Marketing clicks Publish on store overrides. Community manager schedules a hub announcement. Nobody checked whether review keys still reference last week's build_label. Steamworks shows Coming Soon on one locale while the demo depot serves rc04. SteamPipe depot upload log says steampipe_upload_ok: true—but BUILD_RECEIPT has no store_publish_ok column because publish lived in three tabs and a Discord thread.
October 2026 upload week compresses depot promotion, store page publish, community announcements, and key batches into the same seventy-two hours after localization capstone opens october_upload_window_allowed. Teams that finished strings freeze discover the new bottleneck is publish coordination—not Weblate. This Listicles & Resource Roundups post curates fourteen free tools (plus a four-tool minimum stack) to run a scannable publish checklist across depot / store / community / keys, file october_store_publish_checklist_receipt_v1.json with gates P1–P6, and set BUILD_RECEIPT store_publish_ok: true only when every surface matches the same build_id.
Non-repetition note: 14 metadata export/diff tools owns Wednesday export/diff tooling. 12 setlive checks owns steamcmd promotion preflight. Depot upload log evening #1 owns SteamPipe jsonl U1–U6. T-90 creator outreach owns July embargo roster. This URL owns upload-week publish checklist tooling + P1–P6 receipt—not another metadata diff list or depot log tutorial.
Pair depot upload log #1, 12 setlive checks, localization capstone, Resource #58 forward, Help #61 forward, forward blog #10 Wednesday depot smoke.
Why this matters now (October 2026 upload week)
- Depot live ≠ store live — Players see old capsule copy while new binary installs—support tickets spike hour one.
- Locale publish order — CJK overrides from multilingual capsule Z need publish sequence, not parallel chaos.
- Community hub parity — Hub announcements parity fails when publish checklist skips community row.
- Key batch drift — Keys sent pre-upload reference wrong branch unless checklist ties
key_batch_idto jsonlsteam_build_id. - Receipt sprawl — Upload log, setlive receipt, and store publish need one BUILD_RECEIPT story for forward #12 capstone.
Direct answer: Deploy the four-tool minimum (Sheets checklist + Steamworks publish tabs + jq validator + BUILD_RECEIPT crosswalk), run upload-week publish calendar, file october_store_publish_checklist_receipt_v1.json with P1–P6 GREEN, latch store_publish_ok only when depot, store, community, and keys rows match one build_id.
Who this listicle is for
| Audience | Outcome |
|---|---|
| Beginner | Scannable four-category checklist + publish calendar CSV |
| Producer | One receipt proving all surfaces published on same build |
| Release engineer | jq gate before community webhook fires |
| Marketing | Honest go/no-go before hub announcement |
Time: ~90 minutes to wire four-tool minimum; ~3 hours for full fourteen-tool pass + receipt before first upload-week publish wave.
Beginner cheat sheet — four-tool minimum stack
| # | Tool | Upload-week job |
|---|---|---|
| 1 | Google Sheets or Airtable (free tier) | Four-tab checklist: depot / store / community / keys |
| 2 | Steamworks partner portal | Builds + Store + Community + Keys UI |
| 3 | jq (CLI) | Validate october_store_publish_checklist_receipt_v1.json |
| 4 | BUILD_RECEIPT.json | Crosswalk steampipe_upload_ok → store_publish_ok |
Rule: All four wired → ready for P1–P3. Tools 5–14 add diff, screenshots, CI, calendars, and verification scripts.
Developer path — gates P1–P6
| Gate | Pass criterion |
|---|---|
| P1 | steampipe_upload_ok: true on BUILD_RECEIPT (cousin #1) |
| P2 | publish_checklist_v1.json lists all four categories with status: done or documented skip |
| P3 | publish_calendar_2026.csv has upload-week rows with owner + UTC timestamp |
| P4 | Store screenshots archived under release-evidence/store/publish/ per locale claimed |
| P5 | october_store_publish_checklist_receipt_v1.json committed |
| P6 | BUILD_RECEIPT store_publish_ok: true matches receipt |
Upload-week publish calendar (beginner)
Default October 2026 upload week (adjust to your invite):
| Day | Category | Action | Owner |
|---|---|---|---|
| Mon AM | Depot | Confirm steampipe jsonl row | Engineering |
| Mon PM | Depot | 12 setlive checks if promoting | Release |
| Tue AM | Store | Publish core EN store page + demo scope fields | Marketing |
| Tue PM | Store | Publish locale overrides (ja/ko/de if claimed) | Localization |
| Wed AM | Community | Hub announcement + event post parity | Community |
| Wed PM | Keys | Review key batch label match rc build | Producer |
| Thu | All | Forward #10 depot smoke row review | Producer |
| Fri | All | Forward #12 upload capstone index | Producer |
Copy into release-evidence/store/publish_calendar_2026.csv:
day_utc,category,action,owner,build_id,status,notes
2026-10-06,depot,steampipe_upload_ok,engineering@studio,2026-10-06-rc01,GREEN,pairs jsonl
2026-10-07,store,publish_en_core,marketing@studio,2026-10-06-rc01,PLANNED,after P1
2026-10-07,store,publish_ja_override,loc@studio,2026-10-06-rc01,PLANNED,after Z pass
2026-10-08,community,hub_announcement,community@studio,2026-10-06-rc01,PLANNED,parity checklist
2026-10-08,keys,review_batch_2,producer@studio,2026-10-06-rc01,PLANNED,labeled DEMO
october_store_publish_checklist_receipt_v1.json (template)
{
"schema": "october_store_publish_checklist_receipt_v1",
"fest_window": "2026-10-next-fest-live",
"build_id": "2026-10-06-rc01",
"steam_build_id": "18472931",
"generated_at_utc": "2026-10-08T16:00:00Z",
"checklist_path": "release-evidence/store/publish_checklist_v1.json",
"calendar_path": "release-evidence/store/publish_calendar_2026.csv",
"steampipe_receipt_path": "release-evidence/steam/steampipe_depot_upload_receipt_v1.json",
"gates": {
"P1": true,
"P2": true,
"P3": true,
"P4": true,
"P5": true,
"P6": true
},
"categories": {
"depot": "done",
"store": "done",
"community": "done",
"keys": "done"
},
"store_publish_ok": true,
"notes": ""
}
publish_checklist_v1.json (four categories)
{
"schema": "publish_checklist_v1",
"build_id": "2026-10-06-rc01",
"items": [
{"id": "depot-01", "category": "depot", "label": "steampipe_upload_ok on BUILD_RECEIPT", "status": "done"},
{"id": "depot-02", "category": "depot", "label": "setlive_allowed or documented skip", "status": "done"},
{"id": "store-01", "category": "store", "label": "EN short description + about published", "status": "done"},
{"id": "store-02", "category": "store", "label": "claimed locales published", "status": "done"},
{"id": "store-03", "category": "store", "label": "capsule + trailer slots match rc build", "status": "done"},
{"id": "comm-01", "category": "community", "label": "hub announcement live", "status": "done"},
{"id": "comm-02", "category": "community", "label": "event post demo scope parity", "status": "done"},
{"id": "keys-01", "category": "keys", "label": "review keys labeled DEMO + build_label", "status": "done"},
{"id": "keys-02", "category": "keys", "label": "no keys on wrong branch", "status": "done"}
]
}
verify_october_store_publish_checklist.sh
#!/usr/bin/env bash
set -euo pipefail
R="${1:-release-evidence/store/october_store_publish_checklist_receipt_v1.json}"
jq -e '.schema == "october_store_publish_checklist_receipt_v1"' "$R" >/dev/null
jq -e '.store_publish_ok == true' "$R" >/dev/null
jq -e '.gates.P1 and .gates.P2 and .gates.P3 and .gates.P4 and .gates.P5 and .gates.P6' "$R" >/dev/null
OPEN=$(jq '[.items[]? | select(.status != "done")] | length' "$(jq -r '.checklist_path' "$R")" 2>/dev/null || echo 1)
test "$OPEN" -eq 0 || { echo "checklist items open: $OPEN"; exit 1; }
echo "october store publish checklist verify: OK"
The 14 free tools
Tool 1 — Google Sheets or Airtable (free tier)
Category: All four tabs in one view.
Job: Human checklist with build_id column, owner, UTC timestamp, RED/YELLOW/GREEN.
Beginner: Duplicate template tab per fest; do not fork columns mid-week.
Dev: Export CSV nightly to publish_calendar_2026.csv for jq.
Pair: Tool 4 BUILD_RECEIPT crosswalk.
Tool 2 — Steamworks partner portal (Store tab)
Category: Store.
Job: Official publish surface for descriptions, capsules, trailers.
Beginner: Publish EN first; locales second after freeze evening locales list matches.
Dev: Screenshot each locale after publish → P4 evidence folder.
Official: Steamworks store page docs.
Tool 3 — Steamworks Builds tab
Category: Depot.
Job: Confirm steam_build_id matches steampipe jsonl.
Beginner: Builds tab is source of truth for depot bytes—not Discord.
Dev: Copy build ID into receipt steam_build_id field.
Tool 4 — BUILD_RECEIPT.json
Category: Crosswalk.
Job: Hold steampipe_upload_ok, store_publish_ok, paths to cousin receipts.
Beginner: One file producers open Monday standup.
Dev: jq latch chain: upload ok before publish ok.
Tool 5 — jq (CLI)
Category: Validation.
Job: Run verify script; fail CI before community webhook.
Beginner: Install once; copy verify script from this article.
Dev: Gate GitHub Actions publish job on exit 0.
Tool 6 — Git + plain-text store baselines
Category: Store.
Job: Diff approved copy vs live export from metadata diff listicle cousin.
Beginner: Commit store-metadata/approved/ when producer signs.
Dev: git diff before clicking Publish catches LLM drift.
Tool 7 — steamcmd + dry-run logs
Category: Depot.
Job: Cousin to 12 setlive checks—archive log path on checklist row depot-02.
Beginner: Do not check store-01 done until depot-01 done.
Dev: Link dry-run path in steampipe jsonl line.
Tool 8 — Steam Community announcements UI
Category: Community.
Job: Publish hub post with same demo scope bullets as store FAQ.
Beginner: Use hub parity checklist row list.
Dev: Archive announcement URL in checklist item comm-01 notes.
Tool 9 — Steamworks Review Keys
Category: Keys.
Job: Batch keys with visible DEMO label + build_label per review keys article.
Beginner: No keys until store-03 capsule matches rc build.
Dev: Record key_batch_id on checklist keys-01.
Tool 10 — CSV publish calendar (Tool 1 export)
Category: Scheduling.
Job: P3 evidence—who published what when.
Beginner: One row per action; no merged cells.
Dev: jq slurp for capstone forward #12 annex.
Tool 11 — Filesystem screenshot folder
Category: Store + community.
Job: P4 locale publish proof—not for players, for partner diligence.
Beginner: Name files {locale}_{field}_{date}.png.
Dev: Hash optional; path in receipt enough for v1.
Tool 12 — Discord webhook (optional notify)
Category: Community ops.
Job: Post "store publish GREEN" only after verify script passes—prevents early hype.
Beginner: Webhook message includes build_id + link to receipt.
Dev: Fail webhook step if store_publish_ok false.
Tool 13 — PowerShell / bash facilitator card
Category: Ritual.
Job: Printable upload-week card stored beside depot upload card.
Beginner: Check boxes in order depot → store → community → keys.
Dev: Same order as P1 dependency chain.
Tool 14 — publish_checklist_v1.json (machine checklist)
Category: Receipt input.
Job: P2 structured items for jq open-count gate.
Beginner: Start from template in this article.
Dev: CI counts status != done—human sheet is view, JSON is latch.
Tool 14 — publish_checklist_v1.json (machine checklist)
Category: Receipt input.
Job: P2 structured items for jq open-count gate.
Beginner: Start from template in this article.
Dev: CI counts status != done—human sheet is view, JSON is latch.
Deep dives — highest-friction tools
Tool 2 expanded — Store publish sequence
- Open Steamworks → App Admin → Store page.
- Verify Short description ≤300 chars per locale (CJK export help if over).
- Confirm About bullets match demo scope FAQ parity.
- Upload capsule only after trailer thumbnail pass forward #6 or equivalent squint.
- Click Preview → incognito window → confirm live player view.
- Mark checklist
store-01…store-03done only after preview matches rcbuild_label.
Tool 8 expanded — Community publish
- Draft announcement in plain text git file first—same bullets as store About.
- Paste into Steam Community → Announcements.
- Cross-check hub parity checklist row by row.
- Archive public URL + UTC timestamp on calendar CSV row
comm-01. - Do not pin Discord until
store_publish_oktrue—players click through to stale store.
Tool 9 expanded — Review keys after publish
- Confirm review keys labeling article email template includes
build_label. - Create batch only after depot + store GREEN.
- Record batch ID on checklist
keys-01; tie to T-90 rosterkey_batch_idif creators waiting. - Never re-send old batch after hotfix upload—new batch row required.
Printable publish-week facilitator card
Store in release-evidence/store/PUBLISH_WEEK_FACILITATOR_CARD.md:
# October upload publish week (depot → store → community → keys)
build_id: __________ steam_build_id: __________ date: __________
DEPOT
[ ] steampipe_upload_ok true (jsonl row exists)
[ ] setlive checks 1–12 or documented skip
STORE
[ ] EN core published + preview incognito
[ ] Locale overrides (list): __________
[ ] Capsule/trailer match rc build
COMMUNITY
[ ] Hub announcement URL: __________
[ ] Event post scope parity
KEYS
[ ] Review batch ID: __________ labeled DEMO
[ ] No keys on wrong branch
Receipt: october_store_publish_checklist_receipt_v1.json
verify_october_store_publish_checklist.sh exit 0
BUILD_RECEIPT store_publish_ok = true
Sign: __________ UTC: __________
PowerShell verify cousin
$R = "release-evidence/store/october_store_publish_checklist_receipt_v1.json"
jq -e '.store_publish_ok == true' $R
if ($LASTEXITCODE -ne 0) { throw "store publish latch failed" }
$open = jq '[.items[] | select(.status != "done")] | length' (jq -r '.checklist_path' $R)
Write-Host "open checklist items:" $open
Tool comparison matrix (working dev)
| Tool | Depot | Store | Community | Keys | Automation |
|---|---|---|---|---|---|
| 1 Sheets | view | view | view | view | export CSV |
| 2 Steamworks Store | — | publish | — | — | manual |
| 3 Builds tab | verify | — | — | — | manual |
| 4 BUILD_RECEIPT | latch | latch | latch | latch | jq |
| 5 jq | validate | validate | validate | validate | CI |
| 6 Git diff | — | baseline | — | — | git |
| 7 steamcmd | dry-run | — | — | — | log file |
| 8 Community UI | — | — | publish | — | manual |
| 9 Review Keys | — | — | — | batch | manual |
| 10 CSV calendar | schedule | schedule | schedule | schedule | jq slurp |
| 11 Screenshots | — | P4 | P4 | — | folder |
| 12 Discord webhook | — | — | notify | — | optional |
| 13 Facilitator card | ritual | ritual | ritual | ritual | |
| 14 JSON checklist | P2 | P2 | P2 | P2 | CI count |
Integration with forward cluster rows
| Forward row | Consumes this receipt |
|---|---|
| #3 dress rehearsal | Nightly checklist habit |
| #5 metadata freeze trend | Store edit window policy |
| #6 trailer thumbnail | store-03 capsule gate |
| #10 Wednesday depot smoke | BUILD_RECEIPT publish columns |
| #12 upload capstone | store_publish_ok in C8 cousin sweep |
Selection criteria (why these fourteen)
- Free at indie budget for workflows described
- Maps to depot / store / community / keys—no orphan category
- Evidence-friendly paths under
release-evidence/store/ - Pairs October upload cluster without duplicating metadata diff or depot log intents
Format ladder — October cluster #2
| Row | Angle |
|---|---|
| #1 | Depot upload log U1–U6 |
| #2 (this) | Publish checklist tools P1–P6 |
| #10 forward | Wednesday depot smoke row review |
| #12 forward | Friday upload capstone |
Proof table (sample GREEN publish week)
| Surface | Evidence | build_id match |
|---|---|---|
| Depot | steampipe jsonl + Builds tab | 2026-10-06-rc01 |
| Store EN | screenshot + checklist store-01 | yes |
| Store ja | screenshot + Z cousin | yes |
| Community | hub URL + comm-01 | yes |
| Keys | batch ID keys-01 | yes |
| BUILD_RECEIPT | store_publish_ok: true |
yes |
Scenarios A–G
A — Depot uploaded Monday; store publish Tuesday
Correct order—P1 from jsonl before P2 store items.
B — Marketing published store before depot
P1 fail—rollback store to Coming Soon or fix depot first; do not latch store_publish_ok.
C — Only EN store; locales Coming Soon
Allowed if freeze manifest lists EN only—document in receipt notes; store-02 waived with producer sign-off.
D — Community post early
comm-01 before store-01 fails hub parity—delete or edit announcement.
E — Keys sent Friday before upload
keys-01 fail—revoke batch if policy allows; document in outreach log.
F — Dual-SKU itch + Steam
Run dual-depot dress before store publish; itch link row optional fifth category in checklist v1.1.
G — Capstone october_upload_window_allowed false
P1 cousin fails—do not publish store until localization capstone GREEN or waiver.
Common mistakes
- Treating Steam Save on store page as publish—verify live URL incognito.
- Publishing locales before EN baseline signed.
- Hub announcement promises co-op demo scope store FAQ denies.
- Skipping screenshot archive because "Steamworks still shows it."
- Setting
store_publish_okwhen only depot row done. - Using T-90 outreach roster as publish checklist—different receipt schema.
RED / YELLOW / GREEN routing
| Color | Condition | Action |
|---|---|---|
| RED | Any category open + no waiver | Block hub announcement + keys |
| YELLOW | Locale waived or keys pending | Publish core EN; document in notes |
| GREEN | P1–P6 pass | Forward to #10 smoke + #12 capstone |
Key takeaways
- Upload week bottleneck moved from strings to publish coordination.
- Four categories: depot, store, community, keys—one
build_id. - Four-tool minimum: Sheets + Steamworks + jq + BUILD_RECEIPT.
- Gates P1–P6 on
october_store_publish_checklist_receipt_v1.json. - Latch
store_publish_okonly after verify script passes. - P1 requires steampipe_upload_ok.
- Pair 12 setlive checks for depot-02.
- Pair metadata diff tools for store copy baselines.
- Forward Resource #58 / Help #61 for tool/fix siblings.
- Forward #10 Wednesday smoke consumes publish receipt.
- Distinct from T-90 outreach C-gates and Wednesday metadata diff G-groups.
- October upload cluster #2 of #12.
FAQ
Same as metadata export listicle?
No. That owns export/diff apps. This owns upload-week publish checklist + P receipt.
Same as depot upload log #1?
No. Jsonl proves depot bytes. This proves store/community/keys surfaces published.
Must all fourteen tools be installed?
No. Four-tool minimum satisfies P2–P3 for small teams.
Can we publish store before setlive?
Store copy can draft in Steamworks; public publish should follow depot truth per calendar.
How does this pair forward #10?
Wednesday depot smoke diffs BUILD_RECEIPT publish columns against smoke receipt.
Resource 58 / Help 61?
Forward paired resource list + fix lane—format ladder.
Related reads
- Your First SteamPipe Depot Upload Log and BUILD_RECEIPT Before October Upload
- 12 Pre-Flight Checks Before steamcmd setlive
- 14 Free Steam Store Metadata Export and Diff Tools
- Friday Localization Freeze Capstone Before October Upload
- Steam Community Hub Announcements Store Metadata Parity
- Steam Review Keys Press Demo Scope Labeling
- Multilingual Capsule Typography Safe-Zone Pass JP KR
Closing
October upload week is when "depot is live" stops being engineering vocabulary and becomes a four-surface publish problem. Wire the four-tool minimum, run the calendar depot → store → community → keys, file october_store_publish_checklist_receipt_v1.json—then BUILD_RECEIPT tells forward #10 and #12 the same story Steamworks, the hub, and your players see.
Next reads: forward blog #3 upload dress rehearsal challenge, #5 October 2026 Steam Store Last-Minute Metadata Freeze — What Changed for Micro-Studios Trend Playbook, T-90 creator outreach tools for pre-upload press lane.