CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

lower-struct-types

Lower source-language struct, union, and tuple types to LLVM 22 IR. Covers creating StructType, computing field offsets, emitting GEP for field access, packed vs. padded layouts, unions via largest-member types, passing structs by value vs. pointer, and the alloca+mem2reg pattern for struct locals.

Quality

77%

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/lower-struct-types/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 body is a well-structured, code-rich reference for lowering composite types to LLVM 22 IR with strong actionability and clear sequencing. Its main weakness is the messy, self-correcting Step 7 union example, which hurts both conciseness and actionability.

Suggestions

Clean up Step 7: remove the dead bitcast/pointer-cast false starts and the double store so the union example shows a single correct write-then-read sequence.

Resolve or delete the commented-out pass call in Step 8 ('// Pass: B.CreateCall(FT, Fn, {PointValue});') so the by-value example is complete and executable.

DimensionReasoningScore

Conciseness

Mostly efficient code-forward content, but Step 7 carries leftover false-start commentary ('Actually in LLVM 22 with opaque pointers, just use the alloca ptr directly') and a redundant double-store that should be trimmed.

3 / 5

Actionability

Concrete, mostly copy-paste-ready LLVM C++ across all steps with only minor gaps (a commented-out pass call in Step 8 and the messy Step 7 union block).

4 / 5

Workflow Clarity

Steps 0–10 are clearly sequenced by topic and the 'Common mistakes' section supplies guardrails; this is a reference skill rather than a destructive/batch workflow, so the validation cap does not apply.

4 / 5

Progressive Disclosure

No bundle files exist, but the body is a well-organized single-file reference with clear section headers and no content that clearly belongs in a separate file; minor organization gaps keep it just below 5.

4 / 5

Total

15

/

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 highly specific and distinctive, naming many concrete LLVM-lowering actions with minimal conflict risk. Its main weakness is the absence of an explicit 'when to use' trigger clause, which caps completeness at 3.

Suggestions

Add an explicit trigger clause such as 'Use when lowering source-language records, structs, tuples, classes, or tagged unions to LLVM IR' to satisfy the 'when' half of completeness.

Soften some jargon (e.g., 'GEP', 'alloca+mem2reg') or pair it with plainer synonyms so natural user phrasing maps to the skill more reliably.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'creating StructType, computing field offsets, emitting GEP for field access, packed vs. padded layouts, unions via largest-member types, passing structs by value vs. pointer, and the alloca+mem2reg pattern' — giving comprehensive coverage of the domain.

5 / 5

Completeness

The 'what' is clear and detailed, but there is no 'Use when...' clause or equivalent explicit trigger guidance in the description, which caps completeness at 3 per the rubric guidelines.

3 / 5

Trigger Term Quality

Good keyword coverage (struct, union, tuple, LLVM IR, GEP, field offsets) but the terms lean technical and miss common synonyms a user might naturally say; not quite comprehensive enough for a 5.

4 / 5

Distinctiveness Conflict Risk

A clear niche — lowering source-language composite types to LLVM 22 IR — with distinct, specific 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/lower-struct-types/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.