storebound/skills/store-preflight/SKILL.md
CRT 25bc761a53 Skills: release management, preflight, rejections, originality, compliance, ASO, release notes
- New: review-rejections, portfolio-originality, release-management, store-preflight,
  privacy-manifest, export-compliance, aso-basics, whats-new
- Updated: explicit build numbers, first availability UI fallback, phased + manual release by
  default, IAP versions in review submissions (API 4.4.1, reported, verify), IAP description 45,
  privacy manifest cross-links, tool-neutral CLI instructions
- docs/agents-core.md: shared rules for every agent
2026-10-10 21:03:10 +08:00

3.2 KiB

name description
store-preflight Run and read the storebound readiness checks before submitting a mobile game - `storebound check` (offline config, copy limits, files), `storebound check --aso`, `storebound validate` (read-only App Store Connect + Google Play report with ordered blockers) and `storebound privacy-manifest`. Use before every submission, when the user asks "is my app ready to submit", or after changing listings, builds, IAPs or SDKs.

Store preflight

CLI: storebound (or the MCP tools check, check_aso, validate, privacy_manifest). All four are read-only on the stores; run them freely.

Order

  1. storebound check: config, both listing files (limits are checked locally: title 30, subtitle 30, keywords 100 bytes, Play short 80, notes 500 ...), screenshot copy, Data safety answers, IAP texts (Apple description 45), files the config points at, .storebound/ gitignored. Fix everything it lists; it exits 1 on problems.
  2. storebound check --aso: keyword field use, repeats, stuffing (aso-basics). Errors exit 1, warnings are advice.
  3. storebound privacy-manifest --ios ios/App (iOS): app manifest, required-reason APIs, SDKs without manifests (privacy-manifest skill).
  4. storebound validate (or --apple / --play): talks to both APIs read-only and prints findings in fix order. Exit 1 while there is a blocker. --json for scripts.

Reading validate

Each line: number, level (BLOCKER, warn, ok), store, message, and a fix: with the command or skill.

finding means fix
no build attached / build PROCESSING the version has no usable binary wait for VALID, then apple listing --version x --build N (explicit number)
export compliance not answered the build has no encryption answer export-compliance skill
<locale>: missing description / keywords / subtitle text not pushed for a locale edit store/appstore.md, apple listing
no APP_IPHONE_67 screenshots 6.9" set missing (required) apple screenshots; iPad apps add the 13" type to apple.screenshotTypes
review contact missing App Review information incomplete apple review-details
age rating unanswered new questions Apple added apple appinfo
no app price schedule / availability pricing never set apple appinfo; if the API refuses the first availability record, set it once in App Store Connect > Pricing and Availability
IAP MISSING_METADATA / no review screenshot product incomplete apple iap, apple iap-review
privacy policy HTTP 404 / unreachable URL broken privacy-policy skill
Play <lang>: phoneScreenshots 1/2 graphics missing shots render, play images
app-ads.txt lacks lines / 404 ad networks cannot verify you ads-levelplay-checks; the file lives at the root of the developer website
no release on any track nothing uploaded play release <aab>
product purchase option DRAFT not active play products

What validate cannot see (UI-only, check by hand)

App Privacy labels published, Play App content declarations (ads, target audience, content rating, advertising ID), agreements / tax / banking, TestFlight groups, countries for production on Play. Tell the owner which are still open.