YouTube Data Skill
UnifAPI MCP로 공개 YouTube 데이터를 읽으세요. 채널 리서치를 위한 youtube/... 오퍼레이션, 응답 형태, 커버리지 한계. 업로드하지 않습니다.
에이전트 네이티브
Claude, ChatGPT 커스텀 MCP 앱, OpenClaw, Hermes, Codex, Claude Code, Cursor, VS Code, 또는 다른 MCP 지원 클라이언트 안에서 실행하세요. 전용 GUI 흐름도, 별도의 LLM API 키도 필요 없습니다.
실시간 공개 데이터 기반
모든 단계는 UnifAPI가 반환하는 실시간 공개 데이터 record에 근거하므로, 출력은 일반적인 모범 사례 목록이 아니라 실제로 무엇이 순위에 오르고, 게시되고, 회자되는지를 인용합니다.
조합 가능 & 오픈소스
Skills는 서로를 상호 참조하며 공개된 MIT 스타일 저장소에 있습니다. GitHub에서 전체 SKILL.md를 읽거나, 포크하거나, 에이전트 안에서 그대로 실행하세요.
이것을 Codex 또는 Claude Code에 붙여넣으세요
프롬프트는 의도적으로 수정 가능합니다. 핸들, 시장, 예산, 캠페인 목표를 바꾼 다음, 실시간 공개 데이터가 필요할 때 에이전트가 UnifAPI MCP를 호출하도록 하세요.
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.
SKILL.md에서 렌더링된 전체 skill
UnifAPI를 통한 공개 YouTube 데이터의 결정론적 읽기 경로. 이것은
데이터 스킬입니다: 자체적으로 마케팅 작업을 실행하지 않습니다 — 구체적인
youtube/... 작업, 응답 형태, 그리고 실제 커버리지 한계를 명시하여, 어떤
채널 또는 콘텐츠 우선 워크플로(크리에이터 검증, 경쟁사 반응,
콘텐츠 수요)든 매번 표면을 다시 발견하는 대신 하나의 알려진 레시피에서
읽도록 합니다.
읽기 전용 — 손이 아니라 눈. 공개 YouTube 데이터를 리서치하고 인용된 record를 반환합니다; 절대 업로드하거나, 댓글을 달거나, 구독하지 않으며, UnifAPI는 YouTube 자격 증명을 절대 보유하지 않습니다.
실시간 근거를 위해 unifapi 스킬을 사용하세요
공유 unifapi 스킬을 통해 한 번 연결(OAuth MCP)한 다음, 아래
작업들을 호출하세요. 채널은 **{channel_id}**로, 동영상은
**{video_id}**로 키가 매겨집니다 — 핸들이나 URL을 먼저 채널 id로 해석하세요(함정 참조).
출력이 record 비용을 명시할 수 있도록 모든 billing 메타데이터를 보관하세요.
응답 계약
단일 엔티티 엔드포인트는 객체를 data에 반환합니다:
{
"request_id": "unif_...",
"data": {},
"billing": { "records_charged": 1, "balance_remaining": 99 }
}
리스트 엔드포인트는 배열을 data에 더하여 pagination을 반환합니다:
{
"request_id": "unif_...",
"data": [],
"pagination": { "has_more": false, "next_cursor": null },
"billing": { "records_charged": 1 }
}
pagination.has_more가 true이면, pagination.next_cursor를 다음
요청의 cursor로 전달하세요. 비용을 보고할 때 항상 billing을 보존하세요.
핵심 작업
| Need | Operation |
|---|---|
| Search videos | youtube/search (?q=..., optional sort_by/upload_date/duration/region/language) |
| Search channels / playlists | youtube/search/channels · youtube/search/playlists (?q=...) |
| Trending | youtube/trending (optional type = now/music/gaming/movies) |
| Hashtag videos | youtube/hashtags/{tag}/videos |
| Resolve handle/URL → id | youtube/resolve/channel-id (?url=...) |
| Channel page | youtube/channels/{channel_id} |
| Channel videos / shorts | youtube/channels/{channel_id}/videos · .../shorts |
| Channel playlists | youtube/channels/{channel_id}/playlists |
| Channel community posts | youtube/channels/{channel_id}/community |
| Search within a channel | youtube/channels/{channel_id}/search (?q=...) |
| Video metadata | youtube/videos/{video_id} |
| Related videos | youtube/videos/{video_id}/related |
| Video comments | youtube/videos/{video_id}/comments (optional sort_by = top/newest) |
| Video captions / transcript | youtube/videos/{video_id}/captions |
| Playlist page / videos | youtube/playlists/{playlist_id} · .../videos |
여기 나열되지 않은 필드가 필요합니까? 호출 전에 unifapi 스킬의 get_operation을 사용해
정확한 스키마를 읽으세요 — 하지만 이 표에서 작업을 고르세요, 맹목적으로
발견하지 마세요.
워크플로
결정론적 레시피들. 작업에 맞는 것을 고르세요; 각각은 정확히 무엇을 호출할지 명명합니다.
- 쿼리를 구성하세요. 누가 주제를 차지하는지에는
youtube/search?q=...를, 지금 무엇이 급등하는지에는youtube/trending을 호출하세요. - 채널을 해석하세요.
youtube/resolve/channel-id?url=...를 호출해channel_id를 얻은 다음,subscriber_count,video_count,view_count에는youtube/channels/{channel_id}를 호출하세요. - 채널의 출력을 읽으세요.
youtube/channels/{channel_id}/videos(및.../shorts)를 호출하세요; 각 동영상의view_count가 수요 신호입니다.next_cursor로 페이징하세요.youtube/channels/{channel_id}/playlists는 카탈로그가 어떻게 구성되었는지 매핑하고;youtube/channels/{channel_id}/community는 동영상 외부의 공지와 인게이지먼트를 읽으며;youtube/channels/{channel_id}/search?q=...는 전체 카탈로그를 스캔하지 않고 한 주제에 대한 크리에이터의 커버리지를 찾습니다. - 동영상과 그 이웃을 읽으세요. 메타데이터(이제
like_count,category,published_at,has_captions포함)에는youtube/videos/{video_id}를 호출한 다음, 인접 수요와 경쟁 콘텐츠를 매핑하려면youtube/videos/{video_id}/related를 호출하세요. - 청중과 트랜스크립트를 읽으세요. 청중이 무엇을 말하는지 — 원시 댓글 텍스트,
좋아요 및 답글 수 — 에는
youtube/videos/{video_id}/comments(sort_bytop/newest)를 호출하세요; 모든 감정이나 FAQ 그룹화는 당신이 계산할 몫이며, API는 텍스트만 반환합니다. 트랜스크립트를 읽거나 분석하려면 자막 트랙 (언어별 timed-text url)에youtube/videos/{video_id}/captions를 호출하세요. - 플레이리스트나 해시태그를 따라가세요. 큐레이션된 시리즈를 순서대로 가져오려면
youtube/playlists/{playlist_id}다음.../videos를 호출하세요;youtube/hashtags/{tag}/videos는 크리에이터 전반의 캠페인이나 트렌드를 추적합니다. - 주제 수요 규모를 측정하세요. 한 주제에 대한 검색 및 관련
결과 전반에서
view_count를 집계하세요;title,description,keywords는 주제가 어떻게 프레이밍되는지 보여줍니다. - 모든 것을 인용하세요. 모든 수치는 그것이 나온 동영상이나 채널로
되돌아 묶입니다;
billing.records_charged를 보고하세요(billing 메타데이터가 없으면 추정).
형태 노트
YouTubeChannel—{channel_id}로 키가 매겨짐.subscriber_count,video_count,view_count,handle,keywords,links,country,created_at.is_verified는 업스트림에 의해 채워지지 않으며 항상false입니다 — 읽을 수 없는 인증을 보고하지 마세요.YouTubeVideo—{video_id}로 키가 매겨짐.view_count,like_count(최선 노력; 크리에이터가 숨기면0),category,channel_id,author,duration_seconds,keywords,published_at,has_captions,is_live,is_private.YouTubeVideoPreview— search/related/list 행:published_time을 추가.category는 형태의 일부이지만 list 행에서는 비어 있습니다(YouTubeVideo상세만 이를 담음).YouTubeComment—text,author,author_channel_id,like_count,reply_count,published_time,is_verified,is_creator. 텍스트만 — 감정 필드 없음.YouTubeCaptions—video_id,tracks[](language_code, timed-texturl,is_translatable),translation_languages[]. 단일 객체, 한 record로 과금됨. 트랙 url은 시간 제한적입니다.YouTubePlaylist/YouTubePlaylistPreview— 플레이리스트title,channel_id,author,video_count(상세는view_count,last_updated를 추가; preview는first_video_id를 추가).YouTubeChannelPreview— search-channels 행:title,handle,description,subscriber_count,video_count.YouTubeCommunityPost—text,author,vote_count,reply_count,attachment_type,image_url.
함정
- Resolve는 채널 id로만 갑니다.
youtube/resolve/channel-id?url=...는 핸들이나 URL을{channel_id}로 해석합니다 — 모든youtube/channels/{channel_id}/...호출 전에 호출하세요. 동영상 또는 플레이리스트 id 해석기는 없습니다; 알려진{video_id}/{playlist_id}를 전달하세요(URL에서 직접 파싱). - 댓글은 원시 텍스트입니다.
youtube/videos/{video_id}/comments는 댓글 텍스트와 좋아요/답글 수를 반환합니다 — 감정 없음, FAQ 그룹화 없음. 그것들은 텍스트에서 직접 계산하세요; API가 반환하지 않는 감정 필드를 주장하지 마세요. like_count는 최선 노력입니다.YouTubeVideo.like_count는 크리에이터가 좋아요를 숨기면0입니다 —0을 권위 있는 값이 아니라 "숨겨졌거나 없음"으로 취급하세요.is_verified는 채널에 대해 항상false입니다(업스트림이 노출하지 않음) — 채널 인증을 보고하지 마세요.- 자막은 비어 있을 수 있습니다. 자막이 비활성화된 동영상은
tracks: []를 반환합니다; 트랜스크립트를 약속하기 전에 확인하세요. 트랙 url은 시간 제한적입니다. - 해시태그는 선행
#가 있든 없든 태그를 받습니다 (youtube/hashtags/lofi/videos). - 잔액이 낮으면 list 페이지가 조용히 잘릴 수 있습니다:
billing.truncated_due_to_balance를 확인하세요 — true이면 페이지가 부분적입니다.
출력
호출 워크플로가 필요로 하는 record를 반환하세요, 각각 그것의 동영상이나
채널에 인용되고, 한 줄 비용 노트(records_charged)와 함께. 이 스킬이 직접
사용될 때는, 간결한 수요 브리프가 기본값입니다:
**{Channel}** — {subscribers} subscribers, {videos} videos, {totalViews} views. Top videos for {topic}: {title} ({views} views). Related/competitors: {channels}. Evidence: {URLs}. Records: ~{N}.
관련 스킬
- kol-pricing, creator-shortlist, audience-fit-check (Influencer Marketing) — 이 읽기 경로 위에서 YouTube 채널의 단가를 산정하고 검증합니다.
- competitor-profiling (Competitive Intelligence), content-opportunity-brief (Content Strategy) — YouTube를 먼저 읽는 반응 및 콘텐츠 수요 작업.
- unifapi — 공유 데이터 스킬: MCP를 연결하고
get_operation으로 정확한 스키마를 조회합니다.
출처: GitHub의 youtube/SKILL.md — 거기에서 PR을 열어 개선하세요.
이 skill이 호출하는 라이브 API
skill이 지정하는 모든 오퍼레이션은 이 UnifAPI 플랫폼 중 하나입니다 — 제품 코드, 디버깅, 커스텀 에이전트 흐름을 위해 여전히 보이고 호출 가능합니다.
- 흔한 각 채널/동영상 읽기 작업을 위한 구체적인 `youtube/...` 작업
- 채널과 동영상에 대한 응답 계약 및 형태 메모(조회수)
- 결정론적 레시피: 채널 식별, 수요 읽기, 관련 콘텐츠 찾기
- 플랫폼 주의 사항 (댓글 목록 조회 없음, view_count 신호, 커서 페이지네이션)