com um clique
watch-cli
// Watch any social video → get an architecture diagram, working component, runnable notebook, or step-by-step cheat sheet — automatically.
// Watch any social video → get an architecture diagram, working component, runnable notebook, or step-by-step cheat sheet — automatically.
| name | watch-cli |
| description | Watch any social video → get an architecture diagram, working component, runnable notebook, or step-by-step cheat sheet — automatically. |
| homepage | https://github.com/sonpiaz/watch-cli |
| metadata | {"openclaw":{"emoji":"","requires":{"bins":["watch"]},"install":[{"id":"curl-install","kind":"shell","command":"curl -fsSL https://raw.githubusercontent.com/sonpiaz/watch-cli/main/install.sh | bash","bins":["watch"],"label":"Install watch-cli (curl)"}]}} |
Watch any social video → get an architecture diagram, working component, runnable notebook, or step-by-step cheat sheet — automatically.
watch-cli is a thin orchestrator that downloads any social video, extracts evenly-spaced frames, and transcribes the audio. The output is a single labeled block (or one-line JSON) designed for an LLM to read frames as images and transcript as text. The agent supplies the prompt; watch-cli supplies the raw materials.
Reach for watch whenever the user gives you a video URL and wants you to do something with what's in it.
watch.Supported platforms: YouTube, X / Twitter, LinkedIn, TikTok, Vimeo, Reddit, Facebook. Login-walled sources fall back to the user's signed-in browser cookies automatically.
The watch output gives you the raw materials to map to five concrete artifacts. Match the user's intent to one of them.
A coding walkthrough becomes working project files: read the frames for file names, exact code, and dependencies; read the transcript for intent and rationale; emit the final state, not the intermediate edits.
A system architecture talk becomes an interactive architecture diagram: a single self-contained HTML page with actors, surfaces, APIs, and clickable named flows that highlight the path through the system.
A UI or motion demo becomes a working React component: one paste-ready .tsx file that captures the feel and the single interaction that makes the UI special, not a pixel-perfect screenshot.
A paper or research talk becomes a runnable notebook: one .ipynb implementing the core method on a toy dataset that runs end-to-end on a free Colab T4.
A long tutorial becomes a step-by-step cheat sheet: numbered steps with copy-pasteable commands, video timestamps, verification per step, and only the troubleshooting the speaker actually discussed.
Five copy-paste prompt templates live in prompts/. Pick the one that matches the user's intent.
watch emits a versioned, agent-shaped payload. Both formats are documented in docs/output-schema.md and conform to the v1 contract — append-only, no renames, no type changes within v1.
watch <url> --format json emits one UTF-8 JSON object on stdout terminated by a newline. Parse it with a real JSON parser, switch on obj.version, read obj.video_path, obj.duration_sec, obj.frame_paths (array of absolute JPG paths, earliest-in-video first), obj.transcript (string or null), and obj.exit_code. Field reference is the single source of truth in docs/output-schema.md.WATCH_OUTPUT_VERSION: 1 is the version signal; everything below is labeled blocks (VIDEO:, DURATION:, FRAMES:, TRANSCRIPT:, EXIT:) per the same doc.FRAMES: (or each string in frame_paths) is an absolute path to a JPG on disk. Pass the path to the host's image-reading primitive. The transcript is plain UTF-8 text — no decoding needed.docs/exit-codes.md. The partial-success case is the one to remember: on exit 4 the frames are populated and the transcript is null — branch on the exit code and fall through to a frames-only consumption path instead of failing the run.watch <url> [frame-count]
Default frame count is 8. For a fast-cut or dense UI demo, double it. For a multi-hour conference talk, bump to 24–32. The CLI does not cap; agent hosts typically prefer ≤ 32.
[watch] downloading …) are not part of the contract and change between releases. Programmatic consumers ignore stderr.frame_paths is the contract.exit 4 is recoverable partial success — frames populated, transcript null. Branch on exit_code before parsing.KYMA_API_KEY setup lives in the README.