Token导航 LogoToken导航

Agent Skill · 研究检索

ai-gaming-content(AI 游戏内容)

用于辅助文档、README、Markdown、说明文和内容稿件的整理与改写。它适合让 Agent 提炼结构、补齐章节、统一术语、检查链接或把零散材料整理成可读文档。使用时应保留项目已有事实、命令和路径,不要把未确认的信息写成确定结论;涉及对外文案时,还需要控制语气,避免过度营销或夸大能力。

ai-gaming-content 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 31,102。

总安装 2,766周安装 113GitHub Stars 公开资料未说明下载 886核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ai-gaming-content(AI 游戏内容)
来源仓库:https://github.com/nicemaths123/ai-gaming-content
安装命令:
openclaw skills install ai-gaming-content
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install ai-gaming-content

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

抓取流行游戏数据和病毒式剪辑,生成优化脚本,并利用人工智能为内容创作者和货币化制作病毒式游戏视频。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install ai-gaming-content;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

ai-gaming-content 怎么安装?

在终端执行 openclaw skills install ai-gaming-content。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

ai-gaming-content 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

ai-gaming-content 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

ai-gaming-content 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

ai-gaming-content 用的人多吗?

公开数据是累计安装 2,766 次,近一周安装 113 次,下载 886 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

ai-gaming-content 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
ai-gaming-content

AI 游戏内容 · 本页

2,766—接触敏感数据MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

AI Gaming Content and Monetization Machine: Research Trends, Script and Produce Viral Gaming Videos That Make Money

Display Name: AI Gaming Content and Monetization Machine Version: 1.0.0 Author: @g4dr

Overview

Gaming is the largest entertainment industry on the planet. $200B+ per year and growing. This skill scrapes trending games, viral clips, Reddit discussions, YouTube gaming channels and TikTok gaming content to find what is blowing up right now, then generates optimized scripts and produces complete gaming content videos with AI. Whether you run a gaming channel, review games, create compilations or do commentary, this skill builds your content factory.

Works for: gaming YouTubers, TikTok gaming creators, Twitch streamers expanding to short-form, gaming news channels, esports content teams, game review sites.

Powered by: Apify + InVideo AI + Claude AI


What This Skill Does

  • Scrape trending games, clips and discussions from Reddit gaming subreddits (r/gaming, r/pcgaming, r/PS5, r/NintendoSwitch)
  • Extract top-performing gaming videos from TikTok and YouTube to reverse-engineer what works
  • Monitor Steam trending, new releases and most-wishlisted games via web scraping
  • Detect emerging game trends 48 to 72 hours before they peak on YouTube
  • Analyze which video formats (reviews, tier lists, "hot takes", news, tutorials) get the most engagement per game
  • Generate 30 optimized gaming video scripts with proven hooks and A/B variations
  • Produce complete 9:16 short-form gaming videos with voiceover, captions and music
  • Build a full month content calendar mapped to upcoming game releases and events
  • Identify monetization angles: sponsorships, affiliate programs, ad revenue optimization

Step 1: Set Up Your Research Engine

This skill uses Apify to scrape gaming trend data across platforms.

  1. Create your free account at Apify
  2. Go to Settings > Integrations and copy your Personal API Token
  3. Store it securely:
   export APIFY_TOKEN=apify_api_xxxxxxxxxxxxxxxx

Step 2: Set Up Your Video Engine

This skill uses InVideo AI to produce gaming content videos.

  1. Create your account at InVideo AI
  2. Choose a plan with API access
  3. Copy your API key:
   export INVIDEO_API_KEY=iv_api_xxxxxxxxxxxxxxxx

Step 3: Install Dependencies

npm install apify-client axios

Apify Actors Used

