CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

llava

Large Language and Vision Assistant. Enables visual instruction tuning and image-based conversations. Combines CLIP vision encoder with Vicuna/LLaMA language models. Supports multi-turn image chat, visual question answering, and instruction following. Use for vision-language chatbots or image understanding tasks. Best for conversational image analysis. Also covers BLIP-2 (guides in references/).

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/multimodal/llava/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-organized, information-dense reference whose main quick-start path is executable, but roughly half the code examples degrade to undefined-helper pseudocode, and the body carries redundant sections and time-sensitive metrics that inflate token cost. The bundle is under-linked: training.md is orphaned and BLIP-2 nests references two levels deep.

Suggestions

Replace the undefined helpers `ask()`, `generate()`, and `ask_llava()` with real functions built on the quick-start pattern (load_pretrained_model + tokenizer_image_token + model.generate) so the Common tasks, Multi-turn, and integration examples are copy-paste executable.

Collapse the five near-identical 'Common tasks' snippets into one worked example, merge the 4-bit/8-bit quantization content (currently spread across three sections) into a single section, and drop the time-sensitive GitHub-stars metric.

Link references/training.md from the 'Training custom model' section so the full training guide is discoverable, and flatten references/blip-2/references/*.md to a single level (e.g., references/blip-2/advanced-usage.md) to avoid a 2-level reference chain.

DimensionReasoningScore

Conciseness

The body avoids concept explanations and is dense with code, but contains padded/redundant material: five near-identical "Common tasks" snippets (`question = ...; response = ask(model, image, question)`), 4-bit quantization described in three places ("Available models", "Quantization", "Web UI"), and time-sensitive marketing metrics ("23,000+ GitHub stars", benchmark percentages) not placed in a deprecated section. Mostly efficient but could be tightened by 30-40%, matching anchor 3 rather than anchor 2 since there is no concept over-explanation.

3 / 5

Actionability

The Quick start is fully executable end-to-end (model load, image processing, generation) and CLI/Gradio/training commands run as written. However, multiple sections rely on undefined helpers — "response = ask(model, image, question)" in all five Common tasks, "response1 = generate(conv, model, image)" in Multi-turn, "return response" in the LangChain stub, "ask_llava" in the Gradio app — which is pseudocode in place of executable code for the most common use cases, more than the 'minor gaps' of anchor 4.

3 / 5

Workflow Clarity

Sections follow a logical sequence (install → basic usage → model selection with VRAM table → interfaces → tasks → training → quantization → best practices → limitations), and training is presented as an explicit two-stage pipeline ("Stage 1: Feature alignment... Stage 2: Visual instruction tuning"). Not anchor 5 because there are no explicit validation/verification checkpoints (e.g., confirming VRAM fit before choosing a model, checking the serve endpoints started) and the multi-turn flow's undefined `generate` helper obscures the actual loop; well above anchor 3 since no destructive/batch operation lacks guidance.

4 / 5

Progressive Disclosure

Scored against the actual bundle: the body's only reference, "references/blip-2/overview.md", is clearly signaled in a descriptive "Related tools" table — but the BLIP-2 guide itself chains into a second nested level (references/blip-2/references/advanced-usage.md and troubleshooting.md, a 2-level reference chain), and references/training.md (197 lines) is never linked from SKILL.md, leaving the inline 8-line "Training custom model" section as the only discoverable training guidance. These are real organization gaps beyond anchor 4's 'minor organization gaps', though structure and signaling are better than anchor 3's example of buried references.

3 / 5

Total

13

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A solid description that clearly states both what the skill does and when to use it, with a good set of natural trigger terms and a distinct conversational-VLA niche. It sits at 4 across the board: the 'when' clause could name concrete triggers, and the BLIP-2 scope addendum introduces minor overlap risk with a closely related tool.

DimensionReasoningScore

Specificity

Quotes: "Enables visual instruction tuning and image-based conversations", "Supports multi-turn image chat, visual question answering, and instruction following" — several concrete actions are listed. It stops short of anchor 5 because common capabilities like image captioning/description are absent and phrases like "Best for conversational image analysis" are generic positioning rather than actions; it is well above anchor 3's '1-2 concrete actions'.

4 / 5

Completeness

Quotes: what — "Enables visual instruction tuning and image-based conversations... Supports multi-turn image chat, visual question answering, and instruction following"; when — "Use for vision-language chatbots or image understanding tasks." Both are present, satisfying the 'Use when...' requirement (so no cap at 3). Not anchor 5 because the 'when' clause lacks concrete trigger phrases (e.g., 'when the user mentions LLaVA or asks to analyze an image') and "image understanding tasks" is broad.

4 / 5

Trigger Term Quality

Quotes: "multi-turn image chat", "visual question answering", "vision-language chatbots", "image understanding tasks" — good coverage of natural phrases a user would say. Not anchor 5 because natural variations like "image captioning", "describe an image", "VQA", and "multimodal" are missing, while "visual instruction tuning" is jargon users would not say; well above anchor 3's 'missing common variations'.

4 / 5

Distinctiveness Conflict Risk

Quotes: "Combines CLIP vision encoder with Vicuna/LLaMA language models", "Best for conversational image analysis" — a clear niche (conversational, instruction-following image chat) that mostly distinguishes it from CLIP or captioning tools. Not anchor 5 because "Also covers BLIP-2 (guides in references/)" deliberately claims a second, closely related tool whose core trigger (captioning) overlaps this skill's surface — a minor but real overlap risk with a closely related skill, which is exactly anchor 4.

4 / 5

Total

16

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 1 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 2 missing, 4 deeper-than-1-level

Warning

Total

13

/

16

Passed

Repository

OpenLAIR/dr-claw

Path

skills/multimodal/llava/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.