CommunityRecherche & Datenanalysegithub.com

App-Keyword-Recherche

Validiere eine App-Idee vor dem Bauen mit Daten aus dem App Store. Wandelt die Idee in Suchphrasen um, misst die Nachfrage (App Store Autocomplete) und den Wettbewerb (aktuelle Top-10-Apps), bewertet Keywords nach Chancen und erstellt eine Marktübersicht.

Was ist App-Keyword-Recherche?

Die App-Keyword-Recherche ist ein Skill für KI-Agenten, der drei Kernfragen zu einer App-Idee beantwortet: (1) Verkehr: Suchen Nutzer danach und mit welchen Wörtern? (2) Schwierigkeit: Wie schwer ist es, für diese Wörter zu ranken? (3) Markt: Welche Apps dominieren diesen Bereich, wie groß sind sie und wie verdienen sie Geld? Der Skill nutzt öffentliche Daten des Apple App Store, benötigt weder ein Konto noch einen API-Key und erstellt ein Report mit Keyword-Tabelle und Marktübersicht. Er unterstützt 52 Länder-Stores, erkennt automatisch Chancen und Risiken, und hilft bei der Entscheidung, ob eine App-Idee umgesetzt werden sollte. Der Workflow umfasst die Generierung von Saatphrasen, die Analyse über Autocomplete und die Bewertung von Wettbewerbsintensität anhand von Bewertungszahlen. Zusätzlich können Metadaten wie Titel, Untertitel und Keyword-Feld optimiert werden, wobei der Skill auf verbotene Apple-Produktnamen und Markenrechte hinweist.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jamesisbuilding/App-Building-Skills/tree/main/skills/app-keyword-research

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht App-Keyword-Recherche?

Beantworte drei Fragen zu einer App-Idee anhand von Apples öffentlichen App Store Daten, ohne Konto oder API-Key:

  1. Verkehr: Suchen Leute danach und mit welchen Wörtern?
  2. Schwierigkeit: Wie schwer ist es, für diese Wörter zu ranken?
  3. Markt: Welche Apps dominieren diesen Bereich, wie groß sind sie und wie verdienen sie Geld?

Das Ergebnis ist ein Urteil, die zu targetierenden Keywords und ein App Store Titel, Untertitel und Keyword-Feld.

Arbeitsablauf

1. Verwandle die Idee in 10–20 Saatphrasen

Saatphrasen sind die Startsuchen; das Skript erweitert jede einzelne durch Autocomplete. Abdecken:

  • Die Kernaufgabe, in den Worten des Nutzers: "Kopfrechnen", "Gewohnheitstracker" (nicht "numerische Förderung").
  • Synonyme und alternative Namen: "Mathe-Spiel", "Arithmetik", "Einmaleins".
  • Die Zielgruppe: "Mathe-Spiele für Erwachsene", "… für Kinder". Getrennte Zielgruppen sind getrennte Märkte.
  • Angrenzende Kategorien, mit denen es konkurriert: "Gehirntraining" für eine Mathe-App.
  • Ergebnisphrasen: "Schnelles Rechnen", "Mathe-Workout".

Verwende keine Markennamen von Wettbewerbern als Saatphrasen. Sie werden ohnehin in den Ergebnissen auftauchen, was für die Marktübersicht nützlich ist.

Andere Länder erhalten Saatphrasen in ihrer eigenen Sprache. Deutsche suchen, was Deutsche tippen ("kalorienzähler", nicht "kalorien tracker"), also schreibe die Saatphrasen jedes Marktes aus dem, was Einheimische eingeben würden und überprüfe sie durch Autocomplete. Übersetze niemals die englischen Gewinner und gehe davon aus, dass sie Bestand haben.

Zweiter Durchgang aus den Titeln der etablierten Apps. Nach dem ersten Durchlauf lies die nicht-markenbezogenen Wörter in den Top-Apps der Marktübersicht (z. B. "Karten", "Tipps" in "Kopfrechnen Karten Spiele & Tipps"). Entwickler konvergieren auf Wörter, die funktionieren, also werden die, die du noch nicht abgedeckt hast, zu einem zweiten Satz Saatphrasen, die in dasselbe --out laufen.

