Communitygithub.com

kkarpushin/reels-trends

Recherche, welche Instagram Reels in einer Nische, einem Markt, einer Sprache und einem Datumsbereich viral gehen – mit Apify. Findet Reels anhand mehrsprachiger Keywords und Hashtags, vergleicht jedes Reel mit den üblichen Aufrufen des Autors (der ×-Multiplikator), kennzeichnet die Format-Typen der Spitzenreiter anhand von Videoframes und erstellt einen HTML-Report mit Erkenntnissen und sofort umsetzbaren Ideen.

Was ist reels-trends?

Dieses Skill ermöglicht es einem KI-Agenten (z. B. Claude Code), systematisch zu analysieren, welche Instagram-Reels in einer bestimmten Nische viral gehen, und erklärt die Gründe in einem handlungsorientierten Bericht. Die Kernmetrik ist der **×-Multiplikator** (Reel-Aufrufe geteilt durch die medianen Aufrufe des Autors), der Formateffekte von reinen Reichweiteneffekten großer Accounts trennt. Der Workflow umfasst die Konfiguration von Suchabfragen pro Sprache/Markt, das Scrapen von Reels über Apify (Memo23- oder Hashtag-Engine), die Berechnung von Scores und das Labeln von Video-Frames durch Sub-Agenten. Der finale Report enthält interaktive Tabellen, Format-Analysen und direkt umsetzbare Ideen für die Content-Erstellung. Das Skill unterstützt Windows und Unix, benötigt einen Apify-Token und Python-Pakete wie `lingua-language-detector` und `pillow`.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kkarpushin/reels-trends/tree/HEAD/skills/reels-trends

In Ihrer bevorzugten KI fragen

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

Dokumentation

Reels-Trends-Recherche

Findet heraus, welche Instagram Reels in einer Nische in einem bestimmten Zeitraum viral gegangen sind, und erklärt warum – mit einem Bericht, auf den der Benutzer reagieren kann.

Die zentrale Metrik ist × zum Median des Autors: Reel-Aufrufe geteilt durch die medianen Aufrufe der letzten Videos des Autors (Mindestwert 1.000). Sie trennt Reels, die aufgrund des Formats durchgestartet sind, von solchen, die nur groß sind, weil der Account groß ist.

Skripte liegen in ${CLAUDE_SKILL_DIR}/scripts/, Referenznotizen in ${CLAUDE_SKILL_DIR}/references/. Jedes Skript nimmt den Ausführungsordner (RUN unten) als erstes Argument und gibt aus, was es getan hat und was es gekostet hat.

Vorbereitung

  1. Apify-Token. Überprüfen mit echo ${APIFY_TOKEN:+set} oder der Datei ~/.config/reels-trends/apify_token. Wenn beides nicht existiert, den Benutzer bitten, einen Token unter https://console.apify.com/settings/integrations zu erstellen und mit mkdir -p ~/.config/reels-trends && read -s T && echo "$T" > ~/.config/reels-trends/apify_token && chmod 600 ~/.config/reels-trends/apify_token zu speichern. Unter Windows: setx APIFY_TOKEN "<token>" und das Terminal neu starten. Den Token niemals ausdrucken, protokollieren oder committen.
  2. Python-Pakete. python3 -c "import lingua, PIL"; bei Fehler: pip install lingua-language-detector pillow (ggf. mit --user oder in einer virtuellen Umgebung, falls pip sich weigert). ffmpeg ist optional, aber dringend empfohlen: Ohne es labeln die Agenten die Spitzenreiter nur anhand von Covern. Unter Windows python verwenden, wo diese Datei python3 sagt.
  3. Briefing. Nur das fragen, was nicht abgeleitet werden kann, in einer Nachricht, mit Standardwerten:
    • Nische, in den Worten des Benutzers (und was ausgeschlossen werden soll, z. B. „Zahnmedizin, nicht Zahnmedizinstudenten“);
    • Märkte: Länder oder Sprachen, oder „die ganze Welt“;
    • Zeitraum: Standard die letzten 30 Tage; ein Fenster, das heute endet, ist in Ordnung, die neuesten Reels haben einfach weniger Aufrufe;
    • Budget in USD: Standard $5 bei einem kostenlosen Apify-Plan, $10-15 bei einem kostenpflichtigen;
    • Berichtssprache: Standard die Sprache, die der Benutzer schreibt (UI-Strings existieren für ru und en).

Arbeitsablauf

1. Ausführungsordner und Konfiguration