ActorWhat It ScrapesGaming Data
Apify Reddit Scraperr/gaming, r/pcgaming, r/PS5, r/NintendoSwitchTrending discussions, controversies, leaks, memes
Apify TikTok Hashtag ScraperGaming TikTok contentViral clips, views, engagement, sounds
Apify YouTube ScraperGaming YouTube channels and searchViews, likes, upload frequency, topics
Apify Twitter ScraperGaming Twitter/XDeveloper announcements, community reactions
Apify Google Trends ScraperSearch interest for gamesRising vs declining games, seasonal patterns
Apify Website Content CrawlerSteam, IGN, MetacriticNew releases, review scores, wishlists
Apify Google News ScraperGaming news sitesBreaking news, controversy, updates
Apify Instagram ScraperGaming InstagramFan art, memes, cosplay trends

Examples

Scrape Trending Gaming Discussions from Reddit

import ApifyClient from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });

async function scrapeGamingReddit() {
  const subreddits = [
    "https://www.reddit.com/r/gaming/",
    "https://www.reddit.com/r/pcgaming/",
    "https://www.reddit.com/r/PS5/",
    "https://www.reddit.com/r/NintendoSwitch/",
    "https://www.reddit.com/r/Games/"
  ];

  const run = await client.actor("apify/reddit-scraper").call({
    startUrls: subreddits.map(url => ({ url })),
    maxPostCount: 30,
    maxComments: 10,
    sort: "hot"
  });

  const { items } = await run.dataset().getData();

  // Score by controversy potential (high comments to upvotes ratio = hot take territory)
  return items.map(post => ({
    title: post.title,
    subreddit: post.subreddit,
    score: post.score,
    comments: post.numComments,
    upvoteRatio: post.upvoteRatio,
    controversyScore: post.numComments > 0 ? Math.round(post.numComments / Math.max(post.score, 1) * 100) : 0,
    url: post.url,
    created: post.created,
    flair: post.flair || ''
  })).sort((a, b) => b.controversyScore - a.controversyScore);
}

const trending = await scrapeGamingReddit();
console.log("Top trending gaming topics:");
trending.slice(0, 10).forEach((t, i) => {
  console.log(`${i + 1}. [${t.controversyScore}] ${t.title} (${t.subreddit})`);
});

Scrape Viral Gaming Content from TikTok and YouTube

async function scrapeViralGamingContent(game = "gaming") {
  const hashtags = [game, `${game}tiktok`, 'gamingtiktok', 'gamingclips', 'gamernews'];

  const [ttRun, ytRun] = await Promise.all([
    client.actor("apify/tiktok-hashtag-scraper").call({
      hashtags: hashtags.slice(0, 3),
      resultsPerPage: 30,
      shouldDownloadVideos: false
    }),
    client.actor("apify/youtube-scraper").call({
      searchKeywords: [`${game} 2025`, `${game} news`, `${game} review`],
      maxResults: 30,
      type: "video",
      sortBy: "view_count"
    })
  ]);

  const [tt, yt] = await Promise.all([
    ttRun.dataset().getData(),
    ytRun.dataset().getData()
  ]);

  // Identify top formats
  const formatDetection = (text) => {
    const t = (text || '').toLowerCase();
    if (t.includes('tier list') || t.includes('ranking')) return 'Tier List';
    if (t.includes('review') || t.includes('worth')) return 'Review';
    if (t.includes('vs') || t.includes('versus') || t.includes('better')) return 'Comparison';
    if (t.includes('tip') || t.includes('trick') || t.includes('hack')) return 'Tips & Tricks';
    if (t.includes('news') || t.includes('update') || t.includes('patch')) return 'News/Update';
    if (t.includes('hot take') || t.includes('unpopular') || t.includes('controversial')) return 'Hot Take';
    if (t.includes('compilation') || t.includes('moments') || t.includes('montage')) return 'Compilation';
    return 'Other';
  };

  const tiktokTop = tt.items.sort((a, b) => (b.playCount || 0) - (a.playCount || 0)).slice(0, 15);
  const youtubeTop = yt.items.sort((a, b) => (b.viewCount || 0) - (a.viewCount || 0)).slice(0, 15);

  // Count formats
  const formatCounts = {};
  [...tiktokTop, ...youtubeTop].forEach(v => {
    const format = formatDetection(v.text || v.title);
    formatCounts[format] = (formatCounts[format] || 0) + 1;
  });

  return {
    tiktokTop: tiktokTop.map(v => ({
      text: v.text,
      views: v.playCount,
      likes: v.diggCount,
      shares: v.shareCount,
      format: formatDetection(v.text),
      sound: v.musicMeta?.musicName
    })),
    youtubeTop: youtubeTop.map(v => ({
      title: v.title,
      views: v.viewCount,
      likes: v.likeCount,
      channel: v.channelName,
      format: formatDetection(v.title),
      duration: v.duration
    })),
    winningFormats: Object.entries(formatCounts)
      .sort((a, b) => b[1] - a[1])
      .map(([format, count]) => ({ format, count })),
    trendingSounds: tiktokTop
      .filter(v => v.sound)
      .map(v => v.sound)
      .filter((v, i, a) => a.indexOf(v) === i)
      .slice(0, 5)
  };
}