2. Führe die Recherche durch

python3 -I scripts/keyword_research.py \
  --seeds "Kopfrechnen, Mathe-Spiel, Mathe-Spiele für Erwachsene, Gehirntraining, Einmaleins" \
  --country de --max-terms 120 --out recherche/<idee>-de-<jjjj-mm-tt>
  • Laufzeit: etwa 6 Sekunden pro Phrase zu Beginn eines Laufs, fallend, da dieselben Apps immer wieder ranken (ihre Details werden gecacht). 120 Phrasen dauern etwa 8–10 Minuten, also führe große Batches im Hintergrund aus.
  • Fortschritt: Ergebnisse werden während des Laufs gespeichert. report.md ist während des Laufs lesbar, und ein erneuter Lauf in dasselbe --out setzt den Vorgang fort.
  • Weitere Optionen:
    • --seeds-file seeds.txt: eine Phrase pro Zeile.
    • --no-expand: bewerte nur die angegebenen Saatphrasen.
    • --country gb|de|jp|…: die 52 wichtigsten Storefronts. Autocomplete und Rankings unterscheiden sich je nach Land, also recherchiere jeden Launch-Markt.
    • --app-id <trackId>: füllt bei einer Live-App die Spalte "Unser Rang" (1–200 oder 200+) für jede Phrase, ohne zusätzliche Kosten. Führe erneute Läufe in datierte Ordner durch, um Rankings nach einer Metadatenänderung zu verfolgen.
  • Ausgaben:
    • report.md: die beiden unten stehenden Tabellen.
    • keywords.json und apps.json: Rohdaten für Folgefragen.
  • Tests: python3 -I scripts/test_keyword_research.py und python3 -I scripts/test_check_metadata.py laufen offline.

3. Lese die Keyword-Tabelle

Jede Phrase erhält drei heuristische Bewertungen von 0–100:

PunktzahlWie sie gemessen wirdLies sie als
NachfrageJe weniger Buchstaben getippt werden, bevor der App Store die Phrase vorschlägt, und je höher ihr Platz, desto mehr wird gesucht. Apple ordnet Vorschläge nach Suchvolumen.Buchstaben ≤ 4: hoch. 5–7: mittel. ≥ 8: niedrig. Nie vorgeschlagen (Punktzahl 0): unbekannt, unterhalb dessen, was Autocomplete misst.
WettbewerbDer Median der Bewertungsanzahlen der aktuellen Top 10 auf einer logarithmischen Skala, plus 2 Punkte pro Top-10-App mit der gesamten Phrase in ihrem Namen oder Untertitel (Plurale, Akzente und Zusammensetzungen wie "kalorienzähler" = "Kalorien Zähler" zählen; Untertitel sind nur für etwa die Top 8 bekannt).Median < 1k: schwach. 1k–20k: moderat. 20k–100k: stark. > 100k: von großen Marken besetzt. 5 oder mehr exakte Titel bedeuten, dass viele Apps die Phrase direkt anvisieren.
Chancenachfrage × (1 − wettbewerb / 100)Die Sortierreihenfolge. Der Sweet Spot ist Nachfrage ≥ 60 mit Wettbewerb ≤ 55.

Die Spalte Urteil wandelt diese in ein Wort um: target (Nachfrage ≥ 40, Wettbewerb ≤ 55: gewinnbar für eine neue App), hard (Wettbewerb > 55), low (Nachfrage < 40), floor (Nachfrage 0), brand (siehe unten), und mit --app-id, own (deine App ist Top 3) oder push (Top 10: nah dran, es lohnt sich, die Listung zu verstärken). Es ist eine erste Sortierung, nicht die Entscheidung: der Intent-Schnitt unten gilt weiterhin.

