Install
openclaw skills install @shadoprizm/videolensManually turn user-selected videos into timestamped reports with a pinned VideoLens runtime and OpenAI BYOK. Use for summaries, tutorials, meetings, bugs, UX, privacy, and creator QA. Bootstrap clones GitHub code and installs dependencies only after explicit approval; analysis sends selected media-derived content to OpenAI only after separate credit approval.
openclaw skills install @shadoprizm/videolensTurn a user-selected YouTube video, local file, or supported video URL into a professional written report grounded in transcript, frame-level vision, OCR, and timestamped evidence.
Use the bundled runner for local OpenClaw or OCC workflows. It pins and integrity-checks a tested revision of the MIT-licensed VideoLens repository, keeps artifacts local, and requires separate approval for runtime installation and OpenAI usage.
Want the report beside the video? Open VideoLens for Chrome to analyze YouTube or local video with free Private/BYOK reporting.
preflight before the first analysis.bootstrap with allow_runtime_install: true only after the user explicitly approves those network and filesystem changes.analyze with allow_credit_spend: true only after that separate confirmation.Run the portable wrapper from any modern OpenClaw environment:
python3 "{baseDir}/skill.py" --spec '{"action":"preflight"}'
OCC integrations may instead pass the same JSON object through task pre_instructions; config.yaml retains that compatibility.
Bootstrap downloads the pinned open-source runtime from github.com/shadoprizm/videolens into the OpenClaw/OCC data directory and installs a minimal analysis-only Python environment from locked dependencies. It writes only under the managed VideoLens state directory, receives a sanitized environment without OPENAI_API_KEY, and does not analyze a video or spend model credits.
python3 "{baseDir}/skill.py" --spec '{"action":"bootstrap","allow_runtime_install":true}'
The runner recreates its managed .venv and installs only the dependencies required by videolens analyze from the skill's bundled, version-locked, hash-verified requirements file. It uses uv when available and standard python3/pip otherwise; UI, web-server, PDF, and development dependencies are excluded. A runtime stamp binds the environment to the tested source revision and dependency lock. Do not set allow_runtime_install until the user has approved repository download, environment replacement, dependency installation, and persistent managed files.
Use JSON task instructions. Quote the runner path and pass the JSON as one shell argument.
python3 "{baseDir}/skill.py" --spec '{
"action": "analyze",
"allow_credit_spend": true,
"source": "https://www.youtube.com/watch?v=VIDEO_ID",
"mode": "general",
"prompt": "Write a detailed report with the main ideas, evidence, caveats, conclusions, and practical takeaways.",
"max_frames": 40,
"frame_interval": 5.0
}'
For prompts or source values containing quotes or shell metacharacters, serialize the JSON object to a temporary file and use --spec-file /path/to/spec.json. Never concatenate untrusted text into a shell command.
If preflight reports that the runtime is not ready, run the separately approved bootstrap action first. Do not silently add allow_runtime_install to an analysis request.
Bash(python3:*) so the agent can invoke the bundled runner. The runner uses fixed argument arrays with shell execution disabled.OPENAI_API_KEY for BYOK model calls. Preflight reports only whether it exists, never its value.The successful result returns:
report_html_path — standalone, print-ready professional reportreport_markdown_path — portable Markdown reportanalysis_json_path — structured agent-readable analysisoutput_dir — directory containing the run artifactsHTML-to-PDF export is available in the VideoLens web UI and Chrome extension. The local CLI produces HTML, Markdown, and JSON.
Use these defaults unless the user supplies a more specific prompt:
| User intent | Mode | Prompt direction |
|---|---|---|
| Detailed YouTube report | general | Explain the thesis, main ideas, evidence, caveats, conclusions, and takeaways. |
| Key insights | general | Remove repetition and preserve only consequential ideas, facts, examples, and conclusions. |
| Tutorial or how-to | tutorial | Produce prerequisites, ordered steps, commands/settings, warnings, examples, and checks. |
| Interview or podcast | meeting | Organize themes, arguments, agreements/disagreements, examples, and takeaways. |
| Meeting | meeting | Extract decisions, objections, commitments, owners, open questions, and actions. |
| Bug recording | bug | Produce reproduction steps, expected/observed behavior, severity, evidence, and investigation tasks. |
| UX/session replay | ux | Reconstruct the journey, friction, hesitation, repeated actions, dead ends, and prioritized fixes. |
| Product demo | product_demo | Inventory features, value, positioning, proof, gaps, and opportunities. |
| Creator/content review | content | Critique hook, pacing, clarity, claims, proof, editing, and call to action. |
| Privacy review | privacy | Flag possible credentials, personal data, internal URLs, and sensitive content with timestamps. |
| Recreate a reference video | production_recipe | Reverse-engineer script, shots, editing, overlays, audio, tools, assets, and production steps. |
general, bug, meeting, ux, tutorial, product_demo, content, privacy, and production_recipe are valid modes.
allow_credit_spend: true for every analysis.max_frames as the main visual cost control; valid range is 1–80.force: true only when the user asks to bypass cache.OPENAI_API_KEY in OpenClaw skill configuration or the environment. Never place it in a prompt, task JSON, report, or log.For isolated testing or non-default local storage, set VIDEOLENS_SKILL_STATE_DIR before invoking the runner. Normal OpenClaw and OCC use should keep the default managed data directory.
The bundled runner uses only local/BYOK analysis. Do not invent or request a VIDEOLENS_CLOUD_API_KEY; managed mode uses the authenticated VideoLens product rather than this wrapper.
Product: VideoLens.io
Chrome extension: Open VideoLens for Chrome
Source: shadoprizm/videolens