TurundusStrateegia

Taskuhäälingu sisuvoog

Teeb taskuhäälingu RSS-voost või transkriptist sisu kõigisse kanalitesse.

EEric Siu·Turundus·MIT

Kogu oskus — vaikeversiooni hoitakse GitHubis; sinu muudatused jäävad sinu enda klooni.

Kasuta seda oskustLaadi alla .zip
Kuidas see töötab?
  • ChatGPT avab uue vestluse, kuhu oskus on laaditud. Kui see on lingi jaoks liiga pikk, kopeeritakse see lõikelauale — lihtsalt kleebi.
  • Claude töötab samamoodi. Püsivaks paigaldamiseks laadi alla .zip ja lae see üles: Claude → Settings → Capabilities → Skills (Pro/Team/Enterprise).
  • Kopeeri oskus kopeerib oskuse, et saaksid selle kleepida mis tahes assistenti, sh Grok.

Sissejuhatus (käivitub oskuse alustamisel)

# Version check (silent if up to date)
python3 telemetry/version_check.py 2>/dev/null || true

# Telemetry opt-in (first run only, then remembers your choice)
python3 telemetry/telemetry_init.py 2>/dev/null || true

Privaatsus: see oskus logib kasutust lokaalselt kausta ~/.ai-marketing-skills/analytics/. Kaugtelemeetria on ainult vabatahtlik (opt-in). Koodi, failiteid ega repo sisu ei koguta kunagi. Vaata telemetry/README.md.


Podcastist-kõigeks konveier

Muudab podcasti episoodid täielikuks sisukalendriks üle kõigi platvormide. Üks episood sisse, 15–20 sisutükki välja — hinnatud, dubleeringutest puhastatud ja ajastatud.


1. samm: sissevool — hangi transkript

Määra sisendallikas ja hangi puhas transkript.

Variant A: RSS-voog (--rss <url>)

  1. Tõmba RSS-voo XML
  2. Võta välja uusima episoodi heli-URL (või kasuta partii jaoks --episodes N)
  3. Laadi helifail alla
  4. Transkribeeri OpenAI Whisper API kaudu (koos ajatemplitega)
  5. Salvesta transkript koos episoodi metaandmetega (pealkiri, kuupäev, kirjeldus, kestus)

Variant B: tooranskript (--transcript <file>)

  1. Loe transkriptifail (lihttekst, SRT või VTT)
  2. Parsi ajatemplid, kui olemas
  3. Võta episoodi metaandmed failinimest või küsi kasutajalt

Variant C: partiirežiim (--batch <rss_url> --episodes N)

  1. Tõmba RSS-voog
  2. Võta välja viimased N episoodi
  3. Töötle igaüks kogu konveieri läbi
  4. Eemalda dubleeringud kõigi partii episoodide vahel

Transkripti puhastamine


2. samm: toimetuslik aju — süvaanalüüs

Söötke kogu transkript LLM-ile selle väljavõtmise raamistikuga:

Võta välja need sisuaatomid:

  1. Narratiivikaared — terviklikud looliigud ülesehitusega seadistus → pinge → lahendus. Märgi algus-/lõppajatemplitega.

  2. Tsiteeritavad hetked — löövad, jagatavad väited. Üherealised, mis seisavad omaette. Peavad läbima testi „kas keegi teeks sellest ekraanipildi?“.

  3. Vastuolulised seisukohad — arvamused, mis lähevad vastuollu tavapärase tarkusega. Need, mis panevad inimesed vastama „täiesti nõus ei ole“ või „lõpuks keegi ütles välja“.

  4. Andmepunktid — konkreetsed numbrid, protsendid, dollarisummad, ajavahemikud. Konkreetsed tõenduspunktid, mis lisavad usaldusväärsust.

  5. Lood — isiklikud anekdoodid, juhtumiuuringud, kliendinäited. Peavad sisaldama tegelast, probleemi ja tulemust.

  6. Raamistikud — sammhaaval protsessid, mõttemudelid, otsustusmaatriksid. Kõik struktureeritu, mida inimesed salvestaksid või järjehoidjasse paneksid.

  7. Ennustused — tulevikku suunatud väited trendide, turgude, tehnoloogia kohta. Terasvad seisukohad selle kohta, kuhu asjad liiguvad.

Väljundvorming aatomi kohta:

- Type: [narrative_arc | quote | controversial_take | data_point | story | framework | prediction]
- Content: [extracted text]
- Timestamp: [start - end, if available]
- Context: [what was being discussed]
- Viral Score: [0-100, see Step 4]
- Suggested platforms: [where this atom works best]

3. samm: sisu loomine — üks episood, palju tükke

Iga episoodi puhul loo kõik järgnevad väljavõetud aatomitest:

3a. Lühivideoklipid (3–5 episoodi kohta)

- Hook: [First 3 seconds — pattern interrupt or bold claim]
- Clip segment: [Timestamp range from transcript]
- Caption overlay: [Text for the screen]
- Platform: [YouTube Shorts / TikTok / Instagram Reels]
- Why it works: [What makes this clippable]

Prioriteedi järjekord: vastuolulised seisukohad > lood puändiga > üllatavad andmepunktid

3b. Twitteri/X-i lõimed (2–3 episoodi kohta)

- Thread hook (tweet 1): [Curiosity gap or bold opener]
- Thread body (5-10 tweets): [Each tweet is one complete thought]
- Thread closer: [CTA — follow, reply, retweet trigger]
- Source atoms: [Which content atoms feed this thread]

Reeglid: ükski säuts ei ületa 280 tähemärki. Iga säuts peab seisma omaette. Kasuta andmepunkte tõestusena.

3c. LinkedIni artikli mustand (1 episoodi kohta)