Muster, die hervorzuheben sind:

  • Hohe Nachfrage, schwacher Wettbewerb: die Marktlücke. Beispiel: "Kopfrechnen" (vorgeschlagen nach 4 Buchstaben, Top-10-Median 609 Bewertungen).
  • Hohe Nachfrage, bei der keine Top-10-App die gesamte Phrase in ihrem Namen oder Untertitel hat: eine Titel-Lücke, selbst wenn der Wettbewerb stark ist. Beispiel: "Mathe-Spiele für Erwachsene", Median 112k Bewertungen, aber 0/10 exakte Titel.
  • Autocomplete-Phrasen, die Markennamen sind ("Einmaleins Rockstars", "Impuls Gehirntraining") gehören zu einem Wettbewerber. Liste sie in der Marktübersicht, niemals in deinen Keywords; Apple lehnt Metadaten ab, die Marken anderer Apps verwenden. Das Skript markiert eine Phrase (brand) und listet sie zuletzt, wenn sie der gesamte Titel einer Top-10-App ist, weil ein kleiner App-Name sonst nahezu Null-Wettbewerb erzielt und die Tabelle anführt. Es kann Markenphrasen, die nur teilweise auf einen Titel passen ("Impuls Gehirntraining"), nicht erkennen, und es kann eine generische Phrase markieren, die eine App als ihren exakten Titel verwendet hat ("Prozentrechner"), also lies die Liste trotzdem.
  • Zielgruppen-geteilte Phrasen ("… für die 3. Klasse", "… für Erwachsene") sind unterschiedliche Produkte. Sage, welches Segment die Idee bedient.
  • Hohe Nachfrage, aber 0/10 exakte Titel ist auch ein Hinweis. Entweder ist es eine echte Lücke (selten) oder die Phrase ist zu vage, als dass jemand darauf aufbauen könnte (häufig). Wende den Intent-Test unten an, bevor du es als Marktlücke bezeichnest.

Schneide nach Intent, bevor du rankst. Das Skript kann dies nicht beurteilen; du musst es tun. Ein Keyword zählt nur, wenn die Person, die es eingibt, eine App wie diese erwartet. Frage bei jeder: Wie viele Leute, die dies eingeben, wollen DIESE App? Schneide zwei Klassen aus, die täuschend gut abschneiden:

  • Zu generisch: "Tracker" für einen Kalorientracker. Riesige Nachfrage, aber der Suchende könnte Schlaf-, Budget- oder Flugtracker wollen.
  • Angrenzend, falsche Absicht: "Muskelwachstum" für einen Kalorientracker. Verwandt mit der Idee, aber der Suchende will Workout-Apps. Du könntest sogar ranken; die Installationen werden nicht kommen, und die, die kommen, bleiben nicht.

Nachfrage 0 bedeutet unbekannt, nicht null. Nie vorgeschlagen liegt unter dem, was Autocomplete messen kann (dasselbe wie Popularität 5, der Boden, in Apple Search Ads). Eine solche Phrase im Keyword-Feld ist ein Lottoschein. Die Titel- und Untertitel-Keywords müssen klar messbare Nachfrage haben; Boden-Phrasen sind nur Füllmaterial, nachdem die bewährten platziert sind.

Beurteile den Wettbewerb im Verhältnis zum Stadium der App.

  • Neue App: visiere Wettbewerb ≤ 55 für aktuelle Rankings an. Eine stärkere Phrase im Titel ist eine Wette auf die Zukunft, also muss das Keyword-Feld gewinnbare Phrasen für den Moment tragen.
  • Etablierte App (tausende Bewertungen): Wettbewerb bis etwa 70 wird angreifbar, weil Ranking-Autorität mit Installationen und Bewertungen wächst.
  • Eine Live-App, die ~100+ für eine Phrase in ihrem eigenen Titel oder Untertitel rankt (siehe --app-id) hat ein Autoritätsproblem, kein Keyword-Problem. Mehr Keywords werden es nicht beheben; Installationen und Bewertungen schon.

4. Lese die Marktübersicht

