CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

out-of-tree-setup

Scaffold an out-of-tree LLVM 22 compiler/language project from scratch. Covers CMake configuration, finding LLVM, linking components, a minimal LLVMContext driver, and build instructions.

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

82%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.

The content is highly actionable with complete, executable code and a clear step sequence, supported by useful validation checkpoints and pitfall guidance. It is concise and well-structured, with only minor room to tighten inline comments and split optional advanced material into separate reference files.

Suggestions

Make the error-recovery loop explicit after the build step (e.g. 'If the build fails, re-check CMAKE_PREFIX_PATH points at LLVM 22 and that llvm-config-22 --cmakedir matches before retrying').

Move the optional Step 5 (optimization pipeline) and Step 6 (pass plugin) into separate reference files referenced from the body to improve progressive disclosure.

Trim a few self-evident inline code comments (e.g. 'Initialize targets (required before any codegen or JIT).') to push conciseness toward 5.

DimensionReasoningScore

Conciseness

The body is lean and mostly executable code with no padding about what LLVM is, though a few inline API comments (e.g. 'InitLLVM handles signal handlers, pretty-stack-trace, and ManagedStatic.') could be trimmed, placing it at 4 rather than 5.

4 / 5

Actionability

Complete, copy-paste-ready CMakeLists.txt, main.cpp, and build commands are provided with clearly marked placeholders, and the common cases (IR build, verify, print, optional O2 pipeline) are covered, matching the score-5 anchor.

5 / 5

Workflow Clarity

A clear numbered sequence (Steps 0–6) with explicit checkpoints (verifyModule in code, 'Expected output: LLVM IR for the add function'), but the error-recovery feedback loop is only light ('Common mistakes to avoid') rather than an explicit validate→fix→retry cycle, so it is 4 not 5.

4 / 5

Progressive Disclosure

Sections are well organized and the single external reference (the 'add-npm-pass' skill) is clearly signaled at one level, but the optional advanced Steps 5–6 are inlined rather than split into reference files, leaving minor organization gaps at 4.

4 / 5

Total

17

/

20

Passed

Description

70%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.

The description is specific and occupies a clear, low-conflict niche, but it omits any explicit 'Use when...' trigger guidance, which caps its completeness at 3. Adding a concrete trigger clause would meaningfully raise the score.

Suggestions

Add an explicit 'Use when...' clause naming natural trigger phrases, e.g. 'Use when the user wants to start a new LLVM-based compiler, language runtime, or tool that builds against an installed LLVM 22.'

Include a few more natural synonyms users might say ('LLVM pass', 'LLVM tool', 'scaffold an LLVM project') to broaden trigger-term coverage.

Tighten action verbs toward concrete operations (e.g. 'generate a CMakeLists.txt that finds LLVM 22') to push specificity from 4 to 5.

DimensionReasoningScore

Specificity

Lists several concrete actions ('CMake configuration, finding LLVM, linking components, a minimal LLVMContext driver, and build instructions') but they read slightly more abstract than the score-5 anchor's granular verbs, so it sits at 4 rather than 5.

4 / 5

Completeness

The 'what' is clear and detailed, but there is no 'Use when...' clause or equivalent explicit trigger guidance, so per the rubric guideline completeness is capped at 3 with 'when' only weakly implied.

3 / 5

Trigger Term Quality

Natural domain terms a user would say are present ('out-of-tree LLVM 22', 'compiler', 'language project', 'CMake'), with good coverage but a few common synonyms (e.g. 'LLVM pass', 'LLVM tool') missing, fitting the score-4 anchor.

4 / 5

Distinctiveness Conflict Risk

The niche ('out-of-tree LLVM 22 compiler/language project') is precise and unlikely to collide with other skills, matching the score-5 anchor of a clear niche with minimal conflict risk.

5 / 5

Total

16

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

hbarve1/tessl-llvm

Path

tiles/tessl-llvm/skills/out-of-tree-setup/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.