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
- 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 mitmkdir -p ~/.config/reels-trends && read -s T && echo "$T" > ~/.config/reels-trends/apify_token && chmod 600 ~/.config/reels-trends/apify_tokenzu speichern. Unter Windows:setx APIFY_TOKEN "<token>"und das Terminal neu starten. Den Token niemals ausdrucken, protokollieren oder committen. - Python-Pakete.
python3 -c "import lingua, PIL"; bei Fehler:pip install lingua-language-detector pillow(ggf. mit--useroder in einer virtuellen Umgebung, falls pip sich weigert).ffmpegist optional, aber dringend empfohlen: Ohne es labeln die Agenten die Spitzenreiter nur anhand von Covern. Unter Windowspythonverwenden, wo diese Dateipython3sagt. - 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
ruunden).
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, plusmin_viewsskaliert 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, plusfallback_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 extra2ausführen, dann erneut zusammenführen (Rohdateien summieren sich); - bei der Hashtag-Engine sind
outside_datesoft 70-90%: ein 30-60-Tage-Fenster verwenden, mehr und spezifischere Hashtags, größeressearch.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.jsonundwork/cls/berechnen, niemals aus dem Gedächtnis. DannRUN/content.jsongemäß${CLAUDE_SKILL_DIR}/references/content.mdschreiben: 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.pyverwenden.
Weitere Erkenntnisse aus echten Läufen finden sich in ${CLAUDE_SKILL_DIR}/references/gotchas.md. Vor einem weltweiten oder mehrsprachigen Lauf lesen.