- Home
- Skills
- Mobile Development
- App Store 4.3 Similarity Check (Flutter & React Native)
Works with the AI tools you already use
App Store 4.3 Similarity Check (Flutter & React Native)
Measure how much a Flutter, React Native or Expo app shares with your other apps — code, store text, screenshots and assets — before Apple calls it spam.
Free
App Store 4.3 Similarity Check (Flutter & React Native)
Example session with this skill installed
I'm about to submit chore-jar. How close is it to my other apps?
- Read your context and instructions
- Compiled the app store 4
What I ran
test-fork is a fresh copy of my-app-template. I checked it against every other app in the folder before giving it a store record:
test-fork vs 3 sibling(s) under ~/apps
threshold 30%, surfaces: source, metadata, screenshots, assets
note: no --alias given. Domain nouns that differ between the apps (a fruit vs a taco) will read as
differences, which UNDERSTATES sharing. Pass them.
=== SOURCE — 84 files ===
99% 83/84 files chore-jar <-- OVER
99% 83/84 files my-app-template <-- OVER
64% 54/84 files row-counter <-- OVER
what is shared with chore-jar:
infrastructure 40 files 2031 lines
app scaffolding 29 files 1225 lines
other 14 files 345 lines
largest shared with chore-jar:
142 packages/ui/lib/widgets/google_banner_ad.dart identical
128 packages/ui/lib/screens/home/home_view.dart identical
126 lib/bootstrap.dart identical
124 lib/logging/crash_reporter.dart identical
124 packages/i18n/lib/strings.dart identical
=== METADATA — 0 files ===
NOTHING TO COMPARE — this app has no files on this surface, so it is
unmeasured, not clean.
=== SCREENSHOTS — 0 files ===
NOTHING TO COMPARE — this app has no files on this surface, so it is
unmeasured, not clean.
=== ASSETS — 37 files ===
100% 37/37 files chore-jar <-- OVER
100% 37/37 files my-app-template <-- OVER
largest shared with chore-jar:
- android/app/src/main/res/drawable-hdpi/android12splash.png == android/app/src/main/res/drawable-hdpi/android12splash.png
- android/app/src/main/res/drawable-mdpi/android12splash.png == android/app/src/main/res/drawable-mdpi/android12splash.png
- android/app/src/main/res/drawable-night-hdpi/android12splash.png == android/app/src/main/res/drawable-hdpi/android12splash.png
...
What it means
Source 99% shared with the template. That's normal for a fork on day one, and it's why you don't submit on day one.
74 byte-identical files, mostly the splash images. Byte-identical assets fail at any percentage, because a reviewer sees the same splash screen in two apps.
Metadata and screenshots are unmeasured, not clean. There's no fastlane/metadata or screenshot folder yet, so the check says so rather than reporting 0%.
Next steps
- Regenerate the splash and icon for the new app.
- Replace the feature code, then re-run until no surface is over the threshold.
- Pass
--aliasfor words that differ only by theme (taco/fruit), or the score understates sharing.
Output is from a real run on a test copy. The folder path is shortened.
Connects securely to your tools. The creator never sees your data.
About this skill
If you put several apps on one developer account, guideline 4.3 (spam) is what gets them rejected, and it's rarely the code. It's two apps with the same screenshots, the same headline style, the same sounds, or store text that's 80% identical.
This skill measures that before Apple does. It compares one app against every sibling in your folder across four things: source, store listing text, screenshots, and bundled assets like audio, fonts and icons. It reports the overlap in numbers and tells you what to change.
It works on Flutter, React Native and Expo apps, and siblings can be either stack. For React Native it compares TypeScript and JavaScript source (skipping node_modules and the native folders), reads app names from package.json and app.json, and compares Expo's store.config.json against the matching fastlane files, so copied store text is caught across the two layouts.
It won't help you hide similarity. If you ask it to rename things just to lower the number, it says to change the app instead, because that's what a reviewer is actually looking at.
Script: check_similarity.py. Python 3.9+, no packages.
These are free and MIT-licensed, and the source is at github.com/jameskrupnik/indie-app-skills. If you ship several apps, my paid skills cover the rest of the release: new-app (forking without carrying the parent's Firebase and ad ids), ship-ios (fork to App Store review), bug-hunt and daily-update (pacing releases across many apps).
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
Free forever
No account required to browse
Trust & safety
Security scanned
Verified clean 5 days ago
- Free to download with an account