/domain-multimodal
Use for vision-language and multimodal tasks: image-text retrieval, zero-shot image classification, visual question answering (VQA), image captioning, document or chart understanding, and visual grounding. Picks a contrastive dual-encoder or an instruction-tuned VLM, and uses
Claude Code
$ npx -y skills add mxslr/mlcraft --skill domain-multimodal --agent claude-code
Codex
$ npx skills add mxslr/mlcraft --skill domain-multimodal -a codex -y
Cursor
$ npx skills add mxslr/mlcraft --skill domain-multimodal -a cursor -y
Gemini CLI
$ npx skills add mxslr/mlcraft --skill domain-multimodal -a gemini-cli -y
GitHub Copilot
$ npx skills add mxslr/mlcraft --skill domain-multimodal -a github-copilot -y
OpenCode
$ npx skills add mxslr/mlcraft --skill domain-multimodal -a opencode -y
Windsurf
$ npx skills add mxslr/mlcraft --skill domain-multimodal -a windsurf -y
SKILL.md
domain-multimodal.SKILL.mdname: domain-multimodal
description: "Use for vision-language and multimodal tasks: image-text retrieval, zero-shot image classification, visual question answering (VQA), image captioning, document or chart understanding, and visual grounding. Picks a contrastive dual-encoder or an instruction-tuned VLM, and uses task-appropriate evaluation. Triggers on 'vision language', 'image and text', 'CLIP', 'VQA', 'visual question answering', 'image captioning', 'multimodal', 'describe an image', 'document understanding', 'zero-shot image'."
Multimodal (Vision-Language) - Method Selection
Try zero-shot first. Pretrained models often work with no training.
Decision table
| Task | Recommended | Notes | |---|---|---| | Zero-shot classification or image-text retrieval | CLIP or SigLIP (contrastive dual-encoder) | embeddings plus cosine similarity; build an approximate nearest neighbor index for retrieval. | | VQA, captioning, visual chat | BLIP-2 (Q-Former plus a frozen LLM) or a LLaVA-family model | instruction-tuned; adapt parameter-efficiently. | | Fine detail, documents, or charts | a high-resolution VLM or a document-specialized model | small text and layout need high input resolution. | | Custom domain adaptation | LoRA on the VLM, or fine-tune CLIP with a contrastive loss | small data. |
Cross-cutting practice
- Prompt design matters for VLMs. Start zero-shot and only fine-tune if it is insufficient.
- Metrics: retrieval uses Recall@K; zero-shot classification uses accuracy; VQA uses VQA accuracy (open-ended VQA needs an LLM judge plus human checks); captioning uses CIDEr, SPICE, or BLEU plus human review.
- Caveats: VLMs hallucinate, so evaluate faithfulness. Deduplicate to avoid train and test image overlap.
- Explainability: cross-attention or grounding maps (which region the answer used), and retrieved neighbors for retrieval.
- Improve results: use `accuracy-improvement-loop`; evaluate with `rigorous-evaluation`.
Read more
name: domain-multimodal description: "Use for vision-language and multimodal tasks: image-text retrieval, zero-shot image classification, visual question answering (VQA), image captioning, document or chart understanding, and visual grounding. Picks a contrastive dual-encoder or an instruction-tuned VLM, and uses task-appropriate evaluation. Triggers on 'vision language', 'image and text', 'CLIP', 'VQA', 'visual question answering', 'image captioning', 'multimodal', 'describe an image', 'document understanding', 'zero-shot image'."
Multimodal (Vision-Language) - Method Selection
Try zero-shot first. Pretrained models often work with no training.
Decision table
| Task | Recommended | Notes | |---|---|---| | Zero-shot classification or image-text retrieval | CLIP or SigLIP (contrastive dual-encoder) | embeddings plus cosine similarity; build an approximate nearest neighbor index for retrieval. | | VQA, captioning, visual chat | BLIP-2 (Q-Former plus a frozen LLM) or a LLaVA-family model | instruction-tuned; adapt parameter-efficiently. | | Fine detail, documents, or charts | a high-resolution VLM or a document-specialized model | small text and layout need high input resolution. | | Custom domain adaptation | LoRA on the VLM, or fine-tune CLIP with a contrastive loss | small data. |
Cross-cutting practice
- Prompt design matters for VLMs. Start zero-shot and only fine-tune if it is insufficient.
- Metrics: retrieval uses Recall@K; zero-shot classification uses accuracy; VQA uses VQA accuracy (open-ended VQA needs an LLM judge plus human checks); captioning uses CIDEr, SPICE, or BLEU plus human review.
- Caveats: VLMs hallucinate, so evaluate faithfulness. Deduplicate to avoid train and test image overlap.
- Explainability: cross-attention or grounding maps (which region the answer used), and retrieved neighbors for retrieval.
- Improve results: use `accuracy-improvement-loop`; evaluate with `rigorous-evaluation`.
Other skills on mlcraft.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about domain-multimodal.
- Which coding agents can use domain-multimodal?
- domain-multimodal installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

