{"skill":{"slug":"youtube-ai-videos","displayName":"YouTube AI Videos","summary":"Fetch latest AI-related YouTube videos from curated channels using YouTube Data API v3 and filter by keywords","description":"---\nname: youtube-ai-videos\ndescription: Fetch latest AI-related YouTube videos from curated channels using YouTube Data API v3 and filter by keywords\nrequiresEnvVars:\n  - YOUTUBE_API_KEY\n---\n\n# YouTube AI Videos\n\nFetch and display the latest AI-related videos from YouTube channels using YouTube Data API v3.\n\n## Requirements\n\n**This skill requires a YouTube Data API v3 key to function.** The API key can be provided in three ways (priority order):\n\n1. **Environment variable:** `YOUTUBE_API_KEY`\n2. **Secrets file:** `~/.openclaw/secrets/youtube_api_key.txt`\n3. **Config file:** `config.json` (fallback, not recommended for security)\n\nGet a free API key: https://console.cloud.google.com/apis/api/youtube.googleapis.com\n\n## Usage\n\nUse this skill when you need recent AI-related videos from YouTube.\n\n## Workflow\n\n1. Fetch recent videos from configured YouTube channels using YouTube Data API v3\n2. Filter videos by keywords in title\n3. Filter by max age (default: 3 days)\n4. Return up to 15 videos (configurable)\n5. Sort by publication date (newest first)\n\n## Configuration\n\nAll settings are in `config.json`:\n\n- **channels:** List of YouTube channel handles (@handle) or IDs\n- **keywords:** List of keywords to search for\n- **maxVideos:** Maximum number of videos to return (default: 15)\n- **maxAgeDays:** Maximum video age in days (default: 3)\n- **youtubeApiKey:** Fallback YouTube Data API v3 key (use environment/secrets instead)\n\n## Adding Channels\n\nFind YouTube channel handles or IDs:\n\n1. Go to channel page\n2. Look at URL: `youtube.com/@CHANNELNAME` or `youtube.com/channel/CHANNEL_ID`\n3. Use @handle format (recommended) or channel ID\n\n## Output Format\n\nEach video includes:\n- Number (1-15)\n- Time ago (e.g., \"2h ago\")\n- Title with keyword matches highlighted in bold\n- Channel name\n- Direct YouTube link\n\nExample:\n```\n1. [2h ago] [OpenClaw: The Next Generation of AI Agents](https://youtube.com/watch?v=...)\n   by @IchBinFabian\n```\n\n## Running the Script\n\n```bash\n./scripts/fetch_youtube_ai_videos.py\n```\n\nThe script loads --> YouTube API key from environment, secrets file, or config (in that order) and outputs filtered videos.\n\n## Security Note\n\nFor security, prefer storing your API key in:\n- Environment variable: `export YOUTUBE_API_KEY=\"your_key\"`\n- Secrets file: `~/.openclaw/secrets/youtube_api_key.txt`\n\nAvoid storing the API key directly in `config.json` as it's visible in plain text.\n","tags":{"ai":"1.0.1","automation":"1.0.1","latest":"1.0.1","news":"1.0.1","videos":"1.0.1","youtube":"1.0.1"},"stats":{"comments":0,"downloads":913,"installsAllTime":0,"installsCurrent":0,"stars":2,"versions":2},"createdAt":1771500380438,"updatedAt":1778491581507},"latestVersion":{"version":"1.0.1","createdAt":1771500997273,"changelog":"Fixed documentation: API key is now properly declared as required. Removed RSS references. Improved security documentation.","license":null},"metadata":null,"owner":{"handle":"mjohannp","userId":"s17e5yhs02ttatd9g2j2p9rn9d884ftr","displayName":"Michael Johannhanwahr","image":"https://avatars.githubusercontent.com/u/43442598?v=4"},"moderation":null}