const gamingContent = await scrapeViralGamingContent("GTA6");
console.log("Winning formats:", gamingContent.winningFormats);

Detect Emerging Games Before They Peak

async function detectEmergingGames() {
  // Scrape Reddit for rising discussions
  const redditRun = await client.actor("apify/reddit-search-scraper").call({
    queries: ["new game 2025", "upcoming game", "game announcement", "hidden gem game"],
    maxItems: 50
  });

  // Scrape Google Trends for rising game searches
  const trendsRun = await client.actor("apify/google-trends-scraper").call({
    searchTerms: ["new video game", "game release 2025", "best game 2025"],
    geo: "US",
    timeRange: "past7Days"
  });

  // Scrape YouTube for low-view-count videos on trending topics (content gap)
  const ytRun = await client.actor("apify/youtube-scraper").call({
    searchKeywords: ["new game 2025 review"],
    maxResults: 30,
    type: "video",
    sortBy: "date"
  });

  const [reddit, trends, yt] = await Promise.all([
    redditRun.dataset().getData(),
    trendsRun.dataset().getData(),
    ytRun.dataset().getData()
  ]);

  // Find games mentioned in Reddit with high engagement but few YouTube videos
  const gameNames = new Set();
  reddit.items.forEach(post => {
    const words = (post.title || '').split(/\s+/);
    // Simple heuristic: capitalized multi-word phrases are likely game names
    words.forEach((w, i) => {
      if (w.length > 3 && w[0] === w[0].toUpperCase() && words[i + 1]?.[0] === words[i + 1]?.[0]?.toUpperCase()) {
        gameNames.add(`${w} ${words[i + 1]}`);
      }
    });
  });

  // Check which have few YouTube results (content gap = opportunity)
  const lowCompetition = yt.items
    .filter(v => (v.viewCount || 0) < 10000)
    .map(v => v.title);

  return {
    emergingTopics: reddit.items
      .sort((a, b) => (b.score || 0) - (a.score || 0))
      .slice(0, 10)
      .map(p => ({ title: p.title, score: p.score, comments: p.numComments })),
    potentialGameNames: [...gameNames].slice(0, 20),
    contentGaps: lowCompetition.slice(0, 10),
    searchTrends: trends.items?.slice(0, 10)
  };
}

const emerging = await detectEmergingGames();
console.log("Emerging topics:", emerging.emergingTopics.slice(0, 5));
console.log("Content gaps:", emerging.contentGaps.slice(0, 5));

Generate Gaming Video Scripts with AI

import axios from 'axios';

