- name
- video-sourcing
- version
- 1.0.0
- description
- Run the Video Sourcing Agent with deterministic, concise chat UX for /video_sourcing using a pinned self-bootstrap runtime.
- user-invocable
- true
- metadata
- openclaw
- os
- homepage
- https://github.com/Memories-ai-labs/video-sourcing-agent
- primaryEnv
- GOOGLE_API_KEY
- requires
- bins
- env
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:
- Message starts with
/video_sourcing. - 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
- Resolve query text:
- /video_sourcing ... => strip /video_sourcing and use remaining text. - Free-form => use user message as query.
- Default to compact mode:
- --event-detail compact
- If user asks for debugging/raw payloads:
- Switch to --event-detail verbose
/video_sourcing deterministic path
- 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
- Start with
execusingbackground: true. - Poll with
processusingaction: "poll"every 2-4 seconds until process exits. - 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
- Do not forward raw
progress,tool_call, ortool_resultevents for/video_sourcing. - Do not rewrite final answer tone/style; preserve the user's existing OpenClaw personality behavior.
Behavior target for /video_sourcing:
- Fast run (<10s): 2 messages (
started, terminal). - Longer run (>=10s): recurring throttled
ux_progressupdates, then terminal.
Free-form path (non-strict)
- Keep existing flexible behavior.
- Build command without forcing
three_messagemode:
- <skill_dir>/scripts/run_video_query.sh --query "<query>" --event-detail <compact|verbose>
- Stream useful progress updates and final response naturally.
Final response format
When terminal event is complete:
- One short paragraph conclusion.
- Top 3 video references only by default:
- title - url - one-line relevance note
Tools used: ...with a compact status summary.
If fewer than 3 videos exist, show all available references.
When terminal event is clarification_needed:
- Ask the clarification question directly.
- Treat this as the final response for the current run.
When terminal event is error:
- Send concise failure reason.
- Include one actionable next step.
Safety and fallback
- If script fails due to missing env/tooling, explain exact missing piece (for example
VIDEO_SOURCING_AGENT_ROOT,uv, or API key env var). - If
VIDEO_SOURCING_AGENT_ROOTis unset, the runner uses managed path:
- ~/.openclaw/data/video-sourcing-agent/v0.2.3
VIDEO_SOURCING_AGENT_ROOTremains an advanced override for local development.- Keep response concise and action-oriented.
- Never fabricate video URLs or metrics.