{
  "schemaVersion": "1.0",
  "item": {
    "slug": "video-sourcing",
    "name": "Video Sourcing",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/SamuelZ12/video-sourcing",
    "canonicalUrl": "https://clawhub.ai/SamuelZ12/video-sourcing",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/video-sourcing",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=video-sourcing",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/run_video_query.sh"
    ],
    "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-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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-sourcing"
    },
    "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-sourcing",
    "agentPageUrl": "https://openagent3.xyz/skills/video-sourcing/agent",
    "manifestUrl": "https://openagent3.xyz/skills/video-sourcing/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/video-sourcing/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 Sourcing 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_sourcing.\n\nThis workflow expects host runtime execution (sandbox mode off).\nThe runner auto-bootstraps a pinned runtime from Memories-ai-labs/video-sourcing-agent@v0.2.5 when VIDEO_SOURCING_AGENT_ROOT is not set."
      },
      {
        "title": "Triggering",
        "body": "Run this workflow when either condition is true:\n\nMessage starts with /video_sourcing.\nThe user asks for video sourcing/trend/creator/brand analysis and wants concrete video links.\n\nIf /video_sourcing is used with no query body, ask for the missing query."
      },
      {
        "title": "Execution contract",
        "body": "Resolve query text:\n\n/video_sourcing ... => strip /video_sourcing and use remaining text.\nFree-form => use user message as query.\n\n\nDefault to compact mode:\n\n--event-detail compact\n\n\nIf user asks for debugging/raw payloads:\n\nSwitch to --event-detail verbose"
      },
      {
        "title": "/video_sourcing deterministic path",
        "body": "Build command with required args:\n\n<skill_dir>/scripts/run_video_query.sh --query \"<query>\" --event-detail <compact|verbose> --ux-mode three_message --progress-gate-seconds 5\n\n\nStart with exec using background: true and explicit timeout:\n\ntimeout: 420\n\n\nPoll with process using action: \"poll\" every 2-4 seconds until process exits.\nParse NDJSON output and render only these events, using your persona voice for all user-facing text:\n\nstarted => send a brief message conveying that video sourcing has begun, written in your persona voice\nux_progress => read the summary field as structured status data and compose a concise,\nnatural progress update in your persona voice (do not echo summary verbatim)\nSend each ux_progress as a separate assistant message in Telegram.\nterminal event (complete, clarification_needed, error) => send final message as-is\n\n\nDo not forward raw progress, tool_call, or tool_result events for /video_sourcing.\nPreserve the user's existing OpenClaw personality behavior across all messages — progress and final alike.\nNever launch a second run while a prior run session is still active.\n\nIf retrying, call process with action: \"kill\" for the prior sessionId first.\n\n\nIf process exits without a terminal event, send a concise fallback message that:\n\nstates run ended before completion,\nincludes one actionable next step,\ndoes not start another run automatically.\n\nBehavior target for /video_sourcing:\n\nFast run (<5s): 2 messages (started, terminal).\nLonger run (>=5s): recurring throttled ux_progress updates, then terminal."
      },
      {
        "title": "Free-form path (non-strict)",
        "body": "Keep existing flexible behavior.\nBuild command without forcing three_message mode:\n\n<skill_dir>/scripts/run_video_query.sh --query \"<query>\" --event-detail <compact|verbose>\n\n\nStream useful progress updates and final response naturally."
      },
      {
        "title": "Final response format",
        "body": "When terminal event is complete:\n\nOne short paragraph conclusion.\nTop 3 video references only by default:\n\ntitle\nurl\none-line relevance note\n\n\nTools used: ... with a compact status summary.\n\nIf fewer than 3 videos exist, show all available references.\n\nWhen terminal event is clarification_needed:\n\nAsk the clarification question directly.\nTreat this as the 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 script fails due to missing env/tooling, explain exact missing piece (for example VIDEO_SOURCING_AGENT_ROOT, uv, or API key env var).\nIf VIDEO_SOURCING_AGENT_ROOT is unset, the runner uses managed path:\n\n~/.openclaw/data/video-sourcing-agent/v0.2.5\n\n\nVIDEO_SOURCING_AGENT_ROOT remains an advanced override for local development.\nKeep response concise and action-oriented.\nNever fabricate video URLs or metrics."
      }
    ],
    "body": "Video Sourcing 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_sourcing.\n\nThis workflow expects host runtime execution (sandbox mode off). The runner auto-bootstraps a pinned runtime from Memories-ai-labs/video-sourcing-agent@v0.2.5 when VIDEO_SOURCING_AGENT_ROOT is not set.\n\nTriggering\n\nRun this workflow when either condition is true:\n\nMessage starts with /video_sourcing.\nThe user asks for video sourcing/trend/creator/brand analysis and wants concrete video links.\n\nIf /video_sourcing is used with no query body, ask for the missing query.\n\nExecution contract\nResolve query text:\n/video_sourcing ... => strip /video_sourcing and use remaining text.\nFree-form => use user message as query.\nDefault to compact mode:\n--event-detail compact\nIf user asks for debugging/raw payloads:\nSwitch to --event-detail verbose\n/video_sourcing deterministic path\nBuild command with required args:\n<skill_dir>/scripts/run_video_query.sh --query \"<query>\" --event-detail <compact|verbose> --ux-mode three_message --progress-gate-seconds 5\nStart with exec using background: true and explicit timeout:\ntimeout: 420\nPoll with process using action: \"poll\" every 2-4 seconds until process exits.\nParse NDJSON output and render only these events, using your persona voice for all user-facing text:\nstarted => send a brief message conveying that video sourcing has begun, written in your persona voice\nux_progress => read the summary field as structured status data and compose a concise, natural progress update in your persona voice (do not echo summary verbatim) Send each ux_progress as a separate assistant message in Telegram.\nterminal event (complete, clarification_needed, error) => send final message as-is\nDo not forward raw progress, tool_call, or tool_result events for /video_sourcing.\nPreserve the user's existing OpenClaw personality behavior across all messages — progress and final alike.\nNever launch a second run while a prior run session is still active.\nIf retrying, call process with action: \"kill\" for the prior sessionId first.\nIf process exits without a terminal event, send a concise fallback message that:\nstates run ended before completion,\nincludes one actionable next step,\ndoes not start another run automatically.\n\nBehavior target for /video_sourcing:\n\nFast run (<5s): 2 messages (started, terminal).\nLonger run (>=5s): recurring throttled ux_progress updates, then terminal.\nFree-form path (non-strict)\nKeep existing flexible behavior.\nBuild command without forcing three_message mode:\n<skill_dir>/scripts/run_video_query.sh --query \"<query>\" --event-detail <compact|verbose>\nStream useful progress updates and final response naturally.\nFinal response format\n\nWhen terminal event is complete:\n\nOne short paragraph conclusion.\nTop 3 video references only by default:\ntitle\nurl\none-line relevance note\nTools used: ... with a compact status summary.\n\nIf fewer than 3 videos exist, show all available references.\n\nWhen terminal event is clarification_needed:\n\nAsk the clarification question directly.\nTreat this as the 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 script fails due to missing env/tooling, explain exact missing piece (for example VIDEO_SOURCING_AGENT_ROOT, uv, or API key env var).\nIf VIDEO_SOURCING_AGENT_ROOT is unset, the runner uses managed path:\n~/.openclaw/data/video-sourcing-agent/v0.2.5\nVIDEO_SOURCING_AGENT_ROOT remains an advanced override for local development.\nKeep response concise and action-oriented.\nNever fabricate video URLs or metrics."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/SamuelZ12/video-sourcing",
    "publisherUrl": "https://clawhub.ai/SamuelZ12/video-sourcing",
    "owner": "SamuelZ12",
    "version": "0.2.5",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/video-sourcing",
    "downloadUrl": "https://openagent3.xyz/downloads/video-sourcing",
    "agentUrl": "https://openagent3.xyz/skills/video-sourcing/agent",
    "manifestUrl": "https://openagent3.xyz/skills/video-sourcing/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/video-sourcing/agent.md"
  }
}