{
  "schemaVersion": "1.0",
  "item": {
    "slug": "youtube-analytics",
    "name": "YouTube Analytics",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/adamkristopher/youtube-analytics",
    "canonicalUrl": "https://clawhub.ai/adamkristopher/youtube-analytics",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/youtube-analytics",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=youtube-analytics",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/api-reference.md",
      "scripts/package-lock.json",
      "scripts/package.json",
      "scripts/setup.sh",
      "scripts/src/api/channels.ts"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/youtube-analytics"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/youtube-analytics",
    "agentPageUrl": "https://openagent3.xyz/skills/youtube-analytics/agent",
    "manifestUrl": "https://openagent3.xyz/skills/youtube-analytics/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/youtube-analytics/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Setup",
        "body": "Install dependencies:\n\ncd scripts && npm install\n\nConfigure credentials by creating a .env file in the project root:\n\nYOUTUBE_API_KEY=AIzaSy...your-api-key\nYOUTUBE_DEFAULT_MAX_RESULTS=50\n\nPrerequisites: A Google Cloud project with the YouTube Data API v3 enabled. Get your API key from the Google Cloud Console."
      },
      {
        "title": "Quick Start",
        "body": "User saysFunction to call\"Analyze this YouTube channel\"analyzeChannel(channelId)\"Compare these two channels\"compareChannels([id1, id2])\"How is this video performing?\"analyzeVideo(videoId)\"Search YouTube for [topic]\"searchAndAnalyze(query)\"Get stats for this channel\"getChannelStats(channelId)\"Get this video's view count\"getVideoStats(videoId)\"Find channels about [topic]\"searchChannels(query)\"Show recent uploads from this channel\"getChannelVideos(channelId)\n\nExecute functions by importing from scripts/src/index.ts:\n\nimport { analyzeChannel, searchAndAnalyze } from './scripts/src/index.js';\n\nconst analysis = await analyzeChannel('UCxxxxxxxx');\n\nOr run directly with tsx:\n\nnpx tsx scripts/src/index.ts"
      },
      {
        "title": "Workflow Pattern",
        "body": "Every analysis follows three phases:"
      },
      {
        "title": "1. Analyze",
        "body": "Run API functions. Each call hits the YouTube Data API and returns structured data."
      },
      {
        "title": "2. Auto-Save",
        "body": "All results automatically save as JSON files to results/{category}/. File naming patterns:\n\nNamed results: {sanitized_name}.json\nAuto-generated: YYYYMMDD_HHMMSS__{operation}.json"
      },
      {
        "title": "3. Summarize",
        "body": "After analysis, read the saved JSON files and create a markdown summary in results/summaries/ with data tables, comparisons, and insights."
      },
      {
        "title": "High-Level Functions",
        "body": "FunctionPurposeWhat it gathersanalyzeChannel(channelId)Full channel analysisChannel info, recent videos, avg views per videocompareChannels(channelIds)Compare multiple channelsSide-by-side subscribers, views, video countsanalyzeVideo(videoId)Video performance analysisViews, likes, comments, like rate, comment ratesearchAndAnalyze(query, maxResults?)Search + statsSearch results with full video statistics"
      },
      {
        "title": "Individual API Functions",
        "body": "For granular control, import specific functions from the API modules. See references/api-reference.md for the complete list of 13 API functions with parameters, types, and examples."
      },
      {
        "title": "Channel Functions",
        "body": "FunctionPurposegetChannel(channelId)Get full channel detailsgetChannelStats(channelId)Get simplified stats (subscribers, views, videoCount)getMultipleChannels(channelIds)Batch fetch multiple channels"
      },
      {
        "title": "Video Functions",
        "body": "FunctionPurposegetVideo(videoId)Get full video detailsgetVideoStats(videoId)Get simplified stats (views, likes, comments)getMultipleVideos(videoIds)Batch fetch multiple videosgetChannelVideos(channelId)Get recent uploads from a channel"
      },
      {
        "title": "Search Functions",
        "body": "FunctionPurposesearchVideos(query, options?)Search for videossearchChannels(query, options?)Search for channels"
      },
      {
        "title": "Results Storage",
        "body": "Results auto-save to results/ with this structure:\n\nresults/\n├── channels/       # Channel data and comparisons\n├── videos/         # Video data and analyses\n├── search/         # Search results\n└── summaries/      # Human-readable markdown summaries"
      },
      {
        "title": "Managing Results",
        "body": "import { listResults, loadResult, getLatestResult } from './scripts/src/index.js';\n\n// List recent results\nconst files = listResults('channels', 10);\n\n// Load a specific result\nconst data = loadResult(files[0]);\n\n// Get most recent result for an operation\nconst latest = getLatestResult('channels', 'channel_analysis');"
      },
      {
        "title": "Tips",
        "body": "Use channel IDs — Channel IDs start with UC (e.g., UCxxxxxxxx). You can find them in the channel URL or page source.\nRequest summaries — After pulling data, ask for a markdown summary with tables and insights.\nCompare channels — Use compareChannels() to benchmark competitors side by side.\nBatch requests — Use getMultipleChannels() or getMultipleVideos() for efficient batch lookups.\nSearch + analyze — searchAndAnalyze() combines search with full video stats in one call."
      }
    ],
    "body": "YouTube Analytics Toolkit\nSetup\n\nInstall dependencies:\n\ncd scripts && npm install\n\n\nConfigure credentials by creating a .env file in the project root:\n\nYOUTUBE_API_KEY=AIzaSy...your-api-key\nYOUTUBE_DEFAULT_MAX_RESULTS=50\n\n\nPrerequisites: A Google Cloud project with the YouTube Data API v3 enabled. Get your API key from the Google Cloud Console.\n\nQuick Start\nUser says\tFunction to call\n\"Analyze this YouTube channel\"\tanalyzeChannel(channelId)\n\"Compare these two channels\"\tcompareChannels([id1, id2])\n\"How is this video performing?\"\tanalyzeVideo(videoId)\n\"Search YouTube for [topic]\"\tsearchAndAnalyze(query)\n\"Get stats for this channel\"\tgetChannelStats(channelId)\n\"Get this video's view count\"\tgetVideoStats(videoId)\n\"Find channels about [topic]\"\tsearchChannels(query)\n\"Show recent uploads from this channel\"\tgetChannelVideos(channelId)\n\nExecute functions by importing from scripts/src/index.ts:\n\nimport { analyzeChannel, searchAndAnalyze } from './scripts/src/index.js';\n\nconst analysis = await analyzeChannel('UCxxxxxxxx');\n\n\nOr run directly with tsx:\n\nnpx tsx scripts/src/index.ts\n\nWorkflow Pattern\n\nEvery analysis follows three phases:\n\n1. Analyze\n\nRun API functions. Each call hits the YouTube Data API and returns structured data.\n\n2. Auto-Save\n\nAll results automatically save as JSON files to results/{category}/. File naming patterns:\n\nNamed results: {sanitized_name}.json\nAuto-generated: YYYYMMDD_HHMMSS__{operation}.json\n3. Summarize\n\nAfter analysis, read the saved JSON files and create a markdown summary in results/summaries/ with data tables, comparisons, and insights.\n\nHigh-Level Functions\nFunction\tPurpose\tWhat it gathers\nanalyzeChannel(channelId)\tFull channel analysis\tChannel info, recent videos, avg views per video\ncompareChannels(channelIds)\tCompare multiple channels\tSide-by-side subscribers, views, video counts\nanalyzeVideo(videoId)\tVideo performance analysis\tViews, likes, comments, like rate, comment rate\nsearchAndAnalyze(query, maxResults?)\tSearch + stats\tSearch results with full video statistics\nIndividual API Functions\n\nFor granular control, import specific functions from the API modules. See references/api-reference.md for the complete list of 13 API functions with parameters, types, and examples.\n\nChannel Functions\nFunction\tPurpose\ngetChannel(channelId)\tGet full channel details\ngetChannelStats(channelId)\tGet simplified stats (subscribers, views, videoCount)\ngetMultipleChannels(channelIds)\tBatch fetch multiple channels\nVideo Functions\nFunction\tPurpose\ngetVideo(videoId)\tGet full video details\ngetVideoStats(videoId)\tGet simplified stats (views, likes, comments)\ngetMultipleVideos(videoIds)\tBatch fetch multiple videos\ngetChannelVideos(channelId)\tGet recent uploads from a channel\nSearch Functions\nFunction\tPurpose\nsearchVideos(query, options?)\tSearch for videos\nsearchChannels(query, options?)\tSearch for channels\nResults Storage\n\nResults auto-save to results/ with this structure:\n\nresults/\n├── channels/       # Channel data and comparisons\n├── videos/         # Video data and analyses\n├── search/         # Search results\n└── summaries/      # Human-readable markdown summaries\n\nManaging Results\nimport { listResults, loadResult, getLatestResult } from './scripts/src/index.js';\n\n// List recent results\nconst files = listResults('channels', 10);\n\n// Load a specific result\nconst data = loadResult(files[0]);\n\n// Get most recent result for an operation\nconst latest = getLatestResult('channels', 'channel_analysis');\n\nTips\nUse channel IDs — Channel IDs start with UC (e.g., UCxxxxxxxx). You can find them in the channel URL or page source.\nRequest summaries — After pulling data, ask for a markdown summary with tables and insights.\nCompare channels — Use compareChannels() to benchmark competitors side by side.\nBatch requests — Use getMultipleChannels() or getMultipleVideos() for efficient batch lookups.\nSearch + analyze — searchAndAnalyze() combines search with full video stats in one call."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/adamkristopher/youtube-analytics",
    "publisherUrl": "https://clawhub.ai/adamkristopher/youtube-analytics",
    "owner": "adamkristopher",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/youtube-analytics",
    "downloadUrl": "https://openagent3.xyz/downloads/youtube-analytics",
    "agentUrl": "https://openagent3.xyz/skills/youtube-analytics/agent",
    "manifestUrl": "https://openagent3.xyz/skills/youtube-analytics/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/youtube-analytics/agent.md"
  }
}