- Headline: [Specific, benefit-driven]
- Hook paragraph: [Before the "see more" fold — must earn the click]
- Body: [3-5 sections with headers, 800-1200 words]
- CTA: [Engagement driver — question, not link]
- Hashtags: [3-5 relevant, not spammy]

Hääl: professionaalne, kuid mitte korporatiivne. Esimeses isikus. Loopõhine.

3d. Uudiskirja sektsioon (1 episoodi kohta)

- Section headline: [Scannable, specific]
- TL;DR: [One sentence, the core insight]
- Body: [3-5 bullet points, each with a takeaway]
- Pull quote: [The most shareable line from the episode]
- Link: [Back to full episode]

3e. Tsitaadikaardid (3–5 episoodi kohta)

- Quote text: [Max 20 words — must work as text overlay]
- Attribution: [Speaker name]
- Background suggestion: [Color/mood that matches the tone]
- Platform sizing: [1080x1080 for IG, 1200x675 for Twitter, 1080x1920 for Stories]

3f. Blogipostituse ülevaade (1 episoodi kohta)

- Title: [SEO-optimized, includes primary keyword]
- Primary keyword: [Search volume + difficulty estimate]
- Secondary keywords: [3-5 related terms]
- Meta description: [155 chars max]
- H2 sections: [5-7, each maps to a content atom]
- Internal linking opportunities: [Topics that connect to existing content]
- Estimated word count: [1500-2500]

3g. YouTube Shortsi / TikToki stsenaarium (1 episoodi kohta)

- HOOK (0-3s): [Pattern interrupt — question, bold claim, or visual]
- SETUP (3-15s): [Context — why should they care]
- PAYOFF (15-45s): [The insight, data, or story resolution]
- CTA (45-60s): [Follow, comment prompt, or part 2 tease]
- On-screen text: [Key phrases to overlay]
- B-roll suggestions: [Visual ideas if not talking-head]

4. samm: sisu hindamine — viiruslik potentsiaal

Hinda iga loodud tükki kolmel mõõtmel (igaüks 0–100):

Mõõde Mida see mõõdab Signaalid
Uudsus Kas see on uus või üllatav? Vastuvoolu seisukohad, ootamatud andmed, esimene, kes ütleb
Vastuolulisus Kas inimesed vaidlevad selle üle? Tugevad arvamused, normide väljakutsumine, poole valimine
Kasulikkus Kas keegi saab seda kohe kasutada? Raamistikud, õpetused, mallid, konkreetsed numbrid

Viiruslikkuse skoor = (Uudsus × 0,4) + (Vastuolulisus × 0,3) + (Kasulikkus × 0,3)

Skoori künnised:


5. samm: dubleeringute mootor

Enne lõpetamist kontrolli kogu loodud sisu järgneva vastu: 1. See partii — kaks tükki ei tohiks katta sama nurka 2. Hiljutine ajalugu — võrdle viimase N päeva väljundiga (vaikimisi: 30) 3. Sarnasuse künnis — märgi iga paar, millel on >70% semantilist kattuvust

Dubleeringute reeglid:


6. samm: kalendri loomine (--calendar)

Koonda hinnatud, dubleeringutest puhastatud sisu iganädalasse avaldamiskalendrisse.

Ajastamise reeglid:

Kalendri väljundvorming:

{
  "week_of": "2024-01-15",
  "episode_source": "Episode Title - Guest Name",
  "content_pieces": [
    {
      "date": "2024-01-15",
      "time": "09:00 ET",
      "platform": "twitter",
      "type": "thread",
      "content": "...",
      "viral_score": 85,
      "status": "draft"
    }
  ],
  "total_pieces": 18,
  "avg_viral_score": 72,
  "coverage": {
    "twitter": 6,
    "linkedin": 3,
    "youtube_shorts": 3,
    "newsletter": 1,
    "blog": 1,
    "quote_cards": 4
  }
}

7. samm: väljund

Kogu väljund läheb kausta output/:

output/
├── episodes/
│   ├── YYYY-MM-DD-episode-slug/
│   │   ├── transcript.txt
│   │   ├── atoms.json          # Extracted content atoms
│   │   ├── content_pieces.json # All generated content
│   │   └── calendar.json       # Scheduled calendar
│   └── ...
├── calendar/
│   └── week-YYYY-WNN.json     # Aggregated weekly calendar
├── content_history.json        # Dedup tracking
└── pipeline_log.json           # Run history and stats

CLI viide

# Process latest episode from RSS feed
python podcast_pipeline.py --rss "https://feeds.example.com/podcast.xml"

# Process a local transcript
python podcast_pipeline.py --transcript episode-42.txt

# Batch process last 5 episodes
python podcast_pipeline.py --batch "https://feeds.example.com/podcast.xml" --episodes 5

# Generate weekly calendar from existing outputs
python podcast_pipeline.py --calendar

# Process with custom dedup window
python podcast_pipeline.py --rss "https://feeds.example.com/podcast.xml" --dedup-days 60

# Process and only keep 80+ viral score content
python podcast_pipeline.py --rss "https://feeds.example.com/podcast.xml" --min-score 80

Keskkonnamuutujad

Muutuja Nõutav Kirjeldus
OPENAI_API_KEY Jah (Whisperi jaoks) OpenAI API-võti heli transkribeerimiseks
ANTHROPIC_API_KEY Jah (loomise jaoks) Anthropicu API-võti sisu loomiseks
OPENAI_LLM_KEY Valikuline Eraldi OpenAI võti, kui kasutad loomiseks hoopis GPT-d

Viitefailid

Fail Otstarve
podcast_pipeline.py Peamine konveieri skript
requirements.txt Pythoni sõltuvused
README.md Seadistus- ja kasutusjuhend