video-sourcing
Run the Video Sourcing Agent with deterministic, concise chat UX for /video_sourcing using a pinned self-bootstrap runtime.
Best use case
video-sourcing is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Run the Video Sourcing Agent with deterministic, concise chat UX for /video_sourcing using a pinned self-bootstrap runtime.
Teams using video-sourcing should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/video-sourcing/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How video-sourcing Compares
| Feature / Agent | video-sourcing | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Run the Video Sourcing Agent with deterministic, concise chat UX for /video_sourcing using a pinned self-bootstrap runtime.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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.Related Skills
wan-t2v-video
Build WAN 2.2 Text-to-Video workflows — dual hi-lo models, lightning LoRAs, VACE modules, and KSamplerAdvanced two-pass
video-to-claude
Analyze videos with Gemini and get build instructions for Claude. Supports YouTube URLs, GIFs, screen recordings, and local video files. Use when user shares a video/GIF and wants to understand how to build it, clone a UI, reverse engineer a product, or extract tutorial steps. Triggers on "watch this video", "clone this", "reverse engineer", "how do I build this", "analyze this demo".
video-testimonial
Capture authentic customer testimonials through guided self-recording workflows, from outreach and briefing to recording and publishing. Use when: Building social proof for marketing campaigns; Creating customer success stories; Gathering testimonials for website and ads; Producing case study videos; Collecting user-generated content
video-outreach
When the user wants to build video-first cold outreach, create personalized video at scale, implement async selling, or use AI demo generation for prospecting. Also use when the user mentions 'video outreach,' 'personalized video,' 'video prospecting,' 'Tavus,' 'Sendspark,' 'HeyGen,' 'video email,' 'async selling,' 'video demo,' or 'made this for you.' This skill covers video-first outreach systems from personalization through conversion optimization.
ppt-to-video-workflow
PPT/슬라이드를 나레이션과 자막이 포함된 영상으로 변환합니다. PPTX 파일 또는 slides.json에서 슬라이드 이미지를 추출/렌더링하고, TTS로 나레이션을 생성하며, 자막을 추가하여 최종 MP4 영상을 만듭니다. "PPT를 영상으로 만들어줘", "발표 영상 생성", "자막 포함 영상 만들기" 요청 시 사용합니다.
oatda-video-status
Use when the user wants to check the status of an asynchronous video generation task from OATDA. Returns the video URL when generation is complete.
analyze-video-performance-skill
Analyze your uploaded YouTube videos' performance against competitor benchmarks using Playwright MCP. Use when asked to review video analytics, compare performance, check how a video is doing, or reflect on a video's success.
ai-avatar-video
Create AI avatar and talking head videos with OmniHuman, Fabric, PixVerse via inference.sh CLI. Models: OmniHuman 1.5, OmniHuman 1.0, Fabric 1.0, PixVerse Lipsync. Capabilities: audio-driven avatars, lipsync videos, talking head generation, virtual presenters. Use for: AI presenters, explainer videos, virtual influencers, dubbing, marketing videos. Triggers: ai avatar, talking head, lipsync, avatar video, virtual presenter, ai spokesperson, audio driven video, heygen alternative, synthesia alternative, talking avatar, lip sync, video avatar, ai presenter, digital human
advocate-sourcing
Use to identify, score, and prioritize customer advocates for programs.
acc-event-sourcing-knowledge
Event Sourcing knowledge base. Provides patterns, antipatterns, and PHP-specific guidelines for Event Sourcing architecture audits.
video-sdk/web
Zoom Video SDK for Web - JavaScript/TypeScript integration for browser-based video sessions, real-time communication, screen sharing, recording, and live transcription
Fixed Video Format (9:16)
Fixed 1080x1920 pixel video format with percentage-based positioning. Use this when laying out video compositions, positioning elements on the canvas, or calculating dimensions. All videos render at exactly 9:16 aspect ratio for TikTok/Instagram Reels.