Building Custom Image Analysis Skills in OpenClaw with Local Models

A developer documented their process of creating a custom image analysis skill for OpenClaw using entirely free, local tools without API costs.
Setup and Initial Challenges
The developer runs OpenClaw on Windows 11 via Ubuntu WSL with Ollama as the LLM backend. They encountered limitations with the WebUI's image handling - while they created an uploads folder, the system could only read file information but not analyze image content. This led them to explore alternatives beyond paid API solutions (Claude, Gemini, OpenAI) or hardware purchases.
Solution Development
After installing context7mcp, they evaluated local language models and settled on Qwen2.5 VL. Initial attempts with built-in skills faced issues with model name acceptance and Ollama integration. The breakthrough came through systematic testing: sending images to Ollama via API calls, reading responses, and creating both bash and Python scripts to handle the process.
Implementation Details
- Environment: Windows 11 with Ubuntu WSL
- LLM Backend: Ollama
- Selected Model: Qwen2.5 VL
- Integration Method: API calls to Ollama
- Scripts Created: Bash and Python versions
The custom skill registers natively in OpenClaw and can be invoked with commands like "analyse this image" or "take a look at this photo," returning detailed and accurate responses. The developer notes that future improvements with smaller Qwen3/3.5VL models could enhance performance further.
Despite challenges including multiple reinstalls and frustrations with incomplete open-source tools, the developer describes the experience as creating a "self-fixing, self-improving organism" and remains impressed with OpenClaw's potential for custom skill development.
📖 Read the full source: r/openclaw
👀 See Also

Developer builds complex system in 20 hours using Claude AI without writing code
A developer with 28 years of experience used Claude AI to build a nearly complete product in one week and 20 hours without writing any code, describing the AI as a "wingman" that helps identify hazards and blind spots during development.

Running Claude Code 24/7 as a Background Agent — 2 Weeks of Experience
A developer shares their setup for running Claude Code continuously on a VPS, handling code reviews, refactoring, and deployments while they sleep.

Local Qwen3-0.6B INT8 as Embedding Backbone for AI Memory System
A developer implemented Qwen3-0.6B quantized to INT8 via ONNX Runtime as a local embedding model for an AI memory lifecycle system, achieving 12ms batch inference on CPU with 1024-dimensional vectors and cosine similarity thresholds of 0.75 for semantic relatedness.

Claude AI Recovers 99.94% of Data from Corrupted 12TB BTRFS Array
A developer used Claude AI to recover 99.94% of data from a corrupted 12TB BTRFS array after native recovery tools failed. Claude diagnosed a destroyed index table at 80% and manually rebuilt the filesystem tree, losing only 7MB of trash files from 8.4TB of data.