CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pydantic-ai

Build production-ready AI agents with PydanticAI — type-safe tool use, structured outputs, dependency injection, and multi-model support.

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/pydantic-ai/SKILL.md

The canonical home for this skill is pydantic-ai in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

63%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 delivers strong, largely executable code with a clear step-by-step progression and useful pitfalls/best-practices sections. Its weaknesses are length (~340 lines inlined in one file with no external references) and a few placeholder dependencies in examples that break copy-paste readiness.

Suggestions

Split the Examples section and advanced steps (streaming, multi-turn, retry logic) into references/ files (e.g., references/examples.md) linked one level deep from a shorter overview.

Make Step 5 self-contained: import or stub 'Database'/'get_db()'/'FakeDb()' so the dependency-injection example is copy-paste runnable.

Add the missing imports in the FunctionModel example ('ModelResponse', 'TextPart' from pydantic_ai.messages).

DimensionReasoningScore

Conciseness

Code blocks are lean with minimal comments, but the ~340-line body inlines an Overview paragraph, 8 steps, and a 3-example Examples section — content like streaming, multi-turn, and the examples could be trimmed or offloaded. Mostly efficient but could be significantly tightened; it does not pad with concepts Claude already knows, ruling out 2.

3 / 5

Actionability

Nearly all code is copy-paste executable (install commands, minimal agent, structured output, a real HTTP tool call, TestModel testing). Minor gaps: Step 5 references undefined 'Database', 'get_db()', and 'FakeDb()', and the FunctionModel example uses 'ModelResponse'/'TextPart' without imports — mostly executable with minor gaps.

4 / 5

Workflow Clarity

Steps 1-8 form a clear logical sequence (install → minimal agent → structured output → tools → dependency injection → testing → streaming → multi-turn), and the pitfalls/result_validator sections cover error recovery. No destructive or batch operations, so the cap of 3 does not apply; minor validation gaps keep it below 5.

4 / 5

Progressive Disclosure

Headers organize the content well, but there are no bundle files at all — reference-shaped content (the Examples section, streaming/multi-turn details) is inlined in a single ~340-line SKILL.md rather than split into one-level-deep references. Between anchor 2 (content that belongs in separate files is inlined) and anchor 3 (structure present); solid section organization places it at 3.

3 / 5

Total

14

/

20

Passed

Description

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

The description clearly states what the skill does with several concrete, framework-specific capabilities, and the named framework makes it reasonably distinct. Its main weakness is the complete absence of 'Use when...' trigger guidance, which caps completeness and slightly weakens trigger quality.

Suggestions

Add a 'Use when...' clause naming explicit triggers, e.g., 'Use when building Python AI agents, or when the user mentions PydanticAI, @agent.tool, RunContext, or result_type'.

Include a few natural synonyms users would actually say ('Python LLM apps', 'typed LLM outputs') to broaden trigger-term coverage.

Drop the buzzword 'production-ready' in favor of one more concrete capability (e.g., 'unit-test agents without live LLM calls').

DimensionReasoningScore

Specificity

Names the domain ('Build production-ready AI agents with PydanticAI') and four concrete capabilities ('type-safe tool use, structured outputs, dependency injection, and multi-model support'). Several specific actions with minor gaps in coverage (e.g., streaming, testing) — above the 1-2-action anchor but not comprehensive.

4 / 5

Completeness

The 'what' is clear (build typed agents with the listed capabilities), but there is no 'Use when...' clause or equivalent explicit trigger guidance — the rubric caps completeness at 3 in that case. Not 4 because 'when' is entirely absent, not merely unspecific.

3 / 5

Trigger Term Quality

Includes natural user terms like 'AI agents', 'PydanticAI', 'tool use', 'structured outputs', and 'dependency injection', but misses common variations such as 'Python', 'LLM', or 'chatbot'. Good coverage with a few natural terms missing.

4 / 5

Distinctiveness Conflict Risk

'PydanticAI' names a specific framework, giving a clear niche, but 'production-ready AI agents' overlaps with other agent-framework skills (e.g., LangChain-based ones). Mostly distinct with minor overlap risk.

4 / 5

Total

15

/

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

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/pydantic-ai/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.