Build Python APIs with FastAPI, Pydantic v2, and SQLAlchemy 2.0 async. Covers project structure, JWT auth, validation, and database integration with uv package manager. Prevents 7 documented errors. Use when: creating Python APIs, implementing JWT auth, or troubleshooting 422 validation, CORS, async blocking, form data, background tasks, or OpenAPI schema errors.
Overall
score
81%
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Discovery
100%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 an excellent skill description that hits all the marks. It provides specific technologies and versions, concrete actions, and a comprehensive 'Use when' clause with natural trigger terms covering both creation and troubleshooting scenarios. The mention of '7 documented errors' and specific error types (422 validation, CORS, async blocking) makes it highly distinctive and actionable.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'Build Python APIs', 'JWT auth', 'validation', 'database integration', and explicitly mentions technologies (FastAPI, Pydantic v2, SQLAlchemy 2.0 async, uv package manager). Also specifies '7 documented errors' which adds concrete detail. | 3 / 3 |
Completeness | Clearly answers both what ('Build Python APIs with FastAPI...Covers project structure, JWT auth, validation, and database integration') AND when with explicit 'Use when:' clause listing specific trigger scenarios including both creation tasks and troubleshooting specific error types. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'Python APIs', 'FastAPI', 'JWT auth', '422 validation', 'CORS', 'async blocking', 'form data', 'background tasks', 'OpenAPI schema errors'. These are specific error types and concepts developers naturally mention when seeking help. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with clear niche: FastAPI-specific with particular version requirements (Pydantic v2, SQLAlchemy 2.0 async), specific package manager (uv), and enumerated error types. Unlikely to conflict with generic Python or other web framework skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a highly actionable FastAPI skill with excellent executable code examples and comprehensive coverage of common patterns including JWT auth, async SQLAlchemy, and known issues. However, it suffers from being overly long as a single document, lacking explicit validation checkpoints in workflows, and including some verbose explanations that could be trimmed. The Known Issues section is valuable but adds significant length.
Suggestions
Split into multiple files: move Known Issues to KNOWN_ISSUES.md, JWT Auth to AUTH.md, and Deployment to DEPLOYMENT.md with clear links from the main skill
Add explicit validation checkpoints to multi-step workflows, e.g., 'After project setup, verify with: uv run fastapi dev src/main.py && curl http://127.0.0.1:8000/docs'
Trim verbose explanations in Known Issues - the 'Why It Happens' sections could be condensed to single sentences since Claude can infer context
Remove obvious code comments like '# Your frontend' and '# Requires auth' that don't add value
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is comprehensive but includes some unnecessary verbosity, particularly in the Known Issues section where explanations could be tighter. Version numbers and dates are appropriately documented but add bulk. Some code examples include comments that explain obvious things. | 2 / 3 |
Actionability | Excellent actionability with fully executable code examples throughout. Every pattern includes copy-paste ready code, from project setup to JWT auth to testing. Commands are specific and complete. | 3 / 3 |
Workflow Clarity | While individual code patterns are clear, the skill lacks explicit validation checkpoints for multi-step processes like project setup or deployment. The database setup doesn't include verification steps, and the deployment section lacks health check validation. | 2 / 3 |
Progressive Disclosure | The skill is a monolithic document (~700 lines) that could benefit from splitting into separate files (e.g., AUTH.md, KNOWN_ISSUES.md, DEPLOYMENT.md). References section exists but content that should be separate is inline. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
75%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 12 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (960 lines); consider splitting into references/ and linking | Warning |
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 12 / 16 Passed | |
Table of Contents
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.