CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-cpp-signature

Use when writing C++ code with `axllm` for string signatures, field descriptors, JSON schema output, validation, and typed tool argument shapes.

63

Quality

79%

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 ./packages/cpp/skills/ax-cpp-signature/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 a well-organized, code-first pattern catalog with a sensible simple-to-complex progression and explicit validation guidance. Its weaknesses are the Typesafe/Jev section — long, convoluted prose with no code example — and progressive disclosure: referenced bundle files (API.md, examples/, manifests) do not exist in the skill directory, so the disclosed detail has nowhere to live and the spec content is inlined instead.

Suggestions

Ship the referenced bundle files (API.md, axir-api.json, axir-capabilities.json, examples/) or remove/correct the references so progressive disclosure has real targets; alternatively split the dense Typesafe/Jev spec into a reference file and keep a short summary in SKILL.md.

Add at least one concrete C++ example for the Typesafe/Jev surface (e.g., a boolean/class output signature with trueThreshold and a probability-sum check) so that third of the body is actionable rather than pure prose.

Fix mechanical defects that waste tokens: the duplicated "Tools: `axllm::Tool`, `axllm::Tool`" bullet and the unexplained "noul >= threshold" typo, and complete the code fragments by defining the variables they use (signature, client, inputs) or showing one full runnable program.

DimensionReasoningScore

Conciseness

The bulk of the body is lean and pattern-driven — short bullets ("Package Facts"), minimal framing, and code-first sections ("Core Pattern", "More Patterns"). It is not a 5 because the Typesafe/Jev section packs dense, hard-to-parse prose ("The service context limit covers state, questions, and criteria; Ax never truncates or pretends to count native tokens exactly."), and the "Relevant API Surface" section wastes tokens on a literally duplicated bullet ("- Tools: `axllm::Tool`, `axllm::Tool`").

4 / 5

Actionability

Most patterns give concrete, real-API code ("axllm::s(\"question:string -> answer:string\")", "axllm::to_json_schema(axllm::Core::get(sig, \"outputs\"))", "axllm::Core::record_new(...)"), which is close to copy-paste ready. It misses a 5 because several fragments depend on undefined variables (`signature`, `client`, `inputs`) with no complete program shown, and the entire Typesafe/Jev section — roughly a third of the body — gives API names in prose with zero code examples.

4 / 5

Workflow Clarity

There is a clear progression from simple string contract to class output, native constraints, validate ("axllm::Core::validate_signature(signature)"), render as JSON schema, and reuse in AxGen ("Pass the native signature record directly into AxGen"), with guardrails directing the agent to real examples first. It is not a 5 because the sequence is implicit (a pattern catalog rather than an ordered procedure) and the Typesafe section is unsequenced prose with no checkpoints.

4 / 5

Progressive Disclosure

The body cites "API.md and axir-api.json", "axir-capabilities.json", "examples/", and "src/examples/cpp/generation/", but no such bundle files or directories exist in this skill — the references dangle. Combined with the dense 17-line Typesafe spec inlined in SKILL.md that clearly belongs in a separate reference file, this fits the anchor of some structure but content that should be separate is inline and references that do not resolve clearly.

3 / 5

Total

15

/

20

Passed

Description

78%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 strong description with an explicit "Use when" trigger, concrete capability keywords, and a tightly scoped niche. Its main limitation is coverage: the Typesafe/Jev scoring and native-client surface documented at length in the body is entirely absent from the description, so a user asking about scoring rubrics or model listing might not trigger this skill.

DimensionReasoningScore

Specificity

The description lists several concrete capability areas — "string signatures, field descriptors, JSON schema output, validation, and typed tool argument shapes" — within a clearly named domain ("writing C++ code with `axllm`"). It stops short of a 5 because the coverage has gaps: the sizable Typesafe/Jev scoring and native-client functionality documented in the body is not mentioned at all.

4 / 5

Completeness

The "when" is explicit and specific ("Use when writing C++ code with `axllm` for..."), and the "what" is conveyed through the concrete "for" list. It falls short of a 5 because the "what" is only implied by that list rather than stated as a declarative capability sentence (compare the anchor-5 example, which pairs "Extract text and tables..." with an explicit "Use when..." clause).

4 / 5

Trigger Term Quality

It includes natural terms a user of this package would actually say — "C++", "axllm", "signatures", "JSON schema", "validation", "tool argument shapes" — giving good keyword coverage. It is not a 5 because no synonyms or variations are offered (e.g., "output schema", "schema generation", "typed outputs"), and the criteria-match anchor-5 example is a synonym list, which this lacks.

4 / 5

Distinctiveness Conflict Risk

The niche is unambiguous: a specific generated package (`axllm`) in a specific language (C++) with distinctive triggers ("string signatures", "field descriptors", "typed tool argument shapes"). Other skills would not fire on these terms, so conflict risk is minimal, matching the clear-niche anchor.

5 / 5

Total

17

/

20

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.

Validation — 15 / 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.