CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

frontend-to-ir

Lower a toy language AST to LLVM 22 IR using IRBuilder. Covers project setup, AST node types, expression lowering, control flow, functions, structs, and applying mem2reg.

Quality

88%

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

96%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 strong, executable code-generation skill with lean prose, a clear step sequence, explicit verification, and a useful mistakes checklist. The only gap is that all content lives in a single monolithic file with no bundle references to offload the large code blocks.

Suggestions

Move the longer code listings (e.g. emitExpr/emitStmt or the mem2reg pass setup) into a references/ file and link to it from SKILL.md to improve progressive disclosure.

Add a brief explicit 'if verification fails → fix → re-verify' loop note near the verifyFunction/verifyModule steps to make the feedback loop fully explicit.

Consider a short 'Prerequisites / project setup' pointer so the CMake/LLVM 22 linkage details referenced via the out-of-tree-setup skill are discoverable in one place.

DimensionReasoningScore

Conciseness

Lean and code-forward; assumes Claude's LLVM competence with terse prose, section headers, and a compact 'Common mistakes' checklist — every section earns its place.

5 / 5

Actionability

Fully executable, copy-paste-ready C++ covering types, functions, expressions, statements, control flow, mem2reg cleanup, and module emission via concrete IRBuilder calls.

5 / 5

Workflow Clarity

Steps 0–7 are clearly sequenced with explicit validation checkpoints (verifyFunction after each function, verifyModule at end) plus an error-recovery 'Common mistakes' checklist.

5 / 5

Progressive Disclosure

Good section structure and a clearly signaled cross-skill reference ('see out-of-tree-setup skill'), but no bundle files exist and ~380 lines of code are entirely inline in one file for a skill well over 50 lines.

4 / 5

Total

19

/

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.

The description is specific and occupies a distinct niche, but it omits an explicit 'Use when...' trigger clause, which caps its completeness. Adding a concrete trigger sentence would raise both completeness and trigger-term quality.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user wants to emit LLVM IR from a language AST, expression tree, or bytecode interpreter.'

Include common synonyms users might say, such as 'generate', 'emit', or 'compile to LLVM IR', to broaden natural trigger coverage.

Keep the existing concrete action list — it already gives strong specificity and distinctiveness.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "expression lowering, control flow, functions, structs, and applying mem2reg" plus "Lower a toy language AST to LLVM 22 IR using IRBuilder" — giving comprehensive coverage of the skill's scope.

5 / 5

Completeness

The 'what' is clear and detailed, but the description field has no explicit 'Use when...' trigger clause; per the rubric, a missing trigger clause caps completeness at 3.

3 / 5

Trigger Term Quality

Includes natural domain terms a user would say ("LLVM 22 IR", "IRBuilder", "AST", "mem2reg") but misses common synonyms such as "generate/emit/compile to LLVM IR".

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (lowering a language AST to LLVM IR) with distinct, specialized triggers and minimal overlap risk with other skills.

5 / 5

Total

17

/

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/frontend-to-ir/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.