Awesome-omni-skill video-sourcing

Run the Video Sourcing Agent with deterministic, concise chat UX for /video_sourcing using a pinned self-bootstrap runtime.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/video-sourcing" ~/.claude/skills/diegosouzapw-awesome-omni-skill-video-sourcing && rm -rf "$T"
manifest: skills/tools/video-sourcing/SKILL.md
source content

Video Sourcing Skill

Use this skill when the user asks to find, compare, or analyze social videos (YouTube, TikTok, Instagram, Twitter/X), or explicitly invokes

/video_sourcing
.

This workflow expects host runtime execution (sandbox mode off). The runner auto-bootstraps a pinned runtime from

Memories-ai-labs/video-sourcing-agent@v0.2.3
when
VIDEO_SOURCING_AGENT_ROOT
is not set.

Triggering

Run this workflow when either condition is true:

  1. Message starts with
    /video_sourcing
    .
  2. The user asks for video sourcing/trend/creator/brand analysis and wants concrete video links.

If

/video_sourcing
is used with no query body, ask for the missing query.

Execution contract

  1. Resolve query text:
    • /video_sourcing ...
      => strip
      /video_sourcing
      and use remaining text.
    • Free-form => use user message as query.
  2. Default to compact mode:
    • --event-detail compact
  3. If user asks for debugging/raw payloads:
    • Switch to
      --event-detail verbose

/video_sourcing
deterministic path

  1. Build command with required args:
    • <skill_dir>/scripts/run_video_query.sh --query "<query>" --event-detail <compact|verbose> --ux-mode three_message --progress-gate-seconds 10
  2. Start with
    exec
    using
    background: true
    .
  3. Poll with
    process
    using
    action: "poll"
    every 2-4 seconds until process exits.
  4. Parse NDJSON output and render only these events:
    • started
      => send:
      Starting video sourcing...
    • ux_progress
      => send concise middle progress updates from
      summary
      (throttled by runner) Send each
      ux_progress
      as a separate assistant message in Telegram.
    • terminal event (
      complete
      ,
      clarification_needed
      ,
      error
      ) => send final message as-is
  5. Do not forward raw
    progress
    ,
    tool_call
    , or
    tool_result
    events for
    /video_sourcing
    .
  6. Do not rewrite final answer tone/style; preserve the user's existing OpenClaw personality behavior.

Behavior target for

/video_sourcing
:

  1. Fast run (<10s): 2 messages (
    started
    , terminal).
  2. Longer run (>=10s): recurring throttled
    ux_progress
    updates, then terminal.

Free-form path (non-strict)

  1. Keep existing flexible behavior.
  2. Build command without forcing
    three_message
    mode:
    • <skill_dir>/scripts/run_video_query.sh --query "<query>" --event-detail <compact|verbose>
  3. Stream useful progress updates and final response naturally.

Final response format

When terminal event is

complete
:

  1. One short paragraph conclusion.
  2. Top 3 video references only by default:
    • title
    • url
    • one-line relevance note
  3. Tools used: ...
    with a compact status summary.

If fewer than 3 videos exist, show all available references.

When terminal event is

clarification_needed
:

  1. Ask the clarification question directly.
  2. Treat this as the final response for the current run.

When terminal event is

error
:

  1. Send concise failure reason.
  2. Include one actionable next step.

Safety and fallback

  1. If script fails due to missing env/tooling, explain exact missing piece (for example
    VIDEO_SOURCING_AGENT_ROOT
    ,
    uv
    , or API key env var).
  2. If
    VIDEO_SOURCING_AGENT_ROOT
    is unset, the runner uses managed path:
    • ~/.openclaw/data/video-sourcing-agent/v0.2.3
  3. VIDEO_SOURCING_AGENT_ROOT
    remains an advanced override for local development.
  4. Keep response concise and action-oriented.
  5. Never fabricate video URLs or metrics.