CtrlK
BlogDocsLog inGet started
Tessl Logo

add-calling-convention

Add or wire a calling convention in an LLVM 22 in-tree target or document IR-level ABI choices for out-of-tree frontends. Covers CallingConv IDs, TableGen CallingConv.td, CCState/CCValAssign hooks, ISel lowering, and tests.

64

Quality

76%

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/add-calling-convention/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%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 well-structured skill with excellent workflow clarity and progressive disclosure. The step-by-step process with classification, early exit points, and a review checklist is strong. The main weakness is limited actionability—while file paths and function names are specific, the skill lacks concrete executable examples for the core TableGen and C++ lowering steps, which are the hardest parts of the task.

Suggestions

Add a minimal but concrete TableGen snippet in Step 3 showing a skeleton calling convention definition (e.g., a CCIfCC + CCAssignToReg pattern) rather than just describing what to do.

Add a brief executable C++ pattern in Step 4 showing the CCState/CCValAssign dispatch inside LowerFormalArguments for the new CC, even if simplified.

DimensionReasoningScore

Conciseness

Generally efficient but includes some unnecessary framing (e.g., 'Use this skill when...' preamble, scope boundary explanation) and a few phrases that could be tightened. The classification table in Step 0 is useful but slightly verbose. Overall respects Claude's intelligence but has room for trimming.

2 / 3

Actionability

Provides a clear multi-step process with specific file paths and function names, but most steps lack executable code examples. Only Step 1 has a small code snippet; Steps 2-4 describe what to do without showing concrete TableGen definitions or C++ patterns. The guidance is specific enough to orient someone but not copy-paste ready for the core tasks.

2 / 3

Workflow Clarity

Excellent sequential workflow from classification (Step 0) through testing (Step 6) with a review checklist (Step 7). Includes an explicit early exit point ('If this satisfies the ABI, stop'), validation via llvm-lit, regeneration warnings for TableGen, and a clear checklist. The 'Common mistakes' section serves as additional validation guidance.

3 / 3

Progressive Disclosure

Well-structured with clear sections, a classification table for routing, and one-level-deep references to related docs (calling-conventions.md, codegen.md, tablegen.md, add-intrinsic skill). Content is appropriately split between overview here and detailed references elsewhere.

3 / 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 highly specific and technically detailed description targeting a very narrow domain (LLVM calling convention implementation). Its main strength is the precise enumeration of concrete components and actions, making it easily distinguishable. Its primary 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, modifying, or debugging calling conventions in LLVM, or when they mention CallingConv, CCState, ABI lowering, or TableGen calling convention definitions.'

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: adding/wiring calling conventions, documenting IR-level ABI choices, and explicitly names technical components (CallingConv IDs, TableGen CallingConv.td, CCState/CCValAssign hooks, ISel lowering, tests).

3 / 3

Completeness

Clearly answers 'what does this do' (add/wire calling conventions, document ABI choices, covers specific components), but lacks an explicit 'Use when...' clause or equivalent trigger guidance for when Claude should select this skill.

2 / 3

Trigger Term Quality

Includes highly specific natural keywords a developer would use: 'calling convention', 'LLVM 22', 'CallingConv', 'TableGen', 'CCState', 'CCValAssign', 'ISel lowering', 'ABI', 'in-tree target', 'out-of-tree frontends'. These are the exact terms someone working in this domain would search for.

3 / 3

Distinctiveness Conflict Risk

Extremely niche and specific to LLVM 22 calling convention implementation. The combination of LLVM version, calling conventions, TableGen, CCState/CCValAssign, and ISel lowering makes it virtually impossible 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.