reels-research/<kurz-slug>/ im aktuellen Projekt erstellen (oder wo der Benutzer es wünscht; falls das Projekt ein Git-Repo ist, reels-research/ zur .gitignore hinzufügen) und config.json schreiben. Zuerst ${CLAUDE_SKILL_DIR}/references/config.md lesen: Es erklärt jedes Feld und wie man gute Suchanfragen schreibt. Das Wesentliche:

  • segments: eines pro Sprache oder Markt, mit 8-30 nativen Suchanfragen für große Märkte (echte Sätze, die Benutzer tippen, Dienstnamen, Slang) und 3-6 für kleine, plus min_views skaliert auf den Markt. Englische Suchanfragen ziehen Inhalte aus der ganzen Welt; jede Suchanfrage in der eigenen Sprache des Marktes schreiben.
  • relevance_regex: Wortstämme der Nische in jeder durchsuchten Sprache (ein Reel muss übereinstimmen, um behalten zu werden).
  • exclude_regex: Was nie zählen darf (Erwachseneninhalte, Spam, nicht verwandte Bedeutungen des Nischenworts).
  • topics: 8-12 Unterthemen mit mehrsprachigen Regexen, geordnet von spezifisch zu generisch, plus fallback_topic.
  • focus_topics: Themen, die sprachübergreifend verglichen werden sollen. ${CLAUDE_SKILL_DIR}/references/examples/ enthält eine vollständige weltweite Konfiguration (Massage, 19 Sprachen) und eine kleine Konfiguration für den kostenlosen Plan.

2. Account-Prüfung und Kosten

python3 ${CLAUDE_SKILL_DIR}/scripts/check.py RUN
python3 ${CLAUDE_SKILL_DIR}/scripts/search.py RUN --dry

check.py liest den Plan und wählt die Engine aus: memo23 bei bezahlten Apify-Plänen (Datum- und Ansichtenfilter auf dem Server, Fehlversuche sind kostenlos) oder hashtag beim kostenlosen Plan (memo23 liefert kostenlosen Accounts nur eine Suchanfrage mit wenigen Ergebnissen). Den Benutzer in ein oder zwei Zeilen über den Plan, die Engine, die Worst-Case-Kosten und das Budget informieren. Die Skripte starten keine Läufe über dem verbleibenden budget_usd; nur mit Zustimmung des Benutzers erhöhen.

3. Suchen und Zusammenführen

python3 ${CLAUDE_SKILL_DIR}/scripts/search.py RUN          # 5-25 min, im Hintergrund ausführen
python3 ${CLAUDE_SKILL_DIR}/scripts/merge.py RUN

Die Zusammenfassung lesen, bevor für etwas anderes bezahlt wird:

  • viele not_in_niche: der Regex ist zu eng oder die Suchanfragen driften ab; viele behaltene Reels sind themenfremd: der Regex ist zu breit;
  • eine Sprache mit sehr wenigen Reels: Suchanfragen in dieser Sprache hinzufügen und search.py RUN --only SEG --tag extra2 ausführen, dann erneut zusammenführen (Rohdateien summieren sich);
  • bei der Hashtag-Engine sind outside_dates oft 70-90%: ein 30-60-Tage-Fenster verwenden, mehr und spezifischere Hashtags, größeres search.hashtag_results, oder einen kostenpflichtigen Plan vorschlagen.

4. Autoren, Multiplikator, Spitzenreiter

python3 ${CLAUDE_SKILL_DIR}/scripts/profiles.py RUN --dry   # dann ohne --dry
python3 ${CLAUDE_SKILL_DIR}/scripts/score.py RUN
python3 ${CLAUDE_SKILL_DIR}/scripts/leaders.py RUN

Profile werden nur für Autoren abgerufen, deren Reel über profiles.floor_by_lang liegt; Floors oder --max anpassen, um das Budget einzuhalten. Spitzenreiter = globales Top nach × (mit einem Aufrufe-Mindestwert) + Top nach Aufrufen + Top nach × innerhalb jeder Sprache. Bei einem weltweiten Lauf 100-250 Spitzenreiter anstreben, bei einem einzelnen Markt 30-80.

5. Spitzenreiter anreichern (alle drei parallel ausführen)

python3 ${CLAUDE_SKILL_DIR}/scripts/transcripts.py RUN
python3 ${CLAUDE_SKILL_DIR}/scripts/about.py RUN        # Land jedes Spitzenreiter-Kontos, nur kostenpflichtige Pläne
python3 ${CLAUDE_SKILL_DIR}/scripts/media.py RUN        # 4-Frame-Streifen + Cover; CDN-Links laufen in Tagen ab, also bald nach der Suche ausführen

6. Spitzenreiter anhand von Frames labeln

python3 ${CLAUDE_SKILL_DIR}/scripts/batches.py RUN --size 20

