CtrlK
BlogDocsLog inGet started
Tessl Logo

version-sync

Migrate an out-of-tree LLVM project to a new LLVM version (e.g., LLVM 21 → 22). Covers CMake bump, common LLVM 22 API breakages, header moves, pass renames, and opaque pointer migration.

67

Quality

80%

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 ./tiles/tessl-llvm/skills/version-sync/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%Scale 1-3

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

This is a strong, actionable migration guide with excellent workflow structure and concrete code examples. Its main weakness is moderate verbosity — several table entries document unchanged APIs or stable features that don't need mentioning, and the document could benefit from splitting detailed reference tables into separate files. The checklist summary at the end is a valuable addition that reinforces the workflow.

Suggestions

Remove table entries for unchanged/stable APIs (e.g., 'TypeSize.h unchanged', 'DIBuilder::finalize() still works', 'MachineFunction::getProperties() API stable') — they consume tokens without aiding migration.

Consider moving the detailed API migration tables (Steps 3-7) into a separate LLVM22_API_CHANGES.md reference file, keeping only the most critical 3-4 changes inline in SKILL.md.

DimensionReasoningScore

Conciseness

Generally efficient with good use of tables, but includes some unnecessary entries that are 'unchanged' or 'still works' (e.g., TypeSize.h unchanged, DIBuilder::finalize() still works, MachineFunction::getProperties() API stable), which waste tokens without adding value. Some steps like Step 6 and Step 7 are thin on actionable content and could be trimmed.

2 / 3

Actionability

Provides concrete, executable code snippets (CMake commands, bash commands, C++ code), specific API migration tables with old→new mappings, and copy-paste ready commands throughout. The migration tables are particularly actionable with exact function/header names.

3 / 3

Workflow Clarity

Clear 12-step sequential workflow with explicit validation checkpoints: Step 2 captures all build errors, Step 9 runs tests, and the final checklist provides a comprehensive verification summary. The 'collect all build errors first, then fix by category' approach is a well-structured feedback loop for this type of migration task.

3 / 3

Progressive Disclosure

Content is well-structured with clear headings and a logical progression, but it's a long monolithic document (~180 lines) that could benefit from splitting detailed API tables into a separate reference file. The reference to 'add-npm-pass skill' is good progressive disclosure, but the inline tables for headers moved, type renames, and pass names could be externalized.

2 / 3

Total

10

/

12

Passed

Description

82%Scale 1-3

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

This is a strong, highly specific skill description targeting a clear niche (LLVM version migration). It excels at listing concrete actions and using domain-appropriate trigger terms that developers would naturally use. The main weakness is the absence of an explicit 'Use when...' clause, which would help Claude know precisely when to select this skill.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about upgrading, migrating, or porting an out-of-tree LLVM project to a newer LLVM version, or mentions LLVM API breakages or build failures after an LLVM upgrade.'

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: CMake bump, LLVM 22 API breakages, header moves, pass renames, and opaque pointer migration. These are clearly defined, actionable tasks.

3 / 3

Completeness

Clearly answers 'what does this do' (migrate out-of-tree LLVM projects, covering specific tasks), but lacks an explicit 'Use when...' clause. The 'when' is implied by the description but not stated explicitly, which caps this at 2 per the rubric guidelines.

2 / 3

Trigger Term Quality

Includes strong natural keywords a user would say: 'LLVM', 'migrate', 'LLVM 21', 'LLVM 22', 'out-of-tree', 'API breakages', 'opaque pointer', 'pass renames', 'CMake bump'. These cover the terms developers naturally use when upgrading LLVM versions.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive niche: LLVM version migration for out-of-tree projects is extremely specific and unlikely to conflict with other skills. The mention of specific LLVM versions (21→22) and domain-specific terms like 'opaque pointer migration' and 'pass renames' make it unmistakable.

3 / 3

Total

11

/

12

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.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
hbarve1/tessl-llvm
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.