CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-sanitizer

Instrument LLVM 22 IR for AddressSanitizer (ASan), UndefinedBehaviorSanitizer (UBSan), or ThreadSanitizer (TSan). Covers enabling sanitizers via TargetMachine/PassBuilder, adding manual shadow-memory checks, inserting UBSan runtime calls, and CMake setup.

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

78%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 highly actionable with executable code and useful verification/guardrail sections, and is reasonably concise. Its main gap is progressive disclosure: everything is inline with no reference files for the more detailed instrumentation approaches.

Suggestions

Move the manual IR instrumentation details (Parts 3–4) and/or CMake setup into a references/ file, keeping SKILL.md as an overview with one-level-deep links.

Add an explicit validate→fix→retry loop in the verification section, e.g. 'if verifyModule fails, fix the IR and re-run before proceeding'.

De-duplicate the trap-based check pattern between Part 3 and Part 4, or cross-reference one from the other.

DimensionReasoningScore

Conciseness

Mostly lean code-first content that assumes Claude's competence and avoids explaining what sanitizers are, but Parts 3 and 4 overlap on trap-based UBSan checks and the Step 0 table could be trimmed slightly.

4 / 5

Actionability

Provides fully executable, copy-paste-ready C++, CMake, and bash covering the common cases — PassBuilder setup, function attributes, null/overflow checks, ubsantrap, linking, and verification commands.

5 / 5

Workflow Clarity

A clear recommended path (Part 1) with a dedicated 'Verifying instrumentation' section and an always/never 'Common mistakes' checklist, but no explicit validate→fix→retry feedback loop.

4 / 5

Progressive Disclosure

Well-organized into clear sections, but all ~165 lines are inline with no bundle files or one-level-deep references; content like manual IR instrumentation or CMake details could be split into reference files.

3 / 5

Total

16

/

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 distinct, naming concrete capabilities and sanitizer synonyms, but lacks an explicit 'Use when...' trigger clause, which caps its completeness. Adding a trigger phrase would raise the completeness and trigger_term_quality scores.

Suggestions

Append a 'Use when...' clause, e.g. 'Use when adding memory-safety, undefined-behavior, or data-race detection to LLVM IR or a language runtime.'

Surface natural trigger phrases like 'memory safety checks', 'undefined behavior detection', and 'data races' in the description, not just the body.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'enabling sanitizers via TargetMachine/PassBuilder', 'adding manual shadow-memory checks', 'inserting UBSan runtime calls', 'CMake setup' — giving comprehensive coverage of the skill's capabilities.

5 / 5

Completeness

The 'what' is clearly and comprehensively stated, but there is no 'Use when...' clause or equivalent explicit trigger guidance in the description, capping completeness at 3 per the rubric guideline.

3 / 5

Trigger Term Quality

Includes both full names and abbreviations (AddressSanitizer/ASan, UBSan, TSan) that users would naturally say, but omits common natural phrasings like 'memory safety', 'data race detection', or 'undefined behavior' that appear only in the body.

4 / 5

Distinctiveness Conflict Risk

Targets a clear niche — LLVM 22 IR sanitizer instrumentation with named sanitizers (ASan/UBSan/TSan) — making it highly distinct with minimal conflict 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-sanitizer/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.