Communitygithub.com

Investigación de Podcasts

Skill multiplataforma para agentes que permite búsqueda de podcasts, transcripción local con Whisper y análisis de puntos de vista.

¿Qué es Investigación de Podcasts?

Este skill permite a un agente de IA realizar investigaciones completas sobre podcasts de forma local y sin necesidad de claves API para el flujo principal. Integra la búsqueda en directorios de podcasts (como Apple Podcasts), la descarga de audio desde RSS o YouTube, la transcripción local usando modelos Whisper (con aceleración MLX en Apple Silicon o faster-whisper en otras plataformas) y la generación de un informe estructurado en Markdown que resume los puntos de vista, desacuerdos y evidencia textual de cada episodio. Es compatible con macOS, Linux y Windows, y está diseñado para usarse con asistentes como Claude Code, Cursor o Codex. El skill prioriza la fidelidad a las fuentes: solo usa transcripciones reales para citas directas, etiqueta claramente la evidencia secundaria (como descripciones o resúmenes web) y nunca inventa identidades de hablantes, fechas o citas. Su utilidad radica en permitir un análisis cualitativo de debates y opiniones en podcasts de forma reproducible, offline y transparente, ideal para investigadores, periodistas o cualquier persona que necesite sintetizar múltiples perspectivas sobre un tema.

Compatible con~Claude Code✓Codex CLI~Cursor
npx skills add winnieAI123/podcast-research-skill

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Investigación de Podcasts?

Usa los scripts incluidos con el mismo intérprete de Python utilizado durante la instalación. En macOS/Linux, prefiere python3; en Windows, prefiere py -3. Si el usuario usó otro lanzador durante la instalación, sigue usando ese lanzador. No requieras una clave API para el flujo de trabajo principal.

Verificación Previa

Resuelve el directorio de este archivo como SKILL_DIR. Antes de la primera tarea en una máquina, ejecuta:

python3 "$SKILL_DIR/scripts/check_setup.py" --skill-dir "$SKILL_DIR"

Continúa solo cuando todas las comprobaciones requeridas muestren PASS. Las filas con WARN son alternativas opcionales. Si falla una comprobación requerida, lee references/setup.md, corrige el elemento informado y vuelve a ejecutar la comprobación.

Mantén al menos 5 GB de espacio libre en disco; se recomiendan 8 GB. La descarga inicial del modelo Whisper local es de aproximadamente 0.5–1.6 GB, y el audio descargado requiere espacio adicional.

Flujo de Trabajo

1. Buscar

Elige una consulta en inglés cuando mejore la cobertura, preservando el tema deseado por el usuario.

python3 "$SKILL_DIR/scripts/search_podcasts.py" \
  --topic "TEMA" \
  --days-back 30 \
  --max 10 \
  --output-dir "DIR_TRABAJO"

Usa un directorio de trabajo aprobado por el usuario. El script crea episodes.json.

2. Deja que el usuario seleccione episodios

Muestra los resultados numerados con título, programa, fecha, duración y descripción. Pregunta qué episodios analizar. No descargues todos los resultados sin la selección del usuario a menos que el usuario ya haya solicitado todos los resultados.

3. Descargar

python3 "$SKILL_DIR/scripts/audio_downloader.py" \
  --episodes-json "DIR_TRABAJO/episodes.json" \
  --select "1,3,5" \
  --output-dir "DIR_TRABAJO"

El script intenta primero RSS y luego YouTube. La extracción de YouTube requiere FFmpeg. Escribe episodes_with_audio.json y marca los fallos como unavailable.

4. Transcribir

python3 "$SKILL_DIR/scripts/transcriber.py" \
  --audio-dir "DIR_TRABAJO" \
  --model turbo \
  --language auto

El backend se selecciona automáticamente: MLX en Apple Silicon y faster-whisper en otros entornos. Usa --model small en máquinas más lentas solo con CPU. Usa --model api solo cuando el usuario acepte explícitamente el requisito y el costo de la API de OpenAI.

5. Analizar con fidelidad a las fuentes

Lee la transcripción de cada episodio seleccionado y episodes_with_audio.json. Trata las descripciones y los resúmenes web como evidencia secundaria, nunca como transcripciones. Si el audio no está disponible, usa la descripción del episodio y la búsqueda web solo cuando estén disponibles, etiqueta la evidencia como secundaria y no presentes texto reconstruido como una cita directa.

Escribe un informe conciso en Markdown en DIR_TRABAJO/[tema]_podcast_report.md:

# [Tema] resumen de puntos de vista del podcast

**Fecha de investigación**: AAAA-MM-DD | **Fuente**: Apple Podcasts/RSS | **Alcance**: N episodios

## Conclusión en una oración

Expresa la opinión dominante y el desacuerdo más importante en 2–3 oraciones.

## Resumen de puntos de vista

| Orador u organización | Postura | Opinión central | Cita textual | Episodio |
|---|---|---|---|---|

## Principales desacuerdos

Enumera solo 2–3 desacuerdos genuinos. Atribuye cada posición a un episodio y orador nombrados cuando la transcripción identifique claramente al orador.

## Resúmenes de episodios

### [Programa]: [Episodio]
**Invitado**: ... | **Fecha**: ... | **Duración**: ...

1. De tres a cinco puntos basados en las fuentes.

No inventes identidades de oradores, citas, fechas o posiciones. Cuando la transcripción no establezca quién dijo una línea, atribúyela al episodio en lugar de adivinar.

6. Entregar

Muestra el informe en Markdown y enlaza los archivos de trabajo. Crea un documento de Word solo cuando se solicite:

python3 "$SKILL_DIR/scripts/md_to_docx.py" \
  "DIR_TRABAJO/[tema]_podcast_report.md" \
  "DIR_TRABAJO/[tema]_podcast_report.docx"

En Windows, reemplaza python3 con py -3 y usa rutas de Windows. No traduzcas el script de Python en sí.

Criterios de Finalización

La tarea está completa solo cuando:

  1. Se indican el alcance de la búsqueda y los episodios seleccionados.
  2. Cada episodio descargado tiene una transcripción o está marcado explícitamente como no disponible.
  3. Las citas directas provienen de transcripciones; los resúmenes secundarios están etiquetados.
  4. El informe distingue el consenso del desacuerdo y atribuye las afirmaciones a los episodios.
  5. El informe y los metadatos de respaldo se guardan en el directorio de trabajo.

Alternativas

  • Sin resultados de búsqueda: reintenta una vez con una consulta en inglés más clara o un rango de fechas más amplio.
  • RSS falla: permite la alternativa de YouTube incluida cuando FFmpeg está instalado.
  • Ambas rutas de audio fallan: usa la descripción y la evidencia web disponible, etiqueta la limitación y omite las citas directas.
  • La transcripción es demasiado larga para el contexto: resúmela en fragmentos secuenciales, mantén la atribución al episodio y luego compara los resúmenes de los fragmentos.
  • La transcripción local no está disponible: lee references/setup.md; usa OpenAI solo con la aprobación explícita del usuario y una clave configurada.

Skills relacionados