CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-exception-handling

Add exception handling (try/catch/finally) to an LLVM 22 IR frontend using invoke, landingpad, and the Itanium C++ ABI. Covers personality function, invoke vs call, catch dispatch, __cxa_begin/end_catch, resume, cleanup blocks, and Windows SEH notes.

Quality

83%

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.

A highly actionable, code-complete skill with a clear step sequence and explicit verification guidance; its only weaknesses are a slightly redundant consolidated section and validation placed as a tip rather than an inline checkpoint.

Suggestions

Promote verifyModule into the main workflow as an explicit checkpoint with a fix-and-revalidate loop rather than listing it only under 'Common mistakes'.

Trim the 'Full try/catch pattern' section or explicitly label it as a consolidation reference to reduce overlap with the per-step snippets.

Consider moving the Windows SEH model into a separate reference file and linking to it, since it is a distinct instruction set from the Itanium landingpad flow.

DimensionReasoningScore

Conciseness

Mostly lean code-first content that assumes LLVM competence and avoids concept re-explanation, but the 'Full try/catch pattern (consolidated)' section repeats the per-step snippets and 'LLVM 22' is stated inline rather than in a version/deprecated section, leaving minor trim opportunities.

4 / 5

Actionability

Provides fully executable, copy-paste-ready C++ using the real LLVM C++ API across personality, invoke, landingpad, dispatch, __cxa_begin/end_catch, resume, and cleanup, plus a consolidated end-to-end example covering the common case.

5 / 5

Workflow Clarity

A clear Step 0–7 sequence is present and a verification step exists ('Always call verifyModule(*M, &errs()) after wiring EH'), but it sits in the trailing 'Common mistakes' list rather than as an inline validate→fix→retry checkpoint in the workflow.

4 / 5

Progressive Disclosure

Single, well-organized file with clear section headers and no nested or broken references; no bundle files exist, so the all-inline layout is appropriate, though some material (consolidated pattern, Windows SEH) could optionally live in reference files.

4 / 5

Total

17

/

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.

A specific, well-scoped description that names concrete capabilities and a clear niche, but it omits any explicit 'when to use' trigger guidance, which caps its completeness.

Suggestions

Add a 'Use when...' clause, e.g. 'Use when adding try/catch/finally or unwind-table support to an LLVM IR-generating frontend.'

Include a couple of natural trigger synonyms such as 'unwinding', 'landing pads', or 'personality function' so users phrasing the need differently still match.

Keep the concrete capability list but pair it with the explicit trigger phrase to lift completeness from 3 to 5.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — 'invoke, landingpad, and the Itanium C++ ABI', 'personality function', 'catch dispatch', '__cxa_begin/end_catch', 'resume', 'cleanup blocks', 'Windows SEH notes' — giving comprehensive coverage of the EH pipeline.

5 / 5

Completeness

The 'what' is clear (add try/catch/finally EH to an LLVM IR frontend), but there is no 'Use when...' clause or equivalent explicit trigger guidance, capping completeness at 3 per the rubric guideline.

3 / 5

Trigger Term Quality

Includes natural terms a user would say ('exception handling', 'try/catch/finally', 'LLVM IR frontend'), but coverage stops there with few synonyms or alternate phrasings, so it is not fully comprehensive.

4 / 5

Distinctiveness Conflict Risk

The niche is extremely specific — LLVM 22 IR exception handling with the Itanium ABI and Windows SEH — making it highly distinct with minimal overlap risk against 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/add-exception-handling/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.