YouTube Data Skill
Lee datos públicos de YouTube con UnifAPI MCP: operaciones youtube/..., respuestas y límites de cobertura para investigar canales. Nunca sube vídeos.
Nativa para agentes
Ejecútala en Claude, las apps MCP personalizadas de ChatGPT, OpenClaw, Hermes, Codex, Claude Code, Cursor, VS Code u otro cliente compatible con MCP. Sin flujo de GUI dedicado y sin clave API de LLM aparte.
Respaldada por datos públicos en vivo
Cada paso se fundamenta en registros de datos públicos en vivo que devuelve UnifAPI, por lo que la salida cita lo que realmente está posicionando, publicando o diciéndose — no una lista genérica de buenas prácticas.
Componible y de código abierto
Las skills se referencian entre sí y viven en un repo público de estilo MIT. Lee el SKILL.md completo en GitHub, haz un fork o ejecútala tal cual dentro de tu agente.
Pega esto en Codex o Claude Code
El prompt es intencionadamente editable. Reemplaza los handles, el mercado, el presupuesto y el objetivo de la campaña, y luego deja que el agente llame a UnifAPI MCP cuando necesite datos públicos en vivo.
Using the YouTube Data Skill, research who owns the topic "AI coding tools": search videos and channels, read their subscriber and view counts, and pull related videos for demand. Return a cited brief on the strongest channels. Read-only.
La skill completa, renderizada desde su SKILL.md
La vía de lectura determinista para datos públicos de YouTube a través de UnifAPI. Esta es una
Data Skill: no ejecuta un trabajo de marketing por sí sola — nombra las
operaciones youtube/... concretas, las formas de respuesta y los límites reales de cobertura
para que cualquier workflow channel-first o content-first (vetting de creadores, recepción de
competidores, demanda de contenido) lea de una receta conocida en lugar de redescubrir
la superficie cada vez.
Solo lectura — ojos, no manos. Investiga datos públicos de YouTube y devuelve registros citados; nunca sube vídeos, comenta ni se suscribe, y UnifAPI nunca guarda credenciales de YouTube.
Usa la skill unifapi para obtener evidencia en vivo
Conecta una vez a través de la skill compartida unifapi (OAuth MCP), luego llama a las
operaciones de abajo. Los canales se identifican por {channel_id} y los vídeos por
{video_id} — resuelve primero un handle o URL a un channel id (ver Trampas).
Conserva cualquier metadato de billing para que el output pueda indicar el coste por registro.
Contrato de respuesta
Los endpoints de entidad única devuelven el objeto en data:
{
"request_id": "unif_...",
"data": {},
"billing": { "records_charged": 1, "balance_remaining": 99 }
}
Los endpoints de lista devuelven un array en data más pagination:
{
"request_id": "unif_...",
"data": [],
"pagination": { "has_more": false, "next_cursor": null },
"billing": { "records_charged": 1 }
}
Cuando pagination.has_more es true, pasa pagination.next_cursor como el cursor de la
siguiente petición. Conserva siempre billing al reportar el coste.
Operaciones core
| Need | Operation |
|---|---|
| Buscar vídeos | youtube/search (?q=..., opcional sort_by/upload_date/duration/region/language) |
| Buscar canales / playlists | youtube/search/channels · youtube/search/playlists (?q=...) |
| En tendencia | youtube/trending (opcional type = now/music/gaming/movies) |
| Vídeos por hashtag | youtube/hashtags/{tag}/videos |
| Resolver handle/URL → id | youtube/resolve/channel-id (?url=...) |
| Página de canal | youtube/channels/{channel_id} |
| Vídeos / shorts del canal | youtube/channels/{channel_id}/videos · .../shorts |
| Playlists del canal | youtube/channels/{channel_id}/playlists |
| Posts de comunidad del canal | youtube/channels/{channel_id}/community |
| Buscar dentro de un canal | youtube/channels/{channel_id}/search (?q=...) |
| Metadatos de vídeo | youtube/videos/{video_id} |
| Vídeos relacionados | youtube/videos/{video_id}/related |
| Comentarios de vídeo | youtube/videos/{video_id}/comments (opcional sort_by = top/newest) |
| Subtítulos / transcripción de vídeo | youtube/videos/{video_id}/captions |
| Página / vídeos de playlist | youtube/playlists/{playlist_id} · .../videos |
¿Necesitas un campo que no esté listado aquí? Usa get_operation de la skill unifapi para leer
el esquema exacto antes de llamar — pero elige la operación de esta tabla, no
descubras a ciegas.
Workflow
Las recetas deterministas. Elige la que coincida con el trabajo; cada una nombra exactamente qué llamar.
- Encuadra la consulta. Llama a
youtube/search?q=...para saber quién es dueño de un tema, oyoutube/trendingpara lo que está surgiendo ahora. - Resuelve un canal. Llama a
youtube/resolve/channel-id?url=...para obtener elchannel_id, luegoyoutube/channels/{channel_id}parasubscriber_count,video_countyview_count. - Lee el output de un canal. Llama a
youtube/channels/{channel_id}/videos(y.../shorts); elview_countde cada vídeo es la señal de demanda. Pagina víanext_cursor.youtube/channels/{channel_id}/playlistsmapea cómo está organizado el catálogo;youtube/channels/{channel_id}/communitylee anuncios y engagement fuera de los vídeos;youtube/channels/{channel_id}/search?q=...encuentra la cobertura de un creador sobre un tema sin escanear todo el catálogo. - Lee un vídeo y su vecindario. Llama a
youtube/videos/{video_id}para los metadatos (ahora incluyendolike_count,category,published_at,has_captions), luegoyoutube/videos/{video_id}/relatedpara mapear la demanda adyacente y el contenido competidor. - Lee la audiencia y la transcripción. Llama a
youtube/videos/{video_id}/comments(sort_bytop/newest) para lo que dice la audiencia — texto de comentarios en bruto, contadores de likes y respuestas; cualquier agrupación de sentimiento o de FAQ corre por tu cuenta, la API devuelve solo texto. Llama ayoutube/videos/{video_id}/captionspara las pistas de subtítulos (url de timed-text por idioma) para leer o analizar la transcripción. - Recorre una playlist o un hashtag. Llama a
youtube/playlists/{playlist_id}luego.../videospara ingerir una serie curada en orden;youtube/hashtags/{tag}/videosrastrea una campaña o tendencia a través de creadores. - Dimensiona la demanda de un tema. Agrega
view_counten los resultados de búsqueda y relacionados de un tema;title,descriptionykeywordsmuestran cómo está encuadrado el tema. - Cita todo. Cada cifra se ata al vídeo o canal del que provino; reporta
billing.records_charged(o estima cuando falte el metadato de billing).
Notas de forma
YouTubeChannel— identificado por{channel_id}.subscriber_count,video_count,view_count,handle,keywords,links,country,created_at.is_verifiedno lo puebla el upstream y siempre esfalse— no reportes una verificación que no puedes leer.YouTubeVideo— identificado por{video_id}.view_count,like_count(best-effort;0cuando el creador lo oculta),category,channel_id,author,duration_seconds,keywords,published_at,has_captions,is_live,is_private.YouTubeVideoPreview— filas de search/related/list: añadepublished_time.categoryes parte de la forma pero está vacío en las filas de lista (solo el detalle deYouTubeVideolo lleva).YouTubeComment—text,author,author_channel_id,like_count,reply_count,published_time,is_verified,is_creator. Solo texto — sin campo de sentimiento.YouTubeCaptions—video_id,tracks[](language_code, url de timed-texturl,is_translatable),translation_languages[]. Objeto único, facturado como un registro. Las urls de las pistas tienen tiempo limitado.YouTubePlaylist/YouTubePlaylistPreview—titlede la playlist,channel_id,author,video_count(el detalle añadeview_count,last_updated; el preview añadefirst_video_id).YouTubeChannelPreview— filas de search-channels:title,handle,description,subscriber_count,video_count.YouTubeCommunityPost—text,author,vote_count,reply_count,attachment_type,image_url.
Trampas
- Resolve solo llega a channel ids.
youtube/resolve/channel-id?url=...resuelve un handle o URL a un{channel_id}— llámalo antes de cualquier llamada ayoutube/channels/{channel_id}/.... No hay resolver de video-id ni de playlist-id; pasa un{video_id}/{playlist_id}conocido (extráelo tú mismo de la URL). - Los comentarios son texto en bruto.
youtube/videos/{video_id}/commentsdevuelve el texto del comentario más los contadores de likes/respuestas — sin sentimiento, sin agrupación de FAQ. Calcula eso tú mismo a partir del texto; no afirmes un campo de sentimiento que la API no devuelve. like_countes best-effort.YouTubeVideo.like_countes0cuando el creador oculta los likes — trata0como «oculto o ninguno», no como autoritativo.is_verifiedsiempre esfalsepara los canales (el upstream no lo expone) — no reportes verificación de canal.- Los subtítulos pueden estar vacíos. Un vídeo con los subtítulos desactivados devuelve
tracks: []; comprueba antes de prometer una transcripción. Las urls de las pistas tienen tiempo limitado. - Los hashtags toman el tag con o sin un
#inicial (youtube/hashtags/lofi/videos). - Un saldo bajo puede truncar silenciosamente páginas de lista: comprueba
billing.truncated_due_to_balance— cuando es true la página es parcial.
Output
Devuelve los registros que el workflow que llama necesita, cada uno citado a su vídeo o
canal, más una nota de coste de una línea (records_charged). Cuando esta skill se usa
directamente, un brief de demanda compacto es el predeterminado:
**{Channel}** — {subscribers} subscribers, {videos} videos, {totalViews} views. Top videos for {topic}: {title} ({views} views). Related/competitors: {channels}. Evidence: {URLs}. Records: ~{N}.
Related skills
- kol-pricing, creator-shortlist, audience-fit-check (Influencer Marketing) — tarifica y haz vetting de canales de YouTube sobre esta vía de lectura.
- competitor-profiling (Competitive Intelligence), content-opportunity-brief (Content Strategy) — trabajo de recepción y demanda de contenido que lee YouTube primero.
- unifapi — la skill de datos compartida: conecta MCP y busca esquemas exactos con
get_operation.
Fuente: youtube/SKILL.md en GitHub — abre un PR ahí para mejorarla.
Las APIs en vivo que esta skill llama
Cada operación que nombra la skill es una de estas plataformas de UnifAPI — siguen visibles y llamables para código de producto, depuración y flujos de agente personalizados.
- Las operaciones `youtube/...` concretas para cada tarea de lectura de canal/vídeo habitual
- Notas sobre el contrato de respuesta y la forma de canales y vídeos (número de visualizaciones)
- Recetas deterministas: resolver canales, leer la demanda, encontrar contenido relacionado
- Detalles de la plataforma (sin listado de comentarios, señal de view_count, paginación por cursor)