ads-audit
Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok Ads, and Microsoft Ads…
Produce a Market Intelligence Report — YouTube competitive research, channel analysis, content gap discovery, idea generation, daily scanning, and AI trend scouting — then render it as a BenAI-branded HTML dashboard in the instant-ui design language.
$ npx -y skills add naveedharri/benai-skills --skill market-intelligence-report --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/market-intelligence-reportContext preview
The summary Claude sees to decide when to auto-load this skill.
Produce a Market Intelligence Report — YouTube competitive research, channel analysis, content gap discovery, idea generation, daily scanning, and AI trend scouting — then render it as a BenAI-branded HTML dashboard in the instant-ui design language.
name: market-intelligence-report description: Produce a Market Intelligence Report — YouTube competitive research, channel analysis, content gap discovery, idea generation, daily scanning, and AI trend scouting — then render it as a BenAI-branded HTML dashboard in the instant-ui design language. Use this skill whenever the user says "market intelligence report", "market intel", "intelligence report", "research channels", "analyze competitors", "find trending topics", "niche analysis", "competitive research", "scrape YouTube channels", "generate ideas", "brainstorm videos", "video ideas", "content ideas", "ideation", "daily scan", "morning scan", "what's new today", "scan for updates", "trend scout", "what's trending on twitter", "twitter scan", "X scan", "viral topics", "what's viral", "build a dashboard", or wants to understand the YouTube competitive landscape and come up with video concepts. disable-model-invocation: true allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Task, AskUserQuestion, Skill
This skill conducts YouTube + Twitter/X competitive intelligence — analyzing channels, discovering content gaps, generating video ideas, and scanning for daily opportunities — and then packages the findings into a **BenAI-branded instant-ui HTML dashboard** the user can open, screenshot, or share.
Every run has two halves: 1. **Gather + synthesize** the intelligence (Standard Workflows below). 2. **Render the dashboard** from the bundled template in the instant-ui design language (see "Dashboard Output").
The `@kirbah/mcp-youtube` connector is the **primary data source** for YouTube search, video details, channel stats, and transcripts. It uses the YouTube Data API v3 (free tier: 10,000 units/day).
| Tool | What it does | API Cost (units) | |------|-------------|-----------------| | `searchVideos` | Search videos/channels by keyword with `recency` filter (`pastHour`, `pastDay`, `pastWeek`, `pastMonth`, `pastQuarter`, `pastYear`) | **100 per call** | | `getVideoDetails` | Video metadata, stats, duration, category | **~1 per video** | | `getChannelStatistics` | Subscriber count, view count, video count | **~1 per channel** | | `getChannelTopVideos` | Top/recent videos for a channel | **~3 per call** | | `getVideoComments` | Video comments | **~1 per call** | | `getVideoCategories` | List video categories | **~1 per call** | | `getTrendingVideos` | Trending videos by region/category | **~1 per call** | | `getTranscripts` | Video transcripts (captions) | **Free (0 cost)** |
**Quota budget:** 10,000 units/day. `searchVideos` is the most expensive at 100 units — use it intentionally (~50-80 searches/day max). All other tools cost ~1 unit each. Transcripts are always free.
Use Apify as a **fallback** if the YouTube connector hits quota limits, or as the **primary** source for Twitter/X data.
Uses YouTube's InnerTube API (direct HTTP, no browser) — no API key needed, no quota limits.
| Capability | How | Cost | |-----------|-----|------| | Search videos by keyword | `searchQueries` array | $0.005/run + $0.003/video | | Get video details | Pass video URLs via `startUrls` | $0.005/run + $0.003/video | | Get channel data | Pass channel URLs via `startUrls` | $0.005/run + $0.003/channel |
Can combine search queries + video URLs + channel URLs in a **single run**.
**Input examples:**
// Search by keyword
{ "searchQueries": ["Claude AI tutorial"], "maxResults": 20 }
// Scrape specific channel
{ "startUrls": [{"url": "https://www.youtube.com/@channelname"}], "maxResults": 50 }
// Combined: search + channel + video in one run
{ "searchQueries": ["Claude AI tutorial"], "startUrls": [{"url": "https://www.youtube.com/@channelname"}], "maxResults": 20 }`apidojo/twitter-scraper-lite` (Twitter Scraper Unlimited) is the primary Twitter actor. Use this for all Twitter/X calls.
| Parameter | Type | What it does | |-----------|------|-------------| | `searchTerms` | string[] | Keyword search. Supports Twitter advanced syntax (`"from:handle"`, `"to:handle"`) | | `twitterHandles` | string[] | Direct handle scraping — preferred for watchlist batch scanning | | `author` | string | Single author filter | | `start` / `end` | string | Date range filter (ISO 8601). Use for 48-hour lookback windows | | `minimumFavorites` | int | Engagement floor — only return tweets with N+ likes | | `minimumRetweets` | int | Only return tweets with N+ retweets | | `sort` | enum | `"Top"`, `"Latest"`, or `"Latest + Top"` | | `maxItems` | int | Max tweets to return per call | | `tweetLanguage` | string | ISO 639-1 language code (e.g., `"en"`) |
**Watchlist scan example:**
{ "twitterHandles": ["AnthropicAI", "claudeai", "trq212"], "maxItems": 50, "start": "2026-04-13T06:00:00Z", "sort": "Latest" }**Keyword scan example:**
{ "searchTerms": ["Claude Cowork", "Anthropic launch"], "maxItems": 30, "sort": "Top", "minimumFavorites": 100 }When a Twitter call fails or returns empty (`noResults: true`), follow this **exact order**:
1. **Switch actor first** — retry the same request with `apidojo/tweet-scraper` using identical input params. Do NOT relax filters on the primary actor. The most likely cause of empty results is the actor being down, not the filters being too strict. 2. **Only if both actors fail** — then relax filters (remove date range, lower `minimumFavorites`, broaden `searchTerms`). 3. **Only if both actors fail with relaxed filters** — report the failure to the user and continue with other data sources.
**Never** relax filters or remove date ranges as a first response to empty results. Switch actor first.
Expert automation skills for Claude Code, organized by department.
Repo: naveedharri/benai-skills
Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok Ads, and Microsoft Ads…
Budget allocation and bidding strategy review across all ad platforms. Evaluates spend distribution, bidding strategy appropriateness, scaling readiness, and…
Competitor ad intelligence analysis across Google, Meta, LinkedIn, TikTok, and Microsoft. Analyzes competitor ad copy, creative strategy, keyword targeting,…
Cross-platform creative quality audit covering ad copy, video, image, and format diversity across all platforms. Detects creative fatigue, evaluates…
Google Ads deep analysis covering Search, Performance Max, Display, YouTube, and Demand Gen campaigns. Evaluates 74 checks across conversion tracking, wasted…
Landing page quality assessment for paid advertising campaigns. Evaluates message match, page speed, mobile experience, trust signals, form optimization, and…