0.5.0: mobile apps and games positioning (README, site, og image, skills, CLI, MCP, adapters), MCP tools for subscriptions and catalog diff, tests, changelog

This commit is contained in:
CRTkafa 2026-10-11 01:47:09 +08:00
parent 205f65828f
commit c48eead0e0
51 changed files with 960 additions and 318 deletions

View file

@ -1,6 +1,6 @@
---
name: review-rejections
description: Triage and answer an App Store or Google Play rejection, policy warning or strike for a mobile game - decide fix / clarify / push back / appeal, write a short Resolution Center reply, and map the message to the usual guidelines (Apple 2.1, 2.3, 3.1.1, 4.2, 4.3, 5.1.1, 5.1.2, privacy label mismatch; Play Data safety mismatch, disruptive ads, Families, strikes and appeals). Use when the user pastes a rejection or policy email, an update is "Rejected" / "Metadata Rejected", or Play Console shows a policy issue.
description: Triage and answer an App Store or Google Play rejection, policy warning or strike for a mobile app or game - decide fix / clarify / push back / appeal, write a short Resolution Center reply, and map the message to the usual guidelines (Apple 2.1, 2.3, 3.1.1, 4.2, 4.3, 5.1.1, 5.1.2, privacy label mismatch; Play Data safety mismatch, disruptive ads, Families, strikes and appeals). Use when the user pastes a rejection or policy email, an update is "Rejected" / "Metadata Rejected", or Play Console shows a policy issue.
---
# Review rejections and policy issues
@ -13,7 +13,7 @@ they turn a rejection into an account termination.
## 1. Triage (pick one, say why)
| route | when | what you do |
|---|---|---|
| **Fix** | the reviewer is right (crash, missing restore button, wrong label) | change the game / metadata, resubmit, reply what changed |
| **Fix** | the reviewer is right (crash, missing restore button, wrong label) | change the app / metadata, resubmit, reply what changed |
| **Clarify** | the feature exists but the reviewer did not find it, or misread it | reply with exact steps / a video link; no new build if nothing changed |
| **Push back** | the guideline does not apply, with a concrete reason | short factual reply quoting the guideline text; offer a call |
| **Appeal** | a clarification was rejected and you still believe it complies | Apple: App Review Board appeal form; Play: the appeal form linked from the notice |
@ -33,20 +33,27 @@ Happy to clarify anything else.
```
Plain, polite, specific; one guideline per paragraph; no blame, no threats, no "other apps do it".
## 3. Apple guidelines games hit most
## 3. Apple guidelines apps and games hit most
- **2.1 App completeness**: crash on launch / during review (check the crash log in the message, test the review
device class and OS), placeholder text or art, broken links, IAPs not working in the sandbox (Paid Apps agreement
active? products READY_TO_SUBMIT and in the same submission?), features behind a login without a demo account.
- **2.3 Accurate metadata**: screenshots must show the real game; no prices, no "free" claims for paid items, no other
platforms' UI; keywords without competitor names; age rating answers that match the content.
active? products READY_TO_SUBMIT and in the same submission?), features behind a login without a demo
account (`review-access` skill: demo account in `.storebound/credentials.json`, `storebound apple review-details`
sends it).
- **2.3 Accurate metadata**: screenshots must show the real app (for a game: real gameplay); no prices, no "free"
claims for paid items, no other platforms' UI; keywords without competitor names; age rating answers that match
the content.
- **3.1.1 In-app purchase**: digital goods only through IAP; a visible **Restore Purchases** for non-consumables;
no links to outside payment; loot boxes must show odds.
- **4.2 Minimum functionality**: a thin game (one screen, a tutorial-level loop) or a web wrapper. Add depth: levels,
progression, offline play, native feel. Explain what the player does in the notes.
- **3.1.2 Subscriptions**: the purchase screen shows title, length, price per period and what the user gets; links to
the privacy policy and the Terms of Use (EULA) in the app and in the metadata; free trial terms clear. See
`store-subscriptions`.
- **4.2 Minimum functionality**: a thin app (one screen, a tutorial-level loop) or a web wrapper. Add depth (for a game:
levels, progression, offline play; for an app: native features, offline use, real utility). Explain what the user
does in the notes.
- **4.3 Spam**: too similar to your own or others' apps (same template, reskins). See `portfolio-originality`; merge
ideas instead of shipping near-duplicates. Hard to appeal without real differences.
- **5.1.1 Data collection**: privacy policy link in the listing **and inside the game**; only collect what you need;
account deletion in-app if you have accounts.
- **5.1.1 Data collection**: privacy policy link in the listing **and inside the app**; only collect what you need;
account deletion in-app if you have accounts (5.1.1(v), `account-deletion` skill).
- **5.1.2 Data use / ATT**: the App Tracking Transparency prompt before any tracking SDK reads the IDFA, a purpose string
that says why, no incentive or pressure to allow, no tracking when denied.
- **Privacy label mismatch**: App Privacy must match what the SDKs really collect (ads / analytics SDK docs list it).
@ -58,7 +65,7 @@ Plain, polite, specific; one guideline per paragraph; no blame, no threats, no "
- **Ads policy / disruptive ads**: no interstitials at launch, on exit or mid-gameplay; close buttons visible; rewarded
ads only opt-in. Ads must not imitate system UI.
- **Families**: if the target audience includes children, only Families-certified ad SDKs, no ad id, teacher-approved
rules. If the game is not for children, make sure store art and the target audience form say so.
rules. If the app is not for children, make sure store art and the target audience form say so.
- **Metadata**: no keyword stuffing, no "best/#1", no unrelated keywords (`aso-basics`).
- **Strikes and suspensions**: one policy strike affects the account; repeated strikes can terminate it. Fix first,
then appeal from the notice with the change described. Do not upload the same app under a new package to dodge it.
@ -66,4 +73,4 @@ Plain, polite, specific; one guideline per paragraph; no blame, no threats, no "
## 5. After sending
- `storebound apple status --wait-review` (exit 0 approved, 1 rejected, 7 timeout) or `storebound play status`.
- Write down guideline, cause and fix in the project's docs so the next game does not repeat it.
- Write down guideline, cause and fix in the project's docs so the next app does not repeat it.