Originality check
Skill rshankras/claude-code-apple-skills/skills/app-store/originality-check
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).From its SKILL.md
npx -y skills add rshankras/claude-code-apple-skills --skill originality-checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
4.1 KB, 847 tokens by cl100k_base, as published. Nobody here has run it
Originality Check
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.
Where it fits (read the seams)
- Not
rejection-handler. That works a rejection you already have. This is upstream — it prevents the 4.3 by catching sameness before you ship. - Not
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. - Two moments to run it: at
validate/new-app(don't build a dup) and beforesubmit(don't trip 4.3). Also periodically across the portfolio (internal cannibalization / template-sameness).
Prerequisites
- The app idea or a shipped app to evaluate (name, one-line function, target metadata).
- Optional:
.planning/VALIDATION.md(competitor + market data). If missing/stale, gather fresh via WebSearch or theproduct/competitive-analysisskill. - Optional ASC access to read the developer's existing portfolio (
list_apps/get_metadata).
Flow
-
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.mdif present; otherwiseWebSearchfor 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.
- Distinct → proceed.
- Borderline → give concrete ways to differentiate (merge sibling apps into one configurable app, add the unique wedge, or drop it); if approved, name the specific wedge that MUST be built to clear 4.3.
- Duplicate → recommend not shipping; consolidate any existing thin apps into one strong app instead.
-
Record. Write the verdict + reasoning to
.planning/(VALIDATION or STATE). For a borderline-approved app, record the wedge as a build requirement soplan/builddeliver it.
Done
- A written verdict (distinct / borderline+wedge / duplicate) with per-dimension reasoning, and — if borderline — the specific differentiation that must ship before submission.
Caveats
- Cosmetic theming ≠ differentiation — Apple judges function + metadata similarity, not intent.
- Protect the account. When in doubt between "borderline ship" and "consolidate," prefer one strong app over several thin ones.
- Guideline numbers/text drift — confirm current 4.3 wording at the App Review Guidelines (captured 2026-07).
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most quality gates skills give in 847 tokens
Counted across 1,524 of the 2,830 authors here whose files we hold, read 2026-09-06
- Read full output and check exit codein 45 of 1524, across 40 files
- Verify output confirms the claimin 44 of 1524, across 39 files
- Identify the command that proves the claimin 43 of 1524, across 39 files
- Execute the full verification commandin 36 of 1524, across 30 files
- Produce a verification reportin 34 of 1524, across 18 files
- Review git diff changesin 30 of 1524, across 16 files
- Fix build failures immediatelyin 29 of 1524, across 9 files
- Group findings by severityin 28 of 1524
- State claim only with evidencein 27 of 1524, across 22 files
- Verify regression tests with red-green cyclein 26 of 1524, across 22 files
- Run the full test suitein 26 of 1524, across 25 files
- Run test suite with coveragein 25 of 1524, across 10 files
Said here and by no other author read
- List existing apps in the portfolio
- Compare candidate app against existing portfolio
- Search for external look-alike applications
- Score function content and metadata for distinctness
- Flag apps that are only skin-deep
- Recommend consolidation for duplicate apps
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.