Die zweite Tabelle listet die Apps, die in den Top 10 für die meisten Phrasen erscheinen: die etablierten. Für die Top 5–10:

  • Größe: eine Bewertungsanzahl in den Hunderttausenden bedeutet einen finanzierten Marktführer, während Tausende indie-groß und schlagbar bedeutet.
  • Aktualität: Ein letztes Update vor mehr als einem Jahr bedeutet einen stagnierenden Marktführer, was eine Marktlücke ist.
  • Qualität: Eine durchschnittliche Bewertung unter etwa 4,3 bedeutet, dass Nutzer unzufrieden sind. Ihre Rezensionen sind eine Feature-Liste für dich.
  • Geschäftsmodell: Der Preis steht in der Tabelle. In-App-Käufe und Abonnementpreise sind nicht in der API, aber die Store-Seite enthält sie. Rufe https://apps.apple.com/de/app/id<trackId> mit curl auf, HTML-unescape es und lese das JSON nach "title":"In-App-Käufe": jedes textPair ist ein Produkt und sein Preis, z.B. King of Maths "Vollversion" / "3,99 €". Eine Kategorie, in der jeder Marktführer ein Abonnement verlangt, beweist, dass die Leute zahlen. Ein starker Konkurrent mit einmaliger Freischaltung setzt den Preisanker, mit dem du verglichen wirst.
  • Suchdominanz vs. Bekanntheit: zähle, wie oft jede App in den Top 3 aller Phrasen ist (keywords.json → top). Ein berühmter Konkurrent kann in der Suche abwesend sein. Zum Beispiel war King of Math (3k Bewertungen, 15 Jahre alt) in 0 von 178 Mathe-Phrasen in den Top 3, während Kopfrechnen Karten Spiele & Tipps in 41 Phrasen in den Top 3 war.

5. Gib das Urteil ab

Verwende diese Struktur:

  1. Urteil: go / go für eine Nische / vermeiden, in einem Satz, mit Begründung.
  2. Sweet-Spot-Keywords: die Top 5–10 nach Chance, jedes mit Nachfrage, Wettbewerb und warum es ausgewählt wurde.
  3. Segmente: eine Tabelle von Keyword-Clustern mit Nachfrage, Wettbewerb und was jedes bedeutet (wie im Beispiel unten).
  4. Wem gehört der Markt: die Top-Etablierten, ihre Größe, Aktualität und Geschäftsmodell.
  5. App Store Metadaten:
    • Titel: bis zu 30 Zeichen. Keyword zuerst, Marke zweitens: "Kalorientracker — Glow Up" schlägt "Glow Up — Kalorientracker", weil Leute das Keyword suchen, nicht eine unbekannte Marke, und frühere Wörter mehr Gewicht haben. Marke zuerst ist eine bewusste Entscheidung des Nutzers, niemals die Voreinstellung.
    • Untertitel: bis zu 30 Zeichen. Das zweitstärkste Keyword, beschreibend formuliert: "Tracke Makros & nimm ab" ist ein Untertitel, "Fühle dich jeden Tag großartig" verschwendet 30 Zeichen.
    • Keyword-Feld: bis zu 100 Zeichen, kommagetrennt ohne Leerzeichen. Wiederhole keine Wörter, die bereits im Titel oder Untertitel stehen (Apple kombiniert sie), verwende Singularformen und lasse Markennamen und den Kategorienamen der App weg.
    • Apple-Produktnamen (iPhone, iPad, Apple Watch) im Titel oder Untertitel führen zur Ablehnung (Richtlinie 5.2.5). Im Keyword-Feld sind sie in Ordnung und lohnenswert, wenn die App wirklich z.B. eine Watch-App hat.
    • Überprüfe es: python3 -I scripts/check_metadata.py --title "…" --subtitle "…" --keywords "…" schlägt bei Grenzen und Apple-Namen fehl und warnt vor verschwendeten Zeichen.
    • Präsentiere es als Tabelle: Keyword, die Oberfläche, der es zugewiesen ist (Titel, Untertitel oder Keyword-Feld), Nachfrage, Wettbewerb und eine einzeilige Intent-Begründung. Hole die explizite Zustimmung des Nutzers zu den Titel- und Untertitel-Keywords ein, bevor du Listungen schreibst oder etwas davon lokalisiert.
    • Titel, Untertitel und Keyword-Feld ändern sich nur mit einer neuen App-Version (Werbetext ist das einzige live bearbeitbare Feld), also plane Keyword-Änderungen so, dass sie mit dem nächsten Release einhergehen.
  6. Einschränkungen: die unten genannten relevanten Einschränkungen.

