CtrlK
BlogDocsLog inGet started
Tessl Logo

run-llms

Comprehensive guide for setting up and running local LLMs using Harbor. Use when user wants to run LLMs locally, set up or troubleshoot Ollama, Open WebUI, llama.cpp, vLLM, SearXNG, Open Terminal, or similar local AI services. Covers full setup from Docker prerequisites through running models, per-service configuration, VRAM optimization, GPU troubleshooting, web search integration, code execution, profiles, tunnels, and advanced features. Includes decision trees for autonomous agent workflows and step-by-step troubleshooting playbooks.

66

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./skills/run-llms/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 highly actionable, well-structured reference: nearly every line is an executable Harbor command, the setup and troubleshooting workflows carry explicit verification steps, and agent-specific hazards (the log-tailing trap) are prominently flagged. Its weaknesses are duplication — config tables and several workflows appear twice — and the absence of any progressive disclosure, with reference-grade per-service material inlined in a single very long file instead of being split into one-level-deep reference files.

Suggestions

Deduplicate the duplicated material: the 'Environment Variable Quick Reference' repeats the per-service config tables verbatim, and the web-search, code-execution, and tunnel procedures appear in both 'Agent Decision Trees' and 'Common Workflows' — keep one canonical location and cross-reference it.

Move the per-service reference material (CLI listings, config tables, and env var tables for each of Ollama, llama.cpp, vLLM, Open WebUI, SearXNG, Open Terminal) into one-level-deep reference files (e.g. references/ollama.md), leaving SKILL.md as a concise overview with the decision trees, setup workflow, and troubleshooting playbooks.

Add a validation gate before the destructive sandbox reset ('rm -rf services/openterminal/data'): confirm the openterminal container is down, back up anything needed from the workspace, and verify the service is healthy after the reset.

DimensionReasoningScore

Conciseness

Mostly efficient — nearly everything is Harbor-specific commands rather than concepts Claude already knows — but there is real duplication that could be tightened: the per-service config tables (Ollama, llama.cpp, WebUI, SearXNG, Open Terminal) are repeated verbatim in the 'Environment Variable Quick Reference', and the web-search, code-execution, and tunnel workflows appear in both 'Agent Decision Trees' and 'Common Workflows'. This is more than the minor over-explanation of anchor 4.

3 / 5

Actionability

Fully executable, copy-paste-ready commands throughout, covering the common cases: 'harbor pull qwen3:4b && harbor up', 'harbor vllm args --max-model-len 4096 --enforce-eager', 'docker logs harbor.<service>', working curl examples for the router API, and complete numbered troubleshooting commands. No pseudocode or vague direction.

5 / 5

Workflow Clarity

Clear sequences with most checkpoints present: the 5-step setup workflow includes explicit verification ('harbor ps → confirm services healthy', 'harbor doctor', 'Wait for "Application startup complete"'), and the GPU/OOM troubleshooting playbooks are numbered with verification commands. Not 5 because the sandbox reset ('rm -rf services/openterminal/data') is a destructive step with only log/health checks before it and no real validation gate.

4 / 5

Progressive Disclosure

Section structure is good — clear headers, per-service sections, quick-reference tables — but there are no reference files at all: reference-grade material (per-service CLI listings, config tables, and environment variable tables for 8+ services) is inlined in a single ~1300-line SKILL.md. This fits anchor 3 (content that should be separate is inline, though well organized) rather than anchor 2's unstructured blob.

3 / 5

Total

15

/

20

Passed

Description

88%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 strong description: it states concrete capabilities, names the specific tools in the stack, and includes an explicit 'Use when...' trigger clause with natural user phrasing in third-person voice. Its only weaknesses are minor — a few missing natural synonyms and slight overlap risk from triggering on individual tool names that dedicated per-tool skills might also claim.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with comprehensive coverage: 'setting up and running local LLMs', 'set up or troubleshoot Ollama, Open WebUI, llama.cpp, vLLM, SearXNG, Open Terminal', 'per-service configuration, VRAM optimization, GPU troubleshooting, web search integration, code execution, profiles, tunnels'. Coverage spans setup, configuration, optimization, troubleshooting, and integrations; only trivial filler ('advanced features') keeps it from being perfectly lean, which is not enough to drop to 4.

5 / 5

Completeness

Explicitly answers both parts: what ('Comprehensive guide for setting up and running local LLMs using Harbor... per-service configuration, VRAM optimization, GPU troubleshooting') and when ('Use when user wants to run LLMs locally, set up or troubleshoot Ollama... or similar local AI services') with concrete trigger phrases, matching anchor 5.

5 / 5

Trigger Term Quality

Good keyword coverage with natural user phrasing: 'run LLMs locally', 'Ollama, Open WebUI, llama.cpp, vLLM', 'GPU troubleshooting', 'web search'. A few natural synonyms users would say are missing (e.g. 'self-hosted', 'run a model'), so it fits anchor 4 rather than the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche (local LLM infrastructure via Harbor) with distinct triggers, but the description triggers on individual tool names ('Ollama', 'vLLM', 'SearXNG') that could overlap with dedicated per-tool skills, and 'or similar local AI services' broadens scope — minor overlap risk with closely related skills (anchor 4) rather than minimal conflict risk (anchor 5).

4 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1322 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
av/harbor
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.