CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

68

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

79%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 high-quality, actionable skill that provides concrete, executable LLVM 22 C++ code for sanitizer instrumentation. Its main strengths are conciseness and actionability — it respects Claude's intelligence and provides copy-paste-ready code. The main weaknesses are the lack of explicit validation checkpoints integrated into the workflow sequence and the opportunity to split advanced topics into referenced files for better progressive disclosure.

Suggestions

Integrate verifyModule() calls as explicit mandatory checkpoints within the workflow steps (e.g., after Part 1 and Part 3) rather than only mentioning it in 'Common mistakes'.

Consider splitting Parts 3-4 (manual UBSan instrumentation) into a referenced MANUAL_CHECKS.md file, keeping SKILL.md focused on the recommended PassBuilder approach with a clear pointer to advanced manual instrumentation.

DimensionReasoningScore

Conciseness

The skill is lean and efficient. It assumes Claude knows what sanitizers are, what LLVM IR is, and jumps straight into actionable code. The approach-selection table is compact and useful. No unnecessary explanations of basic concepts.

3 / 3

Actionability

Every section provides fully executable C++ code with correct LLVM 22 API calls (e.g., getOrInsertDeclaration instead of the deprecated getDeclaration). Commands for linking, running, and verifying are concrete and copy-paste ready.

3 / 3

Workflow Clarity

The parts are logically sequenced (enable passes → mark functions → manual checks → CMake → verify), but there's no explicit validation checkpoint between steps. The 'Verifying instrumentation' section exists but isn't integrated into the workflow as a mandatory checkpoint. The 'Common mistakes' section mentions verifyModule but doesn't embed it as a required step in the workflow.

2 / 3

Progressive Disclosure

The content is well-structured with clear headers and a decision table upfront, but it's a fairly long single file (~130 lines of substantive content). The CMake section and manual UBSan checks could be split into referenced files. No external references are provided for deeper topics like shadow memory internals or runtime compatibility details.

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 well-defined niche in LLVM sanitizer instrumentation. It lists concrete actions and uses domain-appropriate terminology that users would naturally employ. The main weakness is the absence of an explicit 'Use when...' clause, which would help Claude know exactly when to select this skill.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about adding sanitizer passes to LLVM IR, instrumenting code for memory safety or thread safety, or setting up ASan/UBSan/TSan in an LLVM-based toolchain.'

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: instrumenting LLVM IR for ASan/UBSan/TSan, enabling sanitizers via TargetMachine/PassBuilder, adding manual shadow-memory checks, inserting UBSan runtime calls, and CMake setup.

3 / 3

Completeness

Clearly answers 'what does this do' with specific actions, but lacks an explicit 'Use when...' clause or equivalent trigger guidance. The when is only implied by the nature of the capabilities listed.

2 / 3

Trigger Term Quality

Includes strong natural keywords users would use: 'AddressSanitizer', 'ASan', 'UBSan', 'TSan', 'UndefinedBehaviorSanitizer', 'ThreadSanitizer', 'LLVM', 'shadow-memory', 'PassBuilder', 'CMake'. These are the exact terms a developer working in this domain would search for.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive niche targeting LLVM 22 IR sanitizer instrumentation specifically. The combination of LLVM IR, specific sanitizer types, and implementation details like shadow-memory checks makes it very unlikely to conflict with other skills.

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.