Einschränkungen (nenne immer die relevanten)

  • Nachfrage ist relativ, nicht absolut. Die Autocomplete-Position ordnet Phrasen gegeneinander; sie gibt keine Download-Zahlen. Die wahre Metrik ist die Apple Search Ads Popularität (5–100), erhältlich über ein Apple Search Ads Konto oder kostenpflichtige Tools wie Astro.
  • Wettbewerb verwendet Bewertungszahlen als Proxy für Downloads. Es ist korreliert, aber nicht dasselbe.
  • Ergebnisse sind eine Momentaufnahme. Führe erneute Läufe in einen datierten Ordner durch, um Trends zu sehen.
  • Der US App Store ist die Voreinstellung. Andere Länder benötigen einen eigenen Lauf.

Astro (kostenpflichtiges Keyword-Tool), falls installiert

Astro (/Applications/Astro.app, Bundle matteospada.it.ASO) liefert die echte Search Ads Popularität und einen eigenen Schwierigkeitsgrad. Was darüber herausgefunden wurde (Oktober 2026):

  • Demo-Limit: die Demo-Version erlaubt 10 Keywords pro App, und Popularität, Schwierigkeit und Vorschläge benötigen eine Lizenz.
  • MCP-Server: Astro hat einen eigenen, dokumentiert unter tryastro.app/docs/mcp, aktiviert über den Startbildschirm. Er benötigt eine Lizenz. Wenn er lizenziert ist und läuft, bevorzuge seine Tools für Popularität und Schwierigkeit gegenüber den Heuristiken hier. Der Workflow lässt sich darauf abbilden:
    • Lege die Recherche für eine noch nicht veröffentlichte App in einem temporären Ordner oder Tag ab, damit sie von der Live-Verfolgung getrennt bleibt.
    • Saatphrasen: get_keyword_suggestions, plus extract_competitors_keywords für die 3–5 engsten Rivalen (finde sie mit search_app_store).
    • Pro Markt: search_rankings auf der lokalen Storefront zeigt, wer dort gewinnt.
    • Es berichtet auch, wie viele Apps ein Keyword in ihrem Namen oder Untertitel verwenden. Viele sind ein Beweis dafür, dass die Phrase gesucht wird; null bei einer beliebten Phrase ist der oben beschriebene Hinweis.
  • Lokale Daten: gespeichert in ~/Library/Containers/matteospada.it.ASO/Data/Library/Application Support/Astro/Model.sqlite (Core Data). Kopiere immer die Datei und ihre -wal- und -shm-Dateien, bevor du sie liest.
    • Keywords sind in ZKEYWORD: ZTEXT, ZSTORE, ZPOPULARITY, ZDIFFICULTY, ZAPPSCOUNT, ZCURRENTRANKING.
    • Zeitstempel sind Sekunden seit 2001, also addiere 978307200 für Unix-Zeit.
  • Rufe Astros Server (api.tryastro.app) nicht direkt auf. Seine Popularitätsdaten sind das lizenzierte Produkt. Verwende die App, ihren MCP-Server oder bitte den Nutzer, die Keywords in Astro hinzuzufügen und dann die lokale Datenbank zu lesen.
  • Das Steuern seines Fensters über Skripte ist unzuverlässig. Es ist eine SwiftUI-App, deren Seitenleiste auf Skript-Klicks nicht reagiert, und die Bildschirmaufnahme benötigt eine Berechtigung, die das Terminal normalerweise nicht hat.

RankPilot (unser eigener Tracker), sobald die App live ist

