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.
71
56%
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.
This is a solid description that clearly identifies its niche (FastAPI project creation) and includes an explicit 'Use when' clause. Its main weaknesses are that the capabilities listed are somewhat abstract (patterns and qualities rather than concrete actions) and the trigger terms could be broader to capture more natural user phrasings like 'REST API' or 'Python web server'.
Suggestions
Add more concrete actions like 'scaffold routes, configure middleware, set up Pydantic models, define database schemas' to improve specificity.
Expand trigger terms to include natural variations users might say: 'REST API', 'Python API', 'web server', 'endpoints', '.py backend', 'ASGI'.
| 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, and error handling) and 'when' (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 keywords, but misses common variations users might say like 'REST API', 'Python API', 'web server', 'endpoints', 'ASGI', or 'Starlette'. | 2 / 3 |
Distinctiveness Conflict Risk | FastAPI is a specific framework, making this clearly distinguishable from general Python skills, Django skills, or Flask skills. The triggers are narrow enough to avoid conflicts with other backend or API-related skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
37%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 but suffers from significant verbosity and lack of workflow structure. It reads more like a reference manual than an actionable skill—Claude already knows FastAPI well, so the explanatory prose and concept definitions waste tokens. The code quality is high but the absence of a clear step-by-step project creation workflow means Claude has no sequenced guidance for actually building a project.
Suggestions
Remove the 'Core Concepts', 'When to Use This Skill', 'Best Practices', and 'Common Pitfalls' sections—Claude already knows these FastAPI fundamentals. Replace with a brief 2-3 line summary of the opinionated choices this template makes.
Add a clear numbered workflow: 1. Create project structure, 2. Set up config/database, 3. Create models/schemas, 4. Implement repository, 5. Add service layer, 6. Wire up endpoints, 7. Run tests to validate—with explicit validation at each step.
Move the detailed code patterns (repository, service, auth, testing) into separate referenced files and keep only a minimal quick-start example inline in SKILL.md.
Remove explanatory comments that restate what the code does (e.g., '# Startup', '# Hash password', '# Create user') and trim docstrings that add no information beyond the function name.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. Explains concepts Claude already knows well (what dependency injection is, what async patterns are, what a repository pattern is). The 'Core Concepts' section is entirely unnecessary narration before the actual code. The 'When to Use This Skill' section lists obvious use cases. The 'Common Pitfalls' and 'Best Practices' sections state things Claude already knows about FastAPI. | 1 / 3 |
Actionability | The code examples are fully executable, concrete, and copy-paste ready. Complete patterns are provided for the application entry point, database setup, repository layer, service layer, endpoints, authentication, and testing with proper imports and type hints. | 3 / 3 |
Workflow Clarity | There is no clear workflow or sequenced steps for actually creating a project. The patterns are presented as isolated code blocks without a clear sequence of 'do this first, then this, then validate.' No validation checkpoints exist for verifying the project works at each stage. For a project scaffolding skill, the absence of a step-by-step creation workflow is a significant gap. | 1 / 3 |
Progressive Disclosure | References to external files (references/fastapi-architecture.md, assets/project-template/) are listed in a Resources section, which is good. However, the main file is a monolithic wall of code that could benefit from splitting the patterns into separate referenced files, keeping only a quick-start overview inline. | 2 / 3 |
Total | 7 / 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 | |
6e3d68c
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.