Skip to content
cccskills
FreePublished on GitHub

qwen-vision

Analyze local video and image files through the Qwen API to get written descriptions of motion, scene changes, or visible elements. The bridge also supports batch video classification, follow-up questions, and structured JSON output.

OriginalShow the original description

Use when the user asks to "analyze video", "watch this video", "what happens in this video", "describe this clip", "review this footage", "classify these videos", "compare videos", "analyze this image", "what's in this screenshot", or when the user provides a video/image file path and expects visual understanding. Also trigger on: "qwen", "video bridge", "multimodal analysis", "motion analysis", "video reference", "video breakdown", "batch classify", or any task requiring understanding of video content that Claude cannot do natively.

See how to install

Good for

  • Describing movement and transitions in video
  • Classifying multiple video files
  • Examining elements visible in screenshots
  • Asking follow-up questions about analyzed media

Files included (4)

  • SKILL.md4.7 KB
  • references/batch-pattern.md2.5 KB
  • references/prompt-tips.md2.3 KB
  • scripts/qwen_bridge.py7.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Qwen Vision Bridge

Claude cannot natively understand video. This skill bridges that gap by calling Qwen Omni — a natively multimodal model that processes video with temporal attention (it sees motion, not just individual frames).

The bridge also handles images, useful when you want Qwen's analysis on screenshots, diagrams, or photos.

How it works

A Python script at ${CLAUDE_PLUGIN_ROOT}/skills/qwen-vision/scripts/qwen_bridge.py sends media files to the Qwen API and returns the analysis as text. Call it via Bash.

Prerequisites

The user must have:

  1. DASHSCOPE_API_KEY environment variable set (get one at https://dashscope.console.aliyun.com/ or https://modelstudio.console.alibabacloud.com/)
  2. Python 3.9+ with dashscope package installed

If the user hasn't set up yet, suggest running /qwen-setup first.

Basic usage

python3 "${CLAUDE_PLUGIN_ROOT}/skills/qwen-vision/scripts/qwen_bridge.py" "/path/to/video.mp4" "Describe what happens in this video"

Parameters

FlagDefaultDescription
(positional 1)requiredPath to video or image file
(positional 2)generic promptAnalysis prompt
--fps2.0Frames per second to sample from video. Lower = cheaper, higher = more detail
--modelqwen-omni-plus-latestQwen model to use
--jsonoffOutput as JSON (for parsing)
--contextnonePath to JSON file with previous conversation (multi-turn)
--save-contextnoneSave conversation context for follow-up questions
--system-promptnoneCustom system prompt for Qwen
--prompt-filenoneRead prompt from a file instead of argument

Supported formats

Video: .mp4, .mov, .avi, .mkv, .webm, .flv, .wmv Image: .png, .jpg, .jpeg, .gif, .webp, .bmp, .tiff

Patterns

Single video analysis

python3 "${CLAUDE_PLUGIN_ROOT}/skills/qwen-vision/scripts/qwen_bridge.py" "/path/to/video.mp4" "Describe the character's body movement, poses, and transitions" --fps 2

Parse the text response and use it in your answer to the user.

Batch analysis

When the user has multiple videos to analyze, write a Python script that loops through files and calls the bridge for each one. Use --json flag for machine-readable output. See references/batch-pattern.md for a template.

Multi-turn (follow-up questions)

# First question
python3 "${CLAUDE_PLUGIN_ROOT}/skills/qwen-vision/scripts/qwen_bridge.py" video.mp4 "General analysis" --save-context /tmp/ctx.json

# Follow-up
python3 "${CLAUDE_PLUGIN_ROOT}/skills/qwen-vision/scripts/qwen_bridge.py" video.mp4 "Tell me more about the lighting" --context /tmp/ctx.json

Image analysis

Same script, just pass an image path instead of video:

python3 "${CLAUDE_PLUGIN_ROOT}/skills/qwen-vision/scripts/qwen_bridge.py" "/path/to/screenshot.png" "What UI elements are visible in this screenshot?"

Cost-saving tips

  • Use --fps 1 for long videos or when fine detail isn't needed
  • Use --fps 0.5 for very long videos (minutes+)
  • For batch jobs, start with --fps 1 and increase only if results are too vague

Error handling

  • If DASHSCOPE_API_KEY is not set, the script exits with a clear error message. Guide the user to set it up.
  • If dashscope is not installed, suggest pip install dashscope.
  • If the API returns an error, the script prints the error code and message. Common issues: invalid key, quota exceeded, unsupported file format.
  • If a video file is too large for the API, suggest lowering --fps or trimming the video first.

What Qwen sees vs what Claude sees

This is important context for the user: Qwen processes video frames with temporal attention — it understands motion, direction, rhythm, and transitions between frames. Claude analyzing individual screenshots cannot do this. When the user needs to understand what happens in a video (not just what a single frame looks like), this bridge is the right tool.

Additional resources

  • references/batch-pattern.md — template for batch video classification
  • references/prompt-tips.md — effective prompts for different analysis types

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Handle ActiveCampaign contact and marketing tasks through Rube MCP, a connection for agent tools. Find or create contacts, manage tags and subscriptions, enroll contacts in existing automated workflows, and create follow-up tasks.

  • Finding or registering contacts
  • Adding or removing contact tags
  • Subscribing contacts to lists or unsubscribing them
davepoon/buildwithclaude3.7KUpdated Oct 20, 2026

Research competitors’ live Meta and Google ads to identify opening hooks, offers, calls to action, and landing pages. Receive a sourced creative brief and up to three test ideas adapted to your product.

  • Find angles for new ad copy
  • Plan creative tests using competitor ads
  • Choose a landing page message
davepoon/buildwithclaude3.7KUpdated Oct 20, 2026

agent-analytics

FreeSummary

Add website or app tracking, then use command-line tools to review traffic, signups, drop-off, and returning users across projects. Run A/B tests, which compare alternative headlines or buttons, and inspect results to guide changes.

  • Adding page-view and key-action tracking
  • Reviewing traffic and referral sources across projects
  • Finding where visitors drop out before signup or purchase
davepoon/buildwithclaude3.7KUpdated Oct 20, 2026

Establish rules for when an AI agent should recall past context and save lasting decisions, corrections, preferences, and failures. Works with Markdown files or memory services, preserving decision history and surfacing conflicting records.

  • Carry project conventions into the next session
  • Save user corrections and lasting preferences
  • Record failed approaches and their causes
davepoon/buildwithclaude3.7KUpdated Oct 20, 2026

Audit local AI coding-agent sessions with agenttrace to identify spending, token use, tool failures, and operational problems. Produce readable or structured reports and define pass-or-fail thresholds for automated continuous integration checks.

  • Investigating session costs and token waste
  • Finding repeated tool failures and retries
  • Exporting session reports as Markdown or JSON
davepoon/buildwithclaude3.7KUpdated Oct 20, 2026

Audit saved agent sessions for access to private files and evidence that secret values entered an agent's context. Get findings without displaying secrets, identify keys needing rotation, and inspect Claude Code or Codex sessions in a local report.

  • Check whether an agent accessed .env files
  • Identify keys that may need rotation
  • Audit private-file access by subagents
davepoon/buildwithclaude3.7KUpdated Oct 20, 2026

See all skills by davepoon

Report a problem with this skill