RankPilot ist unser lokaler App Store Keyword-Tracker (Node 22.5+, keine Abhängigkeiten, Daten in ~/.rankpilot/rankpilot.db). Dieser Skill entscheidet, was vor und beim Launch anvisiert wird; RankPilot verfolgt es dann: Ranking-Verlauf pro Keyword und Land, was sich seit der letzten Prüfung geändert hat und welche Apps dich schlagen. Übergib, sobald die Listung live ist.

  • Seine MCP-Tools (node bin/rp.js mcp install registriert sie): status, app_add (deine oder die eines Wettbewerbers), keywords_add, keywords_localize (KI schreibt die lokale Phrase für jeden Markt), check_run, board_get (Keywords × Länder mit Rang, vorherigem Rang, Volumen, Schwierigkeit, Urteil und bis zu 5 Apps, die dich pro Land schlagen), term_get (eine erklärte Phrase mit den Top 10 und ihrer Relevanz), keywords_brainstorm.
  • Übergabe: füge die App mit app_add hinzu, füge die genehmigten Keywords (Titel, Untertitel und Keyword-Feld) mit keywords_add hinzu, setze die local...

Individual skills in this repo

This repo contains 6 individual skills — each has its own dedicated page.

app-icon-design

Create, revise, and audit app icons using Apple's Human Interface Guidelines, with a clear visual identity and production-ready deliverables.

app-offer

Designs one opinionated "Grand Slam Offer" for any app idea, new or already shipped, by running Alex Hormozi's $100M Offers method adapted to app stores. It covers the market and niche, the commodity check, a value-equation audit, the problem inventory, delivery vehicles, the trimmed value stack, pricing and tiers, scarcity, urgency, bonuses, the guarantee, naming, the paywall per placement, the onboarding fast win, a test plan and a ship plan. It works within App Store and Google Play rules. For a shipped app it reads the code and notes first and produces a before/after. Use it when the user says "/app-offer", "run app-offer on <idea>", "make a grand slam offer for my app", "Hormozi my app", "price my app" or "design my paywall offer", or asks how to package, price, name, guarantee or paywall an app. It writes offer/grand-slam-offer.md (or ./<app-slug>-grand-slam-offer.md for a new idea).

brand-reference-pack

Build or refresh a shortform brand reference pack for any app from its real surfaces — website, App Store listing and reviews, socials, the live app (driven end to end on the simulator) and its code tokens — plus a status check of the upstream foundations (ICP, voice of customer, brand voice). Produces the context that content formats and design decisions are made from, as markdown, tokens.json and a PDF. Use for "build a brand pack for <app>", "refresh the brand pack", "capture the site/app/socials for shortform", "/brand-reference-pack".

deep-work

Timekeeper and scribe for the user's own timeboxed build session, default 90 min, also 1h / 1.5h / 2h (Orient, Build, Verify, Harden, Close, scaled to the block). Use when the user says "start a session", "deep work", "90 min block", "work block", or invokes /deep-work. Subcommands: status, park <note>, close, abort.

new-app-info

Builds the information pack Apple asks for when App Review replies "We need additional information to better understand the app". It covers all six required items: (1) a screen recording on a physical device, as a shot list the user records; (2) the app's purpose and target audience; (3) setup and main features, with any login credentials or sample files; (4) the external services the app uses; (5) regional differences; (6) regulated industry or protected third-party material. It also runs Apple's "Prevent common issues" checks. Every answer comes from the app's own code (accounts, user-generated content, in-app purchases, SDKs, locales, screen-capture blocking, data deletion). It reads the connected iPhone's iOS version and checks it is the latest. It ends by telling the user to paste the reply into App Review Information → Notes. Use it when the user pastes that App Review message, says "/new-app-info", "we got rejected, they want more info", "answer App Review", or "make the App Store review pack". It w...

reel-motion-graphics

Turn a script or concept into an on-brand 9:16 explainer reel (luxury tech, warm sand on near-black, glassmorphism, CSS 3D, Bodoni + Instrument Sans) built in HyperFrames, with the animation above the fold and the presenter's talking head below. Use when the user gives a script, transcript, paper summary or concept and asks for a reel, motion graphics, an animated explainer or "the same style as the upcycling reel". Produces a HyperFrames project, a rendered MP4 and a live artifact player.

Verwandte Skills