{
  "schemaVersion": "1.0",
  "item": {
    "slug": "video-searching",
    "name": "Video Searching",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/memories-ai-official/video-searching",
    "canonicalUrl": "https://clawhub.ai/memories-ai-official/video-searching",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/video-searching",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=video-searching",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "_meta.json",
      "run_video_query.sh",
      "SKILL.md"
    ],
    "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/video-searching"
    },
    "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/video-searching",
    "agentPageUrl": "https://openagent3.xyz/skills/video-searching/agent",
    "manifestUrl": "https://openagent3.xyz/skills/video-searching/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/video-searching/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": "Video Searching Skill",
        "body": "Use this skill when the user asks to find, compare, or analyze social videos (YouTube, TikTok, Instagram, Twitter/X), or explicitly invokes /video_search.\n\nThis skill calls the Memories.ai Video Searching API — a managed, token-authenticated endpoint that searches across platforms and returns structured results via SSE."
      },
      {
        "title": "Triggering",
        "body": "Run this workflow when either condition is true:\n\nMessage starts with /video_search.\nThe user asks for video sourcing/trend/creator/brand analysis and wants concrete video links.\n\nIf /video_search is used with no query body, ask for the missing query."
      },
      {
        "title": "Execution contract",
        "body": "Resolve query text:\n\n/video_search ... → strip /video_search and use remaining text.\nFree-form → use user message as query.\n\n\n\nBuild the API request JSON body:\n\nquery (required): the user's search query\nplatforms (optional): array of youtube, tiktok, instagram, twitter — only set if user specifies platforms\nmax_results (optional, default 10): number of video results\ntime_frame (optional): past_24h, past_week, past_month, past_year — only set if user specifies recency\nmax_steps (optional, default 10): max agent iterations\nenable_clarification (optional, default false): set to true if user query is vague\n\n\n\nCall the runner script:\n<skill_dir>/scripts/run_video_query.sh \\\n  --query \"<query>\" \\\n  [--platforms \"youtube,tiktok\"] \\\n  [--max-results 10] \\\n  [--time-frame past_week] \\\n  [--enable-clarification]\n\n\n\nStart with exec using background: true.\n\n\nPoll with process using action: \"poll\" every 2–4 seconds until process exits.\n\n\nParse NDJSON output and render only these events:\n\nstarted → send: 🔍 Starting video search...\nprogress → send concise progress update from message field (throttle: skip if last update was < 3s ago)\ncomplete → send final formatted response (see below)\nclarification → ask the clarification question directly; treat as final response\nerror → send concise failure reason with one actionable next step\n\n\n\nDo not forward raw tool_call or tool_result events to the user."
      },
      {
        "title": "Final response format",
        "body": "When terminal event is complete:\n\nOne short paragraph conclusion (from answer field).\nTop video references (up to 5 by default):\n\ntitle\nurl\nplatform badge (e.g. 🎬 YouTube, 🎵 TikTok, 📸 Instagram, 🐦 X)\none-line relevance_note\nkey metrics: views, likes, engagement rate (if available)\n\n\nFooter: ⏱ {execution_time_seconds}s · {steps_taken} steps · {tools_used}\n\nIf fewer videos exist, show all available references.\n\nWhen terminal event is clarification:\n\nAsk the clarification question directly.\nPresent options if provided.\nTreat as final response for the current run.\n\nWhen terminal event is error:\n\nSend concise failure reason.\nInclude one actionable next step."
      },
      {
        "title": "Safety and fallback",
        "body": "If MEMORIES_API_KEY is not set, tell the user:\n\n⚠️ Missing MEMORIES_API_KEY. Set it in your OpenClaw environment variables to use this skill.\nGet your API key at https://api-tools.memories.ai\n\n\nIf the API returns a non-SSE error (HTTP 4xx/5xx), display the error message.\nNever fabricate video URLs or metrics.\nIf the API is unreachable, suggest checking network connectivity and API status."
      }
    ],
    "body": "Video Searching Skill\n\nUse this skill when the user asks to find, compare, or analyze social videos (YouTube, TikTok, Instagram, Twitter/X), or explicitly invokes /video_search.\n\nThis skill calls the Memories.ai Video Searching API — a managed, token-authenticated endpoint that searches across platforms and returns structured results via SSE.\n\nTriggering\n\nRun this workflow when either condition is true:\n\nMessage starts with /video_search.\nThe user asks for video sourcing/trend/creator/brand analysis and wants concrete video links.\n\nIf /video_search is used with no query body, ask for the missing query.\n\nExecution contract\n\nResolve query text:\n\n/video_search ... → strip /video_search and use remaining text.\nFree-form → use user message as query.\n\nBuild the API request JSON body:\n\nquery (required): the user's search query\nplatforms (optional): array of youtube, tiktok, instagram, twitter — only set if user specifies platforms\nmax_results (optional, default 10): number of video results\ntime_frame (optional): past_24h, past_week, past_month, past_year — only set if user specifies recency\nmax_steps (optional, default 10): max agent iterations\nenable_clarification (optional, default false): set to true if user query is vague\n\nCall the runner script:\n\n<skill_dir>/scripts/run_video_query.sh \\\n  --query \"<query>\" \\\n  [--platforms \"youtube,tiktok\"] \\\n  [--max-results 10] \\\n  [--time-frame past_week] \\\n  [--enable-clarification]\n\n\nStart with exec using background: true.\n\nPoll with process using action: \"poll\" every 2–4 seconds until process exits.\n\nParse NDJSON output and render only these events:\n\nstarted → send: 🔍 Starting video search...\nprogress → send concise progress update from message field (throttle: skip if last update was < 3s ago)\ncomplete → send final formatted response (see below)\nclarification → ask the clarification question directly; treat as final response\nerror → send concise failure reason with one actionable next step\n\nDo not forward raw tool_call or tool_result events to the user.\n\nFinal response format\n\nWhen terminal event is complete:\n\nOne short paragraph conclusion (from answer field).\nTop video references (up to 5 by default):\ntitle\nurl\nplatform badge (e.g. 🎬 YouTube, 🎵 TikTok, 📸 Instagram, 🐦 X)\none-line relevance_note\nkey metrics: views, likes, engagement rate (if available)\nFooter: ⏱ {execution_time_seconds}s · {steps_taken} steps · {tools_used}\n\nIf fewer videos exist, show all available references.\n\nWhen terminal event is clarification:\n\nAsk the clarification question directly.\nPresent options if provided.\nTreat as final response for the current run.\n\nWhen terminal event is error:\n\nSend concise failure reason.\nInclude one actionable next step.\nSafety and fallback\nIf MEMORIES_API_KEY is not set, tell the user:\n\n⚠️ Missing MEMORIES_API_KEY. Set it in your OpenClaw environment variables to use this skill. Get your API key at https://api-tools.memories.ai\n\nIf the API returns a non-SSE error (HTTP 4xx/5xx), display the error message.\nNever fabricate video URLs or metrics.\nIf the API is unreachable, suggest checking network connectivity and API status."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/memories-ai-official/video-searching",
    "publisherUrl": "https://clawhub.ai/memories-ai-official/video-searching",
    "owner": "memories-ai-official",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/video-searching",
    "downloadUrl": "https://openagent3.xyz/downloads/video-searching",
    "agentUrl": "https://openagent3.xyz/skills/video-searching/agent",
    "manifestUrl": "https://openagent3.xyz/skills/video-searching/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/video-searching/agent.md"
  }
}