Video Searching Skill
Use this skill when the user asks to find, compare, or analyze social videos (YouTube, TikTok, Instagram, Twitter/X), or explicitly invokes /video_search.
This skill calls the Memories.ai Video Searching API — a managed, token-authenticated endpoint that searches across platforms and returns structured results via SSE.
Triggering
Run this workflow when either condition is true:
- Message starts with
/video_search. - The user asks for video sourcing/trend/creator/brand analysis and wants concrete video links.
If /video_search is used with no query body, ask for the missing query.
Execution contract
-
Resolve query text:
/video_search ...→ strip/video_searchand use remaining text.- Free-form → use user message as query.
-
Build the API request JSON body:
query(required): the user's search queryplatforms(optional): array ofyoutube,tiktok,instagram,twitter— only set if user specifies platformsmax_results(optional, default 10): number of video resultstime_frame(optional):past_24h,past_week,past_month,past_year— only set if user specifies recencymax_steps(optional, default 10): max agent iterationsenable_clarification(optional, default false): set to true if user query is vague
-
Call the runner script:
<skill_dir>/scripts/run_video_query.sh \ --query "<query>" \ [--platforms "youtube,tiktok"] \ [--max-results 10] \ [--time-frame past_week] \ [--enable-clarification] -
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 search...progress→ send concise progress update frommessagefield (throttle: skip if last update was < 3s ago)complete→ send final formatted response (see below)clarification→ ask the clarification question directly; treat as final responseerror→ send concise failure reason with one actionable next step
-
Do not forward raw
tool_callortool_resultevents to the user.
Final response format
When terminal event is complete:
- One short paragraph conclusion (from
answerfield). - Top video references (up to 5 by default):
titleurlplatformbadge (e.g. 🎬 YouTube, 🎵 TikTok, 📸 Instagram, 🐦 X)- one-line
relevance_note - key metrics: views, likes, engagement rate (if available)
- Footer:
⏱ {execution_time_seconds}s · {steps_taken} steps · {tools_used}
If fewer videos exist, show all available references.
When terminal event is clarification:
- Ask the clarification question directly.
- Present options if provided.
- Treat as final response for the current run.
When terminal event is error:
- Send concise failure reason.
- Include one actionable next step.
Safety and fallback
- If
MEMORIES_API_KEYis not set, tell the user:⚠️ 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 - If the API returns a non-SSE error (HTTP 4xx/5xx), display the error message.
- Never fabricate video URLs or metrics.
- If the API is unreachable, suggest checking network connectivity and API status.