| name | moddb-release-playwright |
| description | Prepare and publish Vintage Story ModDB releases, including owner-reviewed public changelog copy and Playwright browser upload when direct API upload is unavailable. |
| compatibility | opencode |
| metadata | {"audience":"maintainers","domain":"release-ops"} |
Skill: moddb-release-playwright
Purpose
Prepare owner-reviewed public release copy and automate Vintage Story ModDB publishing through browser actions when a direct upload API is not available.
Target site: https://mods.vintagestory.at
For GitHub or ModDB release-note drafting, review, or platform conversion, read references/public-release-notes.md before writing copy.
Drafting inputs
- Release version or merged-change range.
- Canonical source, pull request, tag, and packaged-artifact evidence needed to verify public claims.
ModDB publication inputs
modId (numeric mod id on ModDB)
zipPath (absolute path to built mod zip)
changelogHtmlOrText
compatibleVersions (array of semver strings, e.g. 1.21.6)
ModDB publication preconditions
- The zip already exists locally (build/package step completed).
- Operator can complete any interactive auth challenge (account login/2FA) if prompted.
Workflow
- Prepare one fact-checked canonical release body using
references/public-release-notes.md, derive each platform-ready body, and present the exact bodies plus rendered previews for owner approval.
- Open login page:
https://mods.vintagestory.at/login.
- Complete auth flow and wait until logged in.
- Navigate to release page:
https://mods.vintagestory.at/edit/release/?modid=<modId>
- Upload file using file input selector:
- Wait for upload/parse completion:
- no active upload progress
- auto-detected mod id/version fields populated
- Set compatible versions by toggling:
- Set the approved changelog text in:
- Click save button (
Save), then wait for navigation.
- Verify success:
- URL includes
assetid= OR
- release appears in mod files tab
Safety checks
- Do not submit if mod id/version did not parse from uploaded file.
- Do not submit if no compatible versions selected for game mods.
- Capture screenshot and page URL before final submit.
Output
Return:
- final release URL
- uploaded filename
- selected compatible versions
- success/failure and any UI error text
Notes
- If this flow becomes brittle, prefer implementing upstream API endpoint support in
anegostudios/vsmoddb issue #18.