podcast-blog-seo — for Claude Code podcast-blog-seo, PodcastAlarm-Site, community, for Claude Code, ide skills, 249905482, sc-domain:podcastalarm.app, (grep for, ) - Image script, Podcast

v1.0.0

À propos de ce Skill

Parfait pour les Agents d'Optimisation de Contenu ayant besoin de fonctionnalités avancées de SEO de blog de podcast avec Jekyll et GitHub Pages This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

Fonctionnalités

Create, update and optimise blog posts on podcastalarm.app (Jekyll + GitHub Pages).
GA4 property: 249905482 (PodcastAlarm.app)
GSC property: sc-domain:podcastalarm.app
Site repo: /Users/jonathanwilson/Developer/PodcastAlarm-site (Jekyll, master branch, GitHub Pages)
Image script: `PodcastAlarm-site/scripts/fetch-podcas

# Sujets clés

JonathanWilson1 JonathanWilson1
[0]
[0]
Mis à jour: 3/20/2026

Skill Overview

Start with fit, limitations, and setup before diving into the repository.

Parfait pour les Agents d'Optimisation de Contenu ayant besoin de fonctionnalités avancées de SEO de blog de podcast avec Jekyll et GitHub Pages This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

Pourquoi utiliser cette compétence

Permet aux agents d'optimiser les publications de blog de podcast en utilisant les propriétés GA4 et GSC, tout en exploitant l'API Listen Notes et les scripts d'image pour un SEO amélioré, le tout intégré à Jekyll et GitHub Pages pour des mises à jour de contenu sans interruption

Meilleur pour

Parfait pour les Agents d'Optimisation de Contenu ayant besoin de fonctionnalités avancées de SEO de blog de podcast avec Jekyll et GitHub Pages

Cas d'utilisation exploitables for podcast-blog-seo

Automatiser les mises à jour des publications de blog de podcast sur podcastalarm.app
Optimiser les publications de blog pour les moteurs de recherche en utilisant les propriétés GA4 et GSC
Générer et mettre à jour du contenu lié aux podcasts avec l'API Listen Notes

! Sécurité et Limitations

  • Nécessite une configuration de Jekyll et GitHub Pages
  • Nécessite un accès à la propriété GA4 et à la propriété GSC
  • Limité au domaine podcastalarm.app

About The Source

The section below is adapted from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Démo Labs

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ et étapes d’installation

These questions and steps mirror the structured data on this page for better search understanding.

? Questions fréquentes

Qu’est-ce que podcast-blog-seo ?

Parfait pour les Agents d'Optimisation de Contenu ayant besoin de fonctionnalités avancées de SEO de blog de podcast avec Jekyll et GitHub Pages This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

Comment installer podcast-blog-seo ?

Exécutez la commande : npx killer-skills add JonathanWilson1/PodcastAlarm-Site/podcast-blog-seo. Elle fonctionne avec Cursor, Windsurf, VS Code, Claude Code et plus de 19 autres IDE.

Quels sont les cas d’usage de podcast-blog-seo ?

Les principaux cas d’usage incluent : Automatiser les mises à jour des publications de blog de podcast sur podcastalarm.app, Optimiser les publications de blog pour les moteurs de recherche en utilisant les propriétés GA4 et GSC, Générer et mettre à jour du contenu lié aux podcasts avec l'API Listen Notes.

Quels IDE sont compatibles avec podcast-blog-seo ?

Cette skill est compatible avec Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Utilisez la CLI Killer-Skills pour une installation unifiée.

Y a-t-il des limites pour podcast-blog-seo ?

Nécessite une configuration de Jekyll et GitHub Pages. Nécessite un accès à la propriété GA4 et à la propriété GSC. Limité au domaine podcastalarm.app.

Comment installer ce skill

  1. 1. Ouvrir le terminal

    Ouvrez le terminal ou la ligne de commande dans le dossier du projet.

  2. 2. Lancer la commande d’installation

    Exécutez : npx killer-skills add JonathanWilson1/PodcastAlarm-Site/podcast-blog-seo. La CLI détectera automatiquement votre IDE ou votre agent et configurera la skill.

  3. 3. Commencer à utiliser le skill

    Le skill est maintenant actif. Votre agent IA peut utiliser podcast-blog-seo immédiatement dans le projet.

! Source Notes

This page is still useful for installation and source reference. Before using it, compare the fit, limitations, and upstream repository notes above.

Upstream Repository Material

The section below is adapted from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Upstream Source

podcast-blog-seo

Install podcast-blog-seo, an AI agent skill for AI agent workflows and automation. Explore features, use cases, limitations, and setup guidance.

SKILL.md
Readonly
Upstream Repository Material
The section below is adapted from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.
Upstream Source

Podcast Blog SEO

Create, update and optimise blog posts on podcastalarm.app (Jekyll + GitHub Pages).

Key IDs

  • GA4 property: 249905482 (PodcastAlarm.app)
  • GSC property: sc-domain:podcastalarm.app
  • Site repo: /Users/jonathanwilson/Developer/PodcastAlarm-site (Jekyll, master branch, GitHub Pages)
  • Listen Notes API key: in /Users/jonathanwilson/Developer/PodcastAlarm/PodcastAlarm/Services/PodcastAPI.swift (grep for apiKey)
  • Image script: PodcastAlarm-site/scripts/fetch-podcast-images.py

Creating a New Blog Post

Step 1: Write the post

File: _posts/YYYY-MM-DD-slug.markdown

markdown
1--- 2layout: post 3title: "POST TITLE (2026)" 4categories: Podcast 5featured-image: "/images/blog/charts/100UK2020/kelly-sikkema-1KfV102FCcQ-unsplash.jpg" 6featured-image-alt: "Description" 7description: "UNDER 160 CHARS. Include 2-3 podcast names. Never mention Podcast Alarm." 8permalink: /blog/slug-here 9author: "Jonathan Wilson" 10authorImage: "/images/blog/me.png" 11--- 12 13<p>Intro paragraph.</p> 14 15{% include callToActionRow.html %} 16 17<br> 18 19<h3><a class="text-info" href="https://podcasts.apple.com/gb/search?term=Podcast+Name">1. Podcast Name</a></h3> 20<img src="/images/blog/charts/NEWDIR/filename.jpg" alt="Podcast Name podcast artwork" width="100" style="border-radius:12px;float:left;margin:0 15px 15px 0;"> 21<p>2-3 sentences. What makes it good, who hosts it, why listen.</p> 22<br style="clear:both;"> 23 24<h3><a class="text-info" href="https://podcasts.apple.com/gb/search?term=Podcast+Name+2">2. Podcast Name 2</a></h3> 25<img src="/images/blog/charts/NEWDIR/filename2.jpg" alt="Podcast Name 2 podcast artwork" width="100" style="border-radius:12px;float:left;margin:0 15px 15px 0;"> 26<p>Description.</p> 27<br style="clear:both;">

CRITICAL: Every entry MUST have:

  1. Apple Podcasts search link on the <h3>
  2. <img> tag with the podcast artwork image
  3. <br style="clear:both;"> after the <p>

Never write <h3> + <p> without the image — the inline artwork is a core part of every post's design. After fetching images, immediately wire them into the post before deploying.

Step 2: Fetch images

Read the API key from PodcastAPI.swift, then write a JSON file and run the script:

bash
1cd /Users/jonathanwilson/Developer/PodcastAlarm-site 2export LISTEN_NOTES_API_KEY="THE_KEY" 3python3 scripts/fetch-podcast-images.py --podcasts-file podcasts.json --output-dir images/blog/charts/NEWDIR

The podcasts.json format:

json
1[ 2 ["Search query for podcast", "explicit-filename.jpg"], 3 ["Another Podcast Host Name", "another-podcast.jpg"] 4]

Always use explicit filenames — similar names like "The Rest Is Politics" / "The Rest Is History" collide when auto-slugified.

Step 3: Check the script output

The script reports NOT FOUND and WRONG MATCH separately. For every NOT FOUND or WRONG MATCH:

  • Swap that podcast for a different one that has an image
  • Re-run the script
  • Repeat until zero failures

Step 4: Verify before deploying

bash
1# Must return nothing (only the featured-image line in frontmatter is OK): 2grep "kelly-sikkema" _posts/YOUR-POST.markdown | grep -v "featured-image" 3 4# Must return nothing (no placeholder references): 5grep "100UK2020" _posts/YOUR-POST.markdown | grep -v "featured-image"

Step 5: Commit and push

bash
1git add _posts/ images/ 2git commit -m "Add new blog post: TITLE" 3git push origin master

Live in 1-2 minutes on GitHub Pages.

Post Formats

Article post (layout: post)

Use <h3> + <p> for each entry. Best for SEO — more text content.

Chart/list post (layout: chart)

For large lists (50-100 items). Top 10 get full cards, rest go in image grids.

Top entries: blogPostListItem.html — takes title, content, link, image

{% include blogPostListItem.html
  title="1) Podcast Name"
  content="Description here."
  link="https://podcasts.apple.com/gb/podcast/..."
  image="/images/blog/charts/DIR/filename.jpg"
%}

Grid entries: blogPostTopChartListItem.html in rows of 3

html
1<div class="row"> 2 <div class="col-md-4"> 3 {% include blogPostTopChartListItem.html 4 title="11) Short Name" 5 content="" 6 link="#" 7 image="/images/blog/charts/DIR/filename.jpg" 8 %} 9 </div> 10 <div class="col-md-4"> 11 {% include blogPostTopChartListItem.html 12 title="12) Short Name" 13 content="" 14 link="#" 15 image="/images/blog/charts/DIR/filename.jpg" 16 %} 17 </div> 18 <div class="col-md-4"> 19 {% include blogPostTopChartListItem.html 20 title="13) Short Name" 21 content="" 22 link="#" 23 image="/images/blog/charts/DIR/filename.jpg" 24 %} 25 </div> 26</div>

Grid title max: 22 characters after the number prefix. Strip "The", host names, "Podcast", "Show":

  • "On Purpose with Jay Shetty" → "On Purpose"
  • "The Totally Football Show" → "Totally Football"

Cross-link between posts:

html
1<p>⭐️Featured in <a class="text-info" href="/blog/other-post">Other Post Title</a></p>

Meta Title & Description Rules

RuleWhy
Include 2-3 podcast names in descriptionSearchers recognise brands, increases CTR
Never mention "Podcast Alarm" or "alarm"Searchers don't know the brand
Add (2026) to titlesFreshness signal
Titles under 60 charactersGoogle truncates longer
Descriptions 150-160 charactersFull SERP display
Lead with the keywordGoogle bolds matching terms

Replacing an Existing Post

  1. New file with today's date and new slug
  2. permalink: /blog/new-slug (evergreen, no year in URL)
  3. redirect_from: /blog/old-slug for 301 redirect
  4. Change old post's permalink (append -old) to avoid conflict

Analysing SEO Data

Pull GA4 and GSC in parallel:

GA4:  run_report on property 249905482
      - 30 days vs previous 30: totalUsers, sessions, screenPageViews, engagementRate
      - by channel: sessionDefaultChannelGroup
      - by page: pagePath

GSC:  get_performance_overview for sc-domain:podcastalarm.app
      get_search_analytics by query (top 20)
      get_search_analytics by page (top 15)

Quick wins = high impressions + low CTR + good position (< 10). Meta rewrites, not content changes.

Image Sourcing Caveats

  1. Listen Notes doesn't have every podcast. BBC Radio 4, niche UK shows often missing. Swap the podcast, don't use a placeholder.
  2. First result is often wrong. Script validates but check the WRONG MATCH report. "The Bunker" returned a paintball podcast.
  3. Never deploy placeholder images. If image can't be sourced, change the podcast.
  4. Verify every image exists, is > 5KB, and is the correct podcast before pushing.

Writing Style

  • Write like recommending shows to a friend — not a listicle robot
  • No filler ("In today's world...", "It's no secret that...")
  • Short paragraphs: 2-3 sentences per entry
  • Every entry needs: podcast name, host, what makes it worth listening to

Compétences associées

Looking for an alternative to podcast-blog-seo or another community skill for your workflow? Explore these related open-source skills.

Voir tout

openclaw-release-maintainer

Logo of openclaw
openclaw

Resume localise: 🦞 # OpenClaw Release Maintainer Use this skill for release and publish-time workflow. It covers ai, assistant, crustacean workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

widget-generator

Logo of f
f

Resume localise: Generate customizable widget plugins for the prompts.chat feed system # Widget Generator Skill This skill guides creation of widget plugins for prompts.chat. It covers ai, artificial-intelligence, awesome-list workflows. This AI agent skill supports Claude Code, Cursor, and

flags

Logo of vercel
vercel

Resume localise: The React Framework # Feature Flags Use this skill when adding or changing framework feature flags in Next.js internals. It covers blog, browser, compiler workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

138.4k
0
Navigateur

pr-review

Logo of pytorch
pytorch

Resume localise: Usage Modes No Argument If the user invokes /pr-review with no arguments, do not perform a review. It covers autograd, deep-learning, gpu workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

98.6k
0
Développeur