async function generateGamingScripts(trendData, gameTopic, count = 5) {
  const topHooks = trendData.tiktokTop?.slice(0, 5).map(v =>
    `"${(v.text || '').substring(0, 80)}" (${(v.views || 0).toLocaleString()} views)`
  ).join('\
') || 'No TikTok data';

  const formats = trendData.winningFormats?.map(f => `${f.format} (${f.count}x)`).join(', ') || 'Mixed';

  const prompt = `You are a viral gaming content creator. Generate ${count} short-form video scripts about "${gameTopic}".

VIRAL DATA (from real top-performing gaming videos):
Top hooks:
${topHooks}

Winning formats: ${formats}

RULES FOR EACH SCRIPT:
- Hook in first 2 seconds (gaming audiences scroll FAST)
- 100 to 160 words (30 to 45 second video for gaming)
- Use one of these proven formats: Hot Take, Tier List, "Things You Missed", News Reaction, Tips
- Include gaming-specific language (no corporate tone)
- Each script gets 2 hook variations (A/B test)
- End with engagement CTA ("drop your rank in comments", "follow for daily gaming news")
- Include 5 hashtags per script

FORMAT:
SCRIPT [number]: [title]
FORMAT: [format type]
HOOK A: [hook variation 1]
HOOK B: [hook variation 2]
BODY: [script body]
CTA: [call to action]
HASHTAGS: [5 hashtags]

Generate all ${count} scripts now.`;

  const { data } = await axios.post('https://api.anthropic.com/v1/messages', {
    model: "claude-sonnet-4-20250514",
    max_tokens: 2000,
    messages: [{ role: "user", content: prompt }]
  }, {
    headers: {
      'x-api-key': process.env.CLAUDE_API_KEY,
      'anthropic-version': '2023-06-01'
    }
  });

  return data.content[0].text;
}

const scripts = await generateGamingScripts(gamingContent, "GTA 6", 5);
console.log(scripts);

Produce Gaming Videos with InVideo AI

const invideo = axios.create({
  baseURL: 'https://api.invideo.io/v1',
  headers: {
    'Authorization': `Bearer ${process.env.INVIDEO_API_KEY}`,
    'Content-Type': 'application/json'
  }
});

async function produceGamingVideo(script) {
  const response = await invideo.post('/videos/generate', {
    script: script,
    format: "9:16",
    duration: "short",
    style: "dynamic",
    voiceover: {
      enabled: true,
      voice: "en-US-male-1",
      speed: 1.15 // gaming audience prefers fast pacing
    },
    captions: {
      enabled: true,
      style: "bold-bottom",
      highlight: true
    },
    music: {
      enabled: true,
      mood: "energetic",
      volume: 0.3
    }
  });

  const videoId = response.data.videoId;

  let exportUrl = null;
  while (!exportUrl) {
    await new Promise(r => setTimeout(r, 5000));
    const status = await invideo.get(`/videos/${videoId}/status`);
    if (status.data.state === "completed") exportUrl = status.data.exportUrl;
    if (status.data.state === "failed") throw new Error("Video generation failed");
  }

  return { videoId, exportUrl };
}

Monetization Analysis

async function analyzeMonetization(game, youtubeData) {
  // Estimate CPM by niche (gaming CPMs are $3-8)
  const estimatedCPM = 5.50;

  const channelAnalysis = youtubeData.youtubeTop.map(v => {
    const estimatedRevenue = Math.round((v.views / 1000) * estimatedCPM * 100) / 100;
    return {
      title: v.title,
      channel: v.channel,
      views: v.views,
      estimatedAdRevenue: estimatedRevenue,
      format: v.format
    };
  });

  // Best monetization formats
  const formatRevenue = {};
  channelAnalysis.forEach(v => {
    if (!formatRevenue[v.format]) formatRevenue[v.format] = { totalViews: 0, count: 0 };
    formatRevenue[v.format].totalViews += v.views;
    formatRevenue[v.format].count++;
  });

  const bestFormats = Object.entries(formatRevenue)
    .map(([format, data]) => ({
      format,
      avgViews: Math.round(data.totalViews / data.count),
      estimatedRevenuePer: Math.round((data.totalViews / data.count / 1000) * estimatedCPM * 100) / 100
    }))
    .sort((a, b) => b.avgViews - a.avgViews);

  return {
    estimatedCPM,
    topEarningVideos: channelAnalysis.sort((a, b) => b.estimatedAdRevenue - a.estimatedAdRevenue).slice(0, 5),
    bestFormatsForRevenue: bestFormats,
    monthlyPotential: {
      "1_video_per_day": Math.round(30 * bestFormats[0]?.estimatedRevenuePer || 0),
      "3_videos_per_week": Math.round(12 * bestFormats[0]?.estimatedRevenuePer || 0)
    },
    sponsorshipAngle: `Gaming channels with 10K+ subs covering ${game} can charge $500-2000 per sponsored video`
  };
}

