CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

llama-cpp

Runs LLM inference on CPU, Apple Silicon, and consumer GPUs without NVIDIA hardware. Use for edge deployment, M1/M2/M3 Macs, AMD/Intel GPUs, or when CUDA is unavailable. Supports GGUF quantization (1.5-8 bit) for reduced memory and 4-10× speedup vs PyTorch on CPU.

64

Quality

81%

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

SKILL.md
Quality
Evals
Security

Quality

Content

68%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, highly actionable reference with real bundle files and clear navigation. Its weaknesses are duplication (repeated build flags and benchmark tables that already live in references/optimization.md) and the complete absence of validation checkpoints, which the rubric caps at 3 for the batch-processing workflow.

Suggestions

De-duplicate build instructions: keep the per-backend make flags in one place only (either the Installation section or the Hardware acceleration subsections), and link between them instead of repeating.

Replace the two benchmark tables in SKILL.md with one or two headline figures plus a pointer to references/optimization.md, which already contains nearly identical performance tables.

Add a validation checkpoint to the batch processing pattern — e.g., run the first prompt alone and confirm output before piping the whole prompts.txt, and verify the server responds (curl /health) before sending the chat completion request.

DimensionReasoningScore

Conciseness

The style is efficient (commands and tables, no teaching of concepts Claude already knows), but there is real duplication that could be tightened: the Metal/CUDA/ROCm build commands appear in both 'Installation' and again in each 'Hardware acceleration' subsection; the 'Choosing quantization' block restates the quantization table above it; and both benchmark tables largely duplicate tables already in references/optimization.md (M3 Max 50 tok/s, 7950X 35, i9-13900K 30, RTX 4090 120 tok/s appear in both). This is more than the 'minor instances that could be trimmed' of anchor 4 but the content is still mostly efficient, so anchor 3 is the best fit.

3 / 5

Actionability

Nearly everything is copy-paste-ready executable shell: brew install/git clone + make with per-backend flags, huggingface-cli download, llama-cli and llama-server invocations with real flags, and a working curl request to the OpenAI-compatible endpoint. Specific examples cover the common cases (simple chat, interactive chat, server mode) with concrete values (-ngl 32, -c 4096, --batch-size 512), matching the 'fully executable; specific examples cover the common cases' anchor. The 'Choosing quantization' block is comments-only, but it is guidance on format selection, not a command that was supposed to run.

5 / 5

Workflow Clarity

The Quick start is coherently sequenced (Installation -> Download model -> Run inference -> Server mode), but there are no validation or verification checkpoints anywhere — e.g., no step confirming the model file downloaded fully, that the server is up before the curl request, or that batch output is correct. The 'Batch processing' pattern (cat prompts.txt | ...) runs unvalidated over many prompts, and the rubric explicitly caps workflows involving batch operations without validation at 3, which takes precedence over the otherwise clear sequencing.

3 / 5

Progressive Disclosure

Good structure: a References section points to three real, one-level-deep files (references/quantization.md, references/server.md, references/optimization.md) with clear labels of what each contains, and each exists in the bundle. However, the split is imperfect: the SKILL.md body carries two full benchmark tables and hardware-tuning detail that duplicates references/optimization.md instead of deferring to it, and the ~250-line body is at the upper edge of an overview. This is the 'good structure; most content appropriately placed; minor organization gaps' anchor rather than the clean anchor-5 split.

4 / 5

Total

15

/

20

Passed

Description

87%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, third-person description with explicit what/when structure and well-chosen hardware-oriented trigger terms. Its only weakness is that it omits a few natural synonyms users would say (notably 'llama.cpp' and '.gguf') and a couple of the skill's actual capabilities.

DimensionReasoningScore

Specificity

Concrete, quantified actions: "Runs LLM inference on CPU, Apple Silicon, and consumer GPUs" and "Supports GGUF quantization (1.5-8 bit) for reduced memory and 4-10x speedup vs PyTorch on CPU". It lists several specific capabilities in third-person voice, but coverage has minor gaps (no mention of the OpenAI-compatible server mode or grammar-constrained generation that the skill actually supports), so it matches the 'several specific actions; minor gaps' anchor rather than the fully comprehensive anchor 5. It is clearly above anchor 3, which requires only 1-2 concrete actions.

4 / 5

Completeness

Explicitly answers both questions with concrete triggers: the 'what' is stated ("Runs LLM inference on CPU, Apple Silicon, and consumer GPUs... Supports GGUF quantization (1.5-8 bit)") and the 'when' is an explicit use clause ("Use for edge deployment, M1/M2/M3 Macs, AMD/Intel GPUs, or when CUDA is unavailable"). This matches the anchor-5 good example's structure of capabilities followed by explicit trigger guidance; anchor 4 would require a weaker or less specific 'when'.

5 / 5

Trigger Term Quality

Strong natural trigger phrases: "CPU", "Apple Silicon", "M1/M2/M3 Macs", "AMD/Intel GPUs", "CUDA is unavailable", "edge deployment". However, common variations a user would actually say are missing — notably "llama.cpp" itself, "GGUF file" / ".gguf", and "local/offline inference" — so it falls just short of the 'comprehensive coverage including synonyms and file extensions' anchor 5, while being clearly above the 'good keyword coverage' reading of anchor 4's floor.

4 / 5

Distinctiveness Conflict Risk

The niche is sharply bounded by hardware boundary language — "without NVIDIA hardware", "when CUDA is unavailable" — which distinguishes it from competing inference skills (TensorRT-LLM, vLLM) that trigger on NVIDIA/CUDA contexts. Triggers name specific hardware (M1/M2/M3, AMD/Intel GPUs, Raspberry Pi-adjacent 'edge deployment'), giving minimal overlap risk, which matches the 'clear niche with distinct triggers' anchor.

5 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

synthetic-sciences/openscience

Path

backend/cli/skills/ml-inference/llama-cpp/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.