Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
78
52%
Does it follow best practices?
Impact
95%
1.11xAverage score across 6 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/api-scaffolding/skills/fastapi-templates/SKILL.mdQuality
Discovery
75%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 is well-structured with a clear 'Use when' clause and targets a specific framework (FastAPI), giving it good completeness and distinctiveness. However, it could be stronger in specificity by listing more concrete actions (e.g., route creation, middleware setup, database integration) and in trigger terms by including natural variations users might say (e.g., 'REST API', 'Python web server', 'CRUD endpoints').
Suggestions
Add more concrete actions like 'create routes, configure middleware, set up database models, implement authentication' to improve specificity.
Expand trigger terms in the 'Use when' clause to include natural variations like 'REST API', 'Python API', 'web server', 'endpoints', or 'CRUD' to improve discoverability.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (FastAPI) and some technical patterns (async patterns, dependency injection, error handling), but doesn't list multiple concrete actions like 'create routes, configure middleware, set up database models'. The actions are more about qualities than specific tasks. | 2 / 3 |
Completeness | Clearly answers both 'what' (create production-ready FastAPI projects with async patterns, dependency injection, error handling) and 'when' (Use when building new FastAPI applications or setting up backend API projects) with an explicit 'Use when...' clause. | 3 / 3 |
Trigger Term Quality | Includes 'FastAPI', 'backend API projects', and 'async patterns' which are relevant, but misses common user terms like 'REST API', 'Python API', 'web server', 'endpoints', 'CRUD', or file extensions like '.py'. Coverage of natural variations is incomplete. | 2 / 3 |
Distinctiveness Conflict Risk | FastAPI is a specific framework, making this clearly distinguishable from generic Python skills, Django skills, or Flask skills. The triggers are focused enough to avoid conflicts with other backend or API-related skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
29%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides comprehensive, executable FastAPI code patterns that are highly actionable, but suffers from being a monolithic code dump with no workflow sequencing or progressive disclosure. It explains concepts Claude already knows (what DI is, what async patterns are) and lacks any step-by-step project setup workflow or validation checkpoints. The content would be far more effective as a concise overview with references to separate pattern files.
Suggestions
Add a clear step-by-step workflow (e.g., 'Step 1: Create project structure, Step 2: Set up database and verify connection, Step 3: Add first endpoint and test') with validation checkpoints at each stage.
Remove the 'Core Concepts' section entirely—Claude knows what dependency injection and async/await are. Replace with a brief 'Key decisions' section noting only project-specific choices.
Split the inline patterns into separate referenced files (e.g., patterns/crud.md, patterns/auth.md) and keep SKILL.md as a concise overview with links.
Remove the 'When to Use This Skill' section as it restates the skill description and adds no actionable value.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. The 'Core Concepts' section explains DI, async patterns, and project structure concepts Claude already knows. The 'When to Use This Skill' section is unnecessary padding. Much of the code could be condensed or split into referenced files. | 1 / 3 |
Actionability | The code examples are fully executable and copy-paste ready, covering the complete stack from main.py through repositories, services, endpoints, security, and testing. Concrete patterns with real imports and type annotations. | 3 / 3 |
Workflow Clarity | There is no sequenced workflow for setting up a project. The skill presents patterns but never says 'Step 1: create main.py, Step 2: set up database, Step 3: verify the server starts.' No validation checkpoints exist for verifying the project works at any stage. | 1 / 3 |
Progressive Disclosure | Monolithic wall of code with no references to external files. All patterns are inlined in a single massive document. The content would benefit enormously from a brief overview with links to separate pattern files (e.g., CRUD_PATTERN.md, AUTH_PATTERN.md). | 1 / 3 |
Total | 6 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (541 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
70444e5
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.