ai-answer-gap
When the user wants to find the prompts where their brand should be cited in AI answers but isn't — and who owns the answer…
When a workflow needs public YouTube data through UnifAPI — channel, video, and playlist metadata, subscriber/view/like counts, video comments, caption tracks, channel community posts, related and trending videos, hashtag videos, and search across videos, channels, and
$ npx -y skills add unifapi-agent/agents --skill youtube --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/youtubeContext preview
The summary Claude sees to decide when to auto-load this skill.
When a workflow needs public YouTube data through UnifAPI — channel, video, and playlist metadata, subscriber/view/like counts, video comments, caption tracks, channel community posts, related and trending videos, hashtag videos, and search across videos, channels, and
name: youtube description: When a workflow needs public YouTube data through UnifAPI — channel, video, and playlist metadata, subscriber/view/like counts, video comments, caption tracks, channel community posts, related and trending videos, hashtag videos, and search across videos, channels, and playlists. Also use on "who owns this topic on YouTube," "pull this channel's videos," "YouTube view counts," "what are commenters saying," "get this video's captions/transcript," "this channel's playlists," or when another skill (creator vetting, competitor reception, content demand) needs the deterministic YouTube read path. Connect via the `unifapi` skill first. Read-only research, never uploads. license: MIT metadata: author: UnifAPI version: "1.0.0" homepage: https://unifapi.com/agents/youtube source: https://github.com/unifapi-agent/agents
The deterministic read path for public **YouTube** data through UnifAPI. This is a **Data Skill**: it does not run a marketing job on its own — it names the concrete `youtube/...` operations, response shapes, and the real coverage limits so any channel- or content-first workflow (creator vetting, competitor reception, content demand) reads from one known recipe instead of rediscovering the surface each time.
Read-only — **eyes, not hands**. It researches public YouTube data and returns cited records; it never uploads, comments, or subscribes, and UnifAPI never holds YouTube credentials.
Connect once through the shared **`unifapi`** skill (OAuth MCP), then call the operations below. Channels are keyed by **`{channel_id}`** and videos by **`{video_id}`** — resolve a handle or URL to a channel id first (see Gotchas). Keep any `billing` metadata so the output can state record cost.
Single-entity endpoints return the object in `data`:
{
"request_id": "unif_...",
"data": {},
"billing": { "records_charged": 1, "balance_remaining": 99 }
}List endpoints return an array in `data` plus `pagination`:
{
"request_id": "unif_...",
"data": [],
"pagination": { "has_more": false, "next_cursor": null },
"billing": { "records_charged": 1 }
}When `pagination.has_more` is true, pass `pagination.next_cursor` as the next request's `cursor`. Always preserve `billing` when reporting cost.
| 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` |
Need a field not listed here? Use the `unifapi` skill's `get_operation` to read the exact schema before calling — but pick the operation from this table, don't discover blind.
The deterministic recipes. Pick the one that matches the job; each names exactly what to call.
1. **Frame the query.** Call `youtube/search?q=...` for who owns a topic, or `youtube/trending` for what's surging now. 2. **Resolve a channel.** Call `youtube/resolve/channel-id?url=...` to get the `channel_id`, then `youtube/channels/{channel_id}` for `subscriber_count`, `video_count`, and `view_count`. 3. **Read a channel's output.** Call `youtube/channels/{channel_id}/videos` (and `.../shorts`); each video's `view_count` is the demand signal. Page via `next_cursor`. `youtube/channels/{channel_id}/playlists` maps how the catalog is organized; `youtube/channels/{channel_id}/community` reads announcements and engagement outside videos; `youtube/channels/{channel_id}/search?q=...` finds a creator's coverage of one topic without scanning the whole catalog. 4. **Read a video and its neighborhood.** Call `youtube/videos/{video_id}` for metadata (now including `like_count`, `category`, `published_at`, `has_captions`), then `youtube/videos/{video_id}/related` to map adjacent demand and competing content. 5. **Read audience and transcript.** Call `youtube/videos/{video_id}/comments` (`sort_by` top/newest) fo
Open-source marketing agents for Claude, ChatGPT, Codex, OpenClaw, Hermes, and any MCP client.
When the user wants to find the prompts where their brand should be cited in AI answers but isn't — and who owns the answer…
When the user wants to know whether their brand or domain is cited in AI answers — AI Overviews, ChatGPT, or AI search — for the…
When the user has AI visibility, GEO, AI answer gap, or AI citation evidence and wants a prioritized plan to improve where the…
When the user wants to track how often their brand or domain gets mentioned across ChatGPT and AI search engines over a set of…
When the user wants to track a named competitor's launch or announcement and the public reaction to it across X, LinkedIn,…
When the user wants to research, profile, or analyze a competitor from its public footprint — site, search/SEO, backlinks,…