const monetization = await analyzeMonetization("GTA 6", gamingContent);
console.log("Monthly potential (daily uploads):", `$${monetization.monthlyPotential["1_video_per_day"]}`);
console.log("Best format for revenue:", monetization.bestFormatsForRevenue[0]);

Full Pipeline: Research, Script, Produce, Calendar

import { writeFileSync } from 'fs';

async function fullGamingContentPipeline(game, videoCount = 5) {
  console.log(`Starting Gaming Content Pipeline for: ${game}`);

  // 1. Scrape trends
  const reddit = await scrapeGamingReddit();
  const content = await scrapeViralGamingContent(game);
  console.log(`Step 1: ${reddit.length} Reddit topics + ${content.tiktokTop.length + content.youtubeTop.length} viral videos analyzed`);

  // 2. Generate scripts
  const scripts = await generateGamingScripts(content, game, videoCount);
  console.log(`Step 2: ${videoCount} scripts generated`);

  // 3. Monetization analysis
  const money = await analyzeMonetization(game, content);
  console.log(`Step 3: Revenue potential $${money.monthlyPotential["1_video_per_day"]}/month`);

  // 4. Export report
  const report = {
    game,
    generatedAt: new Date().toISOString(),
    trendingTopics: reddit.slice(0, 15),
    viralContent: content,
    scripts,
    monetization: money,
    contentCalendar: Array.from({ length: 30 }, (_, i) => ({
      day: i + 1,
      topic: reddit[i % reddit.length]?.title || `${game} content day ${i + 1}`,
      format: content.winningFormats[i % content.winningFormats.length]?.format || 'Hot Take',
      platform: ['tiktok', 'youtube_shorts', 'instagram_reels'][i % 3]
    }))
  };

  writeFileSync(`gaming-content-${game.replace(/\s+/g, '-')}-${Date.now()}.json`, JSON.stringify(report, null, 2));
  console.log(`Pipeline complete`);

  return report;
}

await fullGamingContentPipeline("GTA 6", 5);

What Makes This Different

FeatureGeneric Content ToolThis Skill
Trend detectionManual browsingReddit + TikTok + YouTube scraping in parallel
Content gapsGuessworkData-driven: high demand topics with low supply
Script writingGeneric promptsBased on real viral hooks from gaming content
Video productionManual editingAI-produced with gaming-optimized pacing
MonetizationNoneCPM estimates + sponsorship angles + format ROI
CalendarNone30-day plan mapped to game releases

Pro Tips

  1. "Hot Take" format consistently outperforms all other gaming content formats on TikTok
  2. Cover new game announcements within 4 hours for maximum algorithm boost
  3. Reddit controversies with high comment-to-upvote ratios are your best video topics
  4. Gaming audiences prefer 1.15x voiceover speed. Slower feels boring to this demographic
  5. Cross-post the same video to TikTok, YouTube Shorts AND Instagram Reels. Different audiences on each
  6. Tier list videos have the highest comment count because everyone disagrees. Comments = algorithm fuel

Cost Estimate

ActionToolCost
Scrape 5 gaming subredditsApify~$0.08
Scrape TikTok + YouTube gamingApify~$0.12
Detect emerging gamesApify~$0.10
Generate 5 scriptsClaude AI~$0.05
Produce 5 videosInVideo AIPlan dependent
Full pipelineTotalUnder $1 for research + scripts

Error Handling

try {
  const run = await client.actor("apify/reddit-scraper").call(input);
  const dataset = await run.dataset().getData();
  return dataset.items;
} catch (error) {
  if (error.statusCode === 401) throw new Error("Invalid Apify token. Get yours at https://www.apify.com?fpr=dx06p");
  if (error.statusCode === 429) throw new Error("Rate limit. Reduce batch size.");
  throw error;
}

Requirements

  • An Apify account with API token
  • An InVideo AI account for video production
  • Claude API key for script generation
  • Node.js 18+ with apify-client and axios

平台分布

OpenClaw

73.24%
按下载量换算649

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills