CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-signature

This skill helps an LLM generate correct DSPy signature code using @ax-llm/ax. Use when the user asks about signatures, s(), f(), field types, string syntax, fluent builder API, validation constraints, or type-safe inputs/outputs.

64

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 ./website/static/typescript/.well-known/agent-skills/ax-signature/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A thorough, highly actionable API reference with executable code throughout, held back by mild internal duplication and a monolithic single-file structure with only external (non-local) references. It is well sectioned but lacks the validation checkpoints and local progressive disclosure that would lift it to top marks.

Suggestions

Consolidate the "Common Patterns" and "Signature Gallery" sections — the gallery already demonstrates chain-of-thought, classification, multimodal, and extraction patterns — and fold duplicated rules from "Critical Rules" into their primary sections to remove redundancy.

Split the large inline API reference (Field Types table, Fluent API Reference, Validation Constraints) into local bundle files under references/ and link to them from a concise overview, so SKILL.md becomes a one-level-deep hub rather than a monolithic document.

Add an explicit decision/validation checkpoint for choosing among the four creation methods (e.g. "prefer the string form when constraints fit the modifier bag; validate the parse by round-tripping with AxSignature.toString()"), giving the workflow a concrete feedback loop.

DimensionReasoningScore

Conciseness

The body is dense and API-specific with little padding of concepts Claude already knows, but the "Common Patterns" section duplicates constructs already shown in the "Signature Gallery" and "Critical Rules" repeats points from "Extended String Grammar", so it could be tightened; not quite the lean score-3 anchor.

2 / 3

Actionability

It provides extensive copy-paste-ready, executable TypeScript (e.g. the `f()` builder, zod Standard Schema shapes, `fn()` tools) plus a one-line-per-entry parseable signature gallery, matching the fully-executable score-3 anchor.

3 / 3

Workflow Clarity

The "Four Ways to Create Signatures" gives a clear ordered decision sequence with recommendations, but there are no explicit validation checkpoints or error-recovery feedback loops; this fits the score-2 "sequence present but checkpoints missing" anchor, and the operations here are not destructive so the cap-at-2 rule is not the driver.

2 / 3

Progressive Disclosure

It is well-organized into clear sections and the "Examples" section signals external references, but no local bundle files exist and the bulk API reference (Field Types, Gallery, Fluent API) is inline in a single ~420-line file that could be split, matching the score-2 "content that should be separate is inline" anchor rather than the one-level-deep local-reference score-3 anchor.

2 / 3

Total

9

/

12

Passed

Description

90%

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 strong description that pairs a concrete capability statement with a rich, natural trigger clause in third-person voice. Its only gap is specificity — it states one action rather than enumerating several distinct capabilities.

DimensionReasoningScore

Specificity

It names the domain ("DSPy signature code using @ax-llm/ax") and one concrete action ("generate correct ... signature code"), but does not enumerate multiple distinct actions like the score-3 anchor ("extract, fill, merge"); the rest is a topic list, not a list of actions.

2 / 3

Completeness

It explicitly answers both what ("generate correct DSPy signature code using @ax-llm/ax") and when ("Use when the user asks about signatures, s(), f()...") with an explicit trigger clause, matching the score-3 anchor.

3 / 3

Trigger Term Quality

The "Use when..." clause covers natural API-specific terms a user of this library would actually say — "signatures, s(), f(), field types, string syntax, fluent builder API, validation constraints, or type-safe inputs/outputs" — giving good breadth of variation.

3 / 3

Distinctiveness Conflict Risk

The @ax-llm/ax niche plus distinctive API triggers (s(), f(), fluent builder API) give it a clear, narrow scope unlikely to fire for unrelated skills, matching the score-3 "clear niche with distinct triggers" anchor; it uses third-person voice ("helps an LLM") so no specificity penalty applies.

3 / 3

Total

11

/

12

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
ax-llm/ax
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.