CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ai-skills

Portable Agent Skills (SKILL.md) for TanStack AI with @tanstack/ai-skills. Renders a skill catalog and a load_skill tool via the withSkills middleware so any tool-calling model loads skills on demand, on any provider. Covers the SkillSource interface, inlineSkill/skillDirectory/staticSkills, the aggregate/ dedupe/filter/cache combinators, read_skill_resource, and the conformance suite. Use for provider-agnostic runtime skills — NOT hosted provider skills (codeExecutionTool/shellTool), which run in a provider sandbox.

Quality

89%

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

82%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.

A lean, highly actionable reference skill: complete executable examples, a logical basic-to-advanced section flow, and validation via the conformance suite for the riskiest task. The repeat costs are minor — a thrice-stated disambiguation and topical rather than sequential organization — and there is no bundle layer, so all content is appropriately inline with clear external doc pointers.

Suggestions

State the portable-vs-hosted distinction once in the comparison table and trim the repeated disclaimers in the intro paragraph and the closing sentence of "Skills that carry code".

Consider moving the combinator and entry-point API detail into a references/ file (e.g. references/api.md) so SKILL.md stays a pure overview and the Docs pointers have in-bundle counterparts.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence (no "what is a skill" padding, tight tables, minimal prose per section), but the portable-vs-hosted distinction is repeated three times — in the intro ("This is separate from hosted Provider Skills"), again in the table, and again at the end of "Skills that carry code" ("For hosted skills that run in the provider's own sandbox, use codeExecutionTool / shellTool instead"). That matches the 4 anchor (efficient, minor instances that could be trimmed) rather than 5, where every token would earn its place.

4 / 5

Actionability

Copy-paste-ready, complete examples cover the common cases: a full chat() setup with withSkills middleware, a toolDefinition execution tool (whose placeholder import is explicitly justified as the user's own runner), and runSkillSourceConformance for custom sources, plus an entry-points list enumerating exports per subpath. This is the 5 anchor — executable guidance with the common cases covered — not 4, since no key details are missing.

5 / 5

Workflow Clarity

Sections progress logically from basic to advanced (add to chat → sources → resources → code-carrying skills → custom source → entry points), and the one risky task, writing a custom source, has an explicit validation step ("validate it with the shipped conformance suite"). It sits at 4 rather than 5 because tasks are presented topically rather than as sequenced procedures with checkpoints — no step sequences or error-recovery loops are spelled out — and above 3 because the organization is coherent and validation appears where it matters.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), so everything lives in a ~130-line, well-sectioned SKILL.md; the "Docs" section lists clearly labeled one-level-deep pointers (agent-skills.md, skill-sources.md, writing-adapters.md, provider-skills.md), though these resolve to the library's repo docs rather than bundle files. Good structure with content appropriately inline for its size matches the 4 anchor; it is not 5 under the under-50-lines exception given its length and the non-resolvable doc pointers.

4 / 5

Total

17

/

20

Passed

Description

92%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: it states concrete capabilities by name, gives an explicit "Use for..." trigger with a NOT-clause boundary against the most confusable sibling feature, and stays in third person with no fluff. The only soft spot is trigger-term breadth, which leans on API jargon in the tail rather than user-natural synonyms.

DimensionReasoningScore

Specificity

"Renders a skill catalog and a load_skill tool via the withSkills middleware" and "Covers the SkillSource interface, inlineSkill/skillDirectory/staticSkills, the aggregate/dedupe/filter/cache combinators, read_skill_resource, and the conformance suite" enumerate the package's concrete capabilities comprehensively. It matches the 5 anchor (multiple specific concrete actions, comprehensive coverage) rather than 4, since the named surface leaves no notable gaps.

5 / 5

Completeness

The "what" is explicit ("Renders a skill catalog and a load_skill tool via the withSkills middleware so any tool-calling model loads skills on demand") and the "when" is an explicit trigger clause ("Use for provider-agnostic runtime skills — NOT hosted provider skills (codeExecutionTool/shellTool)"), matching the 5 anchor with a concrete negative boundary. Not 4, because the 'when' is explicit rather than merely present-but-imprecise.

5 / 5

Trigger Term Quality

Natural terms users would say are present — "skills", "SKILL.md", "agent skills", "load_skill", "withSkills", "runtime skills", "provider-agnostic" — but coverage stops short of the synonym/variation breadth of the 5 anchor (e.g. no phrases like "load skills at runtime" or "skill library"), and jargon like "conformance suite" and "combinators" dominates the tail. Comfortably above the 3 anchor because the common user phrasings are all there.

4 / 5

Distinctiveness Conflict Risk

It names its framework and package ("for TanStack AI with @tanstack/ai-skills") and explicitly disambiguates from the nearest competing feature ("NOT hosted provider skills (codeExecutionTool/shellTool), which run in a provider sandbox"), giving it a clear niche with minimal conflict risk — the 5 anchor.

5 / 5

Total

19

/

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

TanStack/ai

Path

packages/ai-skills/skills/ai-skills/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.