Skip to main content

video

Analyze a video or screen recording by extracting frames and spawning an analysis agent

来源信息

仓库
ellyseum/claude-vision
最近来源活动
2026年2月11日 07:54
检测到的 SKILL.md 语言
英语
星标
1
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
video
description
Analyze a video or screen recording by extracting frames and spawning an analysis agent
## STOP - READ THESE RULES FIRST **FORBIDDEN ACTIONS (will break the plugin):** 1. **NEVER use the Bash tool** - no commands at all, the hooks handle everything 2. **NEVER run docker commands** - no `docker pull`, `docker images`, `docker run`, NOTHING 3. **NEVER make up registry names** - no ghcr.io/anything, no anthropic, no ellyseum 4. **NEVER run cv-run, yt-dlp, ffmpeg, ffprobe** - the hooks handle this 5. **NEVER improvise** - only do exactly what this skill says **YOUR ONLY ACTIONS ARE:** - Check the STATUS from hook output - If CACHED: spawn the video-analyzer agent (Task tool) - Otherwise: say the MESSAGE from hook output and STOP **If you don't know what to do: say "Something went wrong with video processing" and STOP.** --- ## Instructions When this command is invoked, a hook has already started processing. Look for the hook output in context (starts with "=== VIDEO HOOK RESULT ==="). ### Command Variants | Command | Description | |---------|-------------| | `/video <url/path> <question>` | Analyze video | | `/video follow-up <question>` | Ask about most recently analyzed video | | `/video --list` | Show all cached videos | | `/video --clear` | Remove all cached videos | --- ## Step 1: Check Hook Status **IMPORTANT:** Look for "=== VIDEO HOOK RESULT ===" in the system context. The hook output contains key:value pairs. Parse them carefully: Example hook output: ``` === VIDEO HOOK RESULT === STATUS: PROCESSING LOG_FILE: /tmp/video-process-12345.log CACHE_DIR: /home/user/.claude/claude-vision/video-cache/abc123 MESSAGE: Started video processing... === USE THESE EXACT PATHS === ``` Extract the EXACT values - do not use placeholder numbers. If the hook says `LOG:/tmp/video-process-89328.log`, use exactly that path, not a different number. Fields: - `STATUS:` - Current state - `CACHE:` - Path to cached data - `LOG:` - Path to processing log (use this EXACT path) - `MESSAGE:` - User-friendly status message **Handle based on STATUS:** | Status | Action | |--------|--------| | `CACHED` | Proceed to Step 2 (spawn agent) | | `PROCESSING` | Say the MESSAGE and tell user to try again in a moment | | `READY` | No URL was provided - ask user for a video URL | | `DOCKER_PULLING` | Say the MESSAGE (it includes progress %) | | `DOCKER_FAILED` | Say the MESSAGE | | `NOT_CONFIGURED` | Say: "Video not configured. Run /claude-vision-setup first." | | `NO_TOOLS` | Say the MESSAGE | **For any status except CACHED: just say the message and STOP. Do not use Bash. Do not try to wait or poll.** --- ## Step 2: Spawn Video Analyzer Agent Once you have the CACHE_DIR path from hook context, spawn the video-analyzer agent. **Read the metadata first using Read tool (NOT Bash):** - Read file: `<CACHE_DIR>/metadata.json` **Then spawn the agent with Task tool:** ``` Task tool: subagent_type: "claude-vision:video-analyzer" description: "Analyze video" prompt: | Analyze this video and answer the user's question. ## Video Information - Cache directory: <CACHE path> - Title: <from metadata> - Duration: <from metadata> seconds - Frames: <frame_count from metadata> ## User's Question <the user's original question about the video> ## Instructions 1. Read the transcript from <CACHE>/subtitles.srt if it exists 2. Read all frames from <CACHE>/frames/ 3. Analyze the content and answer the question ``` The agent will read the frames and transcript with its fresh 200k context. --- ## Step 3: Return Results Present the agent's analysis to the user. The main conversation stays lean. --- ## Special Commands ### `/video --list` ```bash CACHE_DIR="$HOME/.claude/claude-vision/video-cache" for dir in "$CACHE_DIR"/*/; do [[ -f "${dir}metadata.json" ]] && cat "${dir}metadata.json" && echo "" done ``` Present as a table: hash, title, duration, cached date. ### `/video --clear` ```bash rm -rf "$HOME/.claude/claude-vision/video-cache" echo "Cache cleared." ``` ### `/video follow-up <question>` Find most recent cache by timestamp in metadata.json, then spawn agent with that cache. --- ## Notes - All video processing happens in the hook (background) - Do NOT use Bash for the main video flow - just check status and spawn agent - The agent sees all frames; you only see the analysis - Cache persists across sessions
在 GitHub 查看