Es schreibt work/label_prompt.md (die Anweisungen, bereits mit der Taxonomie dieser Nische gefüllt) und eine Batch-Datei pro 20 Spitzenreiter, und gibt BATCH- und OUT-Pfade aus. Einen Unter-Agenten pro Batch starten, alle in einer einzigen Nachricht, damit sie parallel laufen, mit dieser Aufforderung:

Lies die Label-Anweisungen in RUN/work/label_prompt.md und befolge sie genau. Ersetze in diesen Anweisungen {BATCH} = und {OUT} = .

Falls keine Unter-Agenten verfügbar sind, die Batches selbst mit denselben Anweisungen labeln. Labels müssen durch Betrachten der Frames vergeben werden: viele Reels in visuellen Nischen haben keine Sprache, und die Bildunterschrift beschreibt oft nicht, was auf dem Bildschirm zu sehen ist. Abdeckung prüfen mit python3 ${CLAUDE_SKILL_DIR}/scripts/labels.py RUN.

7. Überprüfung vor dem Zählen

Die Frames der Top-20-Spitzenreiter nach × und jedes Reels öffnen, das ein Agent markiert oder als irrelevant eingestuft hat. Die Regeln in work/overrides.json konsistent über die Batches hinweg festlegen (Format in ${CLAUDE_SKILL_DIR}/references/content.md): zum Beispiel sind reine Trainings-Reels keine Massage; Content-Farmen, die den Körper eines Models verkaufen statt der Dienstleistung, werden mit "flagged": {"<Reel-Code>": "sexualisiert"} versehen; Reposts von fremden Videos erhalten "repost". Markierte Reels bleiben in den Daten und im Report-Raster (standardmäßig ausgeblendet), aber nicht in der Format-Tabelle oder den Ideen.

8. Zahlen und die Geschichte

python3 ${CLAUDE_SKILL_DIR}/scripts/stats.py RUN

Die Zusammenfassung lesen und 6-7 Erkenntnisse finden, auf die ein Geschäftsinhaber reagieren kann. Jede Behauptung anhand der Daten überprüfen, bevor sie geschrieben wird:

  • eine Behauptung, dass etwas in einer Sprache fehlt, benötigt den Nachweis, dass in dieser Sprache mit den richtigen Wörtern gesucht wurde (ggf. Suchanfragen hinzufügen und erneut ausführen);
  • Formate mit weniger als 5 Spitzenreitern erhalten einen Hinweis auf „wenige Reels“;
  • jede zusätzliche Zahl mit einem kurzen Python-Snippet über work/scored.json und work/cls/ berechnen, niemals aus dem Gedächtnis. Dann RUN/content.json gemäß ${CLAUDE_SKILL_DIR}/references/content.md schreiben: Erkenntnisse, Notizen zu Formaten, Themen und Sprachen, 8-10 Ideen (Titel, einen Hook, den der Benutzer vor der Kamera sagen kann, warum es funktioniert mit Zahlen, 2-3 Beispiel-Reel-Codes) und 12-16 Hooks für den Abschnitt „erste Sekunden“.

9. Bericht

python3 ${CLAUDE_SKILL_DIR}/scripts/build.py RUN

Liefert report/index.html (im Browser öffnen), report/artifact.html (nur Body-Version zur Veröffentlichung als Claude-Artefakt, falls die Umgebung ein Artifact-Tool bietet) und report/reels.json (alle Reels mit Scores und Labels). Dem Benutzer mitteilen, wo der Bericht ist, was der Lauf insgesamt gekostet hat (work/spend.jsonl), und die 3-5 nützlichsten Erkenntnisse in einfachen Worten.

Zahlen ehrlich interpretieren

  • Die Suche liefert bemerkenswerte Reels, nicht alle Reels, daher sind die Mediane höher als bei einem typischen Account. Gruppen miteinander vergleichen, nicht mit den eigenen Zahlen des Benutzers.
  • × ist relativ zum Autor: Kleine Accounts erzeugen die größten Multiplikatoren. Das ist der Sinn (Reichweite braucht keine Follower), aber es sollte erwähnt werden.
  • Die Format-Tabelle beschreibt die Spitzenreiter, nicht die gesamte Nische. Die Tabellen zu Thema, Dauer und Followern verwenden alle Reels.
  • Reels aus den letzten Tagen des Fensters sammeln noch Aufrufe.
  • Sprache ist nicht gleich Land. Für Länder about.py verwenden.

Weitere Erkenntnisse aus echten Läufen finden sich in ${CLAUDE_SKILL_DIR}/references/gotchas.md. Vor einem weltweiten oder mehrsprachigen Lauf lesen.

Verwandte Skills