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.
75
62%
Does it follow best practices?
Impact
100%
1.21xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-wshobson/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 listing concrete actions (e.g., route generation, middleware setup, database integration) and including more natural trigger terms users might use when requesting FastAPI help.
Suggestions
Add more specific concrete actions like 'generate route handlers, configure middleware, set up Pydantic models, create database integrations' to improve specificity.
Include additional trigger terms users might naturally say, such as 'REST API', 'Python API', 'web server', 'endpoints', 'ASGI', or 'uvicorn'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (FastAPI) and some architectural patterns (async patterns, dependency injection, error handling), but doesn't list specific concrete actions like 'generate route handlers', 'configure middleware', or 'set up database models'. The actions are more about qualities than discrete tasks. | 2 / 3 |
Completeness | Clearly answers both what ('Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive 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', and 'API projects' which are relevant keywords. However, it misses common variations users might say like 'REST API', 'Python API', 'web server', 'endpoints', or 'ASGI'. | 2 / 3 |
Distinctiveness Conflict Risk | FastAPI is a specific framework, making this clearly distinguishable from general Python skills, Django skills, or Flask skills. The trigger terms are narrow enough to avoid conflicts with other backend or API-related skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
50%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 immediately usable, which is its primary strength. However, it is excessively verbose for a skill file — much of the content (project structure explanation, core concepts bullets, best practices, common pitfalls) restates knowledge Claude already has. The lack of a clear sequential workflow for project setup and the monolithic inline code that could be offloaded to referenced files weaken its effectiveness as a skill.
Suggestions
Remove the 'Core Concepts', 'Best Practices', and 'Common Pitfalls' sections entirely — Claude already knows these patterns. This alone would cut ~40 lines of zero-value content.
Add a clear numbered workflow at the top: 1) Generate config, 2) Set up database, 3) Create models, 4) Build repository layer, 5) Add services, 6) Wire up endpoints, 7) Run tests to verify — with explicit validation at each step.
Move the detailed code patterns (repository, service, auth, testing) into the referenced bundle files (e.g., references/fastapi-architecture.md) and keep only the main.py pattern and a minimal endpoint example in SKILL.md.
Trim the 'When to Use This Skill' section to a single line or remove it — the skill title and description already convey this.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. Explains concepts Claude already knows well (what dependency injection is, what async patterns are, what CRUD is). The 'When to Use This Skill' and 'Core Concepts' sections are largely unnecessary padding. The bullet lists under 'Core Concepts' just name things without adding value (e.g., 'Async route handlers, Async database operations'). The 'Common Pitfalls' and 'Best Practices' sections state obvious software engineering principles. | 1 / 3 |
Actionability | The code examples are concrete, executable, and copy-paste ready. Complete patterns are provided for the application entry point, repository layer, service layer, endpoints, authentication, and testing with proper imports and type hints. The code is production-quality and immediately usable. | 3 / 3 |
Workflow Clarity | The patterns are presented as independent code blocks without a clear sequenced workflow for setting up a project from scratch. There's no step-by-step process like 'first create config, then set up database, then create models, then repositories, then services, then endpoints.' No validation checkpoints are provided (e.g., verifying the database connection works before proceeding, running tests after each layer). | 2 / 3 |
Progressive Disclosure | References to external files are listed in the Resources section (references/fastapi-architecture.md, async-best-practices.md, etc.), which is good structure. However, no bundle files are actually provided, so these references are unverifiable. The main content is monolithic — the full repository pattern, service layer, and auth code could be split into referenced files, keeping SKILL.md as a concise overview with the main.py pattern only. | 2 / 3 |
Total | 8 / 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 (568 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
99da384
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.