skills/app-store/originality-check/SKILL.md
Guideline-4.3 anti-spam / originality gate — score whether an app (and each portfolio addition) is meaningfully distinct in function, content, and metadata before you invest or submit. Use at validation/new-app time and again before submission. Protects the whole developer account from 4.3 (spam/duplicate) rejections. NOT rejection-handler (that works an existing rejection) and NOT competitive-analysis (that positions in the market).
npx skillsauth add rshankras/claude-code-apple-skills originality-checkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Decide, with evidence, whether an app is distinct enough to exist — before you build it or submit it.
At portfolio scale, shipping many similar small apps risks Guideline 4.3 (spam / duplicate) — this is the go/no-go distinctness gate that keeps that from happening.
rejection-handler. That works a rejection you already have. This is upstream — it
prevents the 4.3 by catching sameness before you ship.competitive-analysis / market-research. Those size demand and position you in the
market. This judges distinctness (function + content + metadata) vs your own portfolio and vs
near-identical competitors — a spam risk, not a demand question.validate / new-app (don't build a dup) and before submit
(don't trip 4.3). Also periodically across the portfolio (internal cannibalization / template-sameness)..planning/VALIDATION.md (competitor + market data). If missing/stale, gather fresh
via WebSearch or the product/competitive-analysis skill.list_apps / get_metadata).Internal check (your own portfolio). list_apps → for each shipped app read its positioning
(get_metadata). Does the candidate overlap one you already ship in function, code
template, or metadata? Two apps that differ only in theme/reskin = 4.3 risk.
External check (the market). Read VALIDATION.md if present; otherwise WebSearch for close
look-alikes. Judge: is the core function a thin reskin of an existing app, or a genuine wedge?
Distinctness scorecard. Score each dimension meaningful difference vs cosmetic, and flag any that is only skin-deep:
| Dimension | Distinct if… | |---|---| | Function | it does something materially different, not a template swap | | Content / data | unique data or content, not a generic wrapper | | Metadata | name / keywords / screenshots not near-identical to siblings or competitors | | UX / value | a real reason a user picks this one |
Verdict + remedy.
Record. Write the verdict + reasoning to .planning/ (VALIDATION or STATE). For a
borderline-approved app, record the wedge as a build requirement so plan/build deliver it.
development
US web checkout via the StoreKit External Purchase Link entitlement — currently 0% Apple commission (litigation ongoing), how to ship it safely, and how to architect for a commission flip so a future ruling is a config change, not a rewrite. Use when adding external purchase links, weighing web checkout vs IAP, or planning US-storefront pricing strategy.
tools
Revenue beyond the single-app price tag — own-app bundles, Family Sharing as a conversion lever, cross-developer bundles & suites, and institutional licensing via Group Purchases / Apple School & Business Manager. Use when a developer has multiple apps, a subscription worth sharing, complementary indie partners, or school/clinic/business buyers.
testing
Run a structured accessibility audit on an iOS/macOS app — automated XCUITest audits, Accessibility Inspector, manual VoiceOver/Dynamic Type passes, and App Store Accessibility Nutrition Label evaluation. Use before release, when preparing Nutrition Label declarations, or for EU Accessibility Act compliance.
tools
Stage-by-stage audit of an app's App Store growth machinery against a 54-item P0–P9 playbook — every item scored from an App Store Connect MCP call, a codebase check, or an explicit question to the user, then routed to the skill or command that fixes it. Read-only on App Store Connect. Use for a growth audit or scorecard, a pre-launch growth plan, a quarterly re-audit, or "which growth levers am I missing."