{"id":"e2c0c4f7-df0a-41a3-ae86-cc10df9cc288","shortId":"sMzwzu","kind":"skill","title":"fastapi-pro","tagline":"Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2. Master microservices, WebSockets, and modern Python async patterns.","description":"## Use this skill when\n\n- Working on fastapi pro tasks or workflows\n- Needing guidance, best practices, or checklists for fastapi pro\n\n## Do not use this skill when\n\n- The task is unrelated to fastapi pro\n- You need a different domain or tool outside this scope\n\n## Instructions\n\n- Clarify goals, constraints, and required inputs.\n- Apply relevant best practices and validate outcomes.\n- Provide actionable steps and verification.\n- If detailed examples are required, open `resources/implementation-playbook.md`.\n\nYou are a FastAPI expert specializing in high-performance, async-first API development with modern Python patterns.\n\n## Purpose\n\nExpert FastAPI developer specializing in high-performance, async-first API development. Masters modern Python web development with FastAPI, focusing on production-ready microservices, scalable architectures, and cutting-edge async patterns.\n\n## Capabilities\n\n### Core FastAPI Expertise\n\n- FastAPI 0.100+ features including Annotated types and modern dependency injection\n- Async/await patterns for high-concurrency applications\n- Pydantic V2 for data validation and serialization\n- Automatic OpenAPI/Swagger documentation generation\n- WebSocket support for real-time communication\n- Background tasks with BackgroundTasks and task queues\n- File uploads and streaming responses\n- Custom middleware and request/response interceptors\n\n### Data Management & ORM\n\n- SQLAlchemy 2.0+ with async support (asyncpg, aiomysql)\n- Alembic for database migrations\n- Repository pattern and unit of work implementations\n- Database connection pooling and session management\n- MongoDB integration with Motor and Beanie\n- Redis for caching and session storage\n- Query optimization and N+1 query prevention\n- Transaction management and rollback strategies\n\n### API Design & Architecture\n\n- RESTful API design principles\n- GraphQL integration with Strawberry or Graphene\n- Microservices architecture patterns\n- API versioning strategies\n- Rate limiting and throttling\n- Circuit breaker pattern implementation\n- Event-driven architecture with message queues\n- CQRS and Event Sourcing patterns\n\n### Authentication & Security\n\n- OAuth2 with JWT tokens (python-jose, pyjwt)\n- Social authentication (Google, GitHub, etc.)\n- API key authentication\n- Role-based access control (RBAC)\n- Permission-based authorization\n- CORS configuration and security headers\n- Input sanitization and SQL injection prevention\n- Rate limiting per user/IP\n\n### Testing & Quality Assurance\n\n- pytest with pytest-asyncio for async tests\n- TestClient for integration testing\n- Factory pattern with factory_boy or Faker\n- Mock external services with pytest-mock\n- Coverage analysis with pytest-cov\n- Performance testing with Locust\n- Contract testing for microservices\n- Snapshot testing for API responses\n\n### Performance Optimization\n\n- Async programming best practices\n- Connection pooling (database, HTTP clients)\n- Response caching with Redis or Memcached\n- Query optimization and eager loading\n- Pagination and cursor-based pagination\n- Response compression (gzip, brotli)\n- CDN integration for static assets\n- Load balancing strategies\n\n### Observability & Monitoring\n\n- Structured logging with loguru or structlog\n- OpenTelemetry integration for tracing\n- Prometheus metrics export\n- Health check endpoints\n- APM integration (DataDog, New Relic, Sentry)\n- Request ID tracking and correlation\n- Performance profiling with py-spy\n- Error tracking and alerting\n\n### Deployment & DevOps\n\n- Docker containerization with multi-stage builds\n- Kubernetes deployment with Helm charts\n- CI/CD pipelines (GitHub Actions, GitLab CI)\n- Environment configuration with Pydantic Settings\n- Uvicorn/Gunicorn configuration for production\n- ASGI servers optimization (Hypercorn, Daphne)\n- Blue-green and canary deployments\n- Auto-scaling based on metrics\n\n### Integration Patterns\n\n- Message queues (RabbitMQ, Kafka, Redis Pub/Sub)\n- Task queues with Celery or Dramatiq\n- gRPC service integration\n- External API integration with httpx\n- Webhook implementation and processing\n- Server-Sent Events (SSE)\n- GraphQL subscriptions\n- File storage (S3, MinIO, local)\n\n### Advanced Features\n\n- Dependency injection with advanced patterns\n- Custom response classes\n- Request validation with complex schemas\n- Content negotiation\n- API documentation customization\n- Lifespan events for startup/shutdown\n- Custom exception handlers\n- Request context and state management\n\n## Behavioral Traits\n\n- Writes async-first code by default\n- Emphasizes type safety with Pydantic and type hints\n- Follows API design best practices\n- Implements comprehensive error handling\n- Uses dependency injection for clean architecture\n- Writes testable and maintainable code\n- Documents APIs thoroughly with OpenAPI\n- Considers performance implications\n- Implements proper logging and monitoring\n- Follows 12-factor app principles\n\n## Knowledge Base\n\n- FastAPI official documentation\n- Pydantic V2 migration guide\n- SQLAlchemy 2.0 async patterns\n- Python async/await best practices\n- Microservices design patterns\n- REST API design guidelines\n- OAuth2 and JWT standards\n- OpenAPI 3.1 specification\n- Container orchestration with Kubernetes\n- Modern Python packaging and tooling\n\n## Response Approach\n\n1. **Analyze requirements** for async opportunities\n2. **Design API contracts** with Pydantic models first\n3. **Implement endpoints** with proper error handling\n4. **Add comprehensive validation** using Pydantic\n5. **Write async tests** covering edge cases\n6. **Optimize for performance** with caching and pooling\n7. **Document with OpenAPI** annotations\n8. **Consider deployment** and scaling strategies\n\n## Example Interactions\n\n- \"Create a FastAPI microservice with async SQLAlchemy and Redis caching\"\n- \"Implement JWT authentication with refresh tokens in FastAPI\"\n- \"Design a scalable WebSocket chat system with FastAPI\"\n- \"Optimize this FastAPI endpoint that's causing performance issues\"\n- \"Set up a complete FastAPI project with Docker and Kubernetes\"\n- \"Implement rate limiting and circuit breaker for external API calls\"\n- \"Create a GraphQL endpoint alongside REST in FastAPI\"\n- \"Build a file upload system with progress tracking\"\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["fastapi","pro","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-fastapi-pro","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/fastapi-pro","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34793 github stars · SKILL.md body (6,508 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T00:50:55.516Z","embedding":null,"createdAt":"2026-04-18T21:37:03.512Z","updatedAt":"2026-04-24T00:50:55.516Z","lastSeenAt":"2026-04-24T00:50:55.516Z","tsv":"'+1':247 '0.100':153 '1':677 '12':631 '2':683 '2.0':13,208,645 '3':691 '3.1':664 '4':698 '5':704 '6':711 '7':719 '8':724 'access':315 'action':83,481 'add':699 'advanc':548,553 'aiomysql':213 'alemb':214 'alert':463 'alongsid':791 'analysi':367 'analyz':678 'annot':156,723 'api':9,107,125,255,259,271,309,383,528,565,598,618,656,685,785 'apm':443 'app':633 'appli':75 'applic':168 'approach':676 'architectur':141,257,269,285,611 'asgi':493 'ask':836 'asset':421 'assur':339 'async':8,23,105,123,146,210,346,387,584,646,681,706,737 'async-first':104,122,583 'async/await':162,649 'asyncio':344 'asyncpg':212 'authent':294,305,311,744 'author':321 'auto':505 'auto-sc':504 'automat':176 'background':187 'backgroundtask':190 'balanc':423 'base':314,320,411,507,636 'beani':236 'behavior':580 'best':38,77,389,600,650 'blue':499 'blue-green':498 'boundari':844 'boy':356 'breaker':279,782 'brot':416 'build':4,472,795 'cach':239,397,716,741 'call':786 'canari':502 'capabl':148 'case':710 'caus':764 'cdn':417 'celeri':521 'chart':477 'chat':754 'check':441 'checklist':41 'ci':483 'ci/cd':478 'circuit':278,781 'clarif':838 'clarifi':69 'class':557 'clean':610 'clear':811 'client':395 'code':586,616 'communic':186 'complet':770 'complex':561 'comprehens':603,700 'compress':414 'concurr':167 'configur':323,485,490 'connect':226,391 'consid':622,725 'constraint':71 'contain':666 'container':467 'content':563 'context':576 'contract':376,686 'control':316 'cor':322 'core':149 'correl':453 'cov':371 'cover':708 'coverag':366 'cqrs':289 'creat':732,787 'criteria':847 'cursor':410 'cursor-bas':409 'custom':199,555,567,572 'cut':144 'cutting-edg':143 'daphn':497 'data':172,204 'databas':216,225,393 'datadog':445 'default':588 'depend':160,550,607 'deploy':464,474,503,726 'describ':815 'design':256,260,599,653,657,684,750 'detail':88 'develop':108,116,126,131 'devop':465 'differ':61 'docker':466,774 'document':178,566,617,639,720 'domain':62 'dramatiq':523 'driven':284 'eager':405 'edg':145,709 'emphas':589 'endpoint':442,693,761,790 'environ':484,827 'environment-specif':826 'error':460,604,696 'etc':308 'event':283,291,539,569 'event-driven':282 'exampl':89,730 'except':573 'expert':98,114,832 'expertis':151 'export':439 'extern':360,527,784 'factor':632 'factori':352,355 'faker':358 'fastapi':2,11,31,43,56,97,115,133,150,152,637,734,749,757,760,771,794 'fastapi-pro':1 'featur':154,549 'file':194,543,797 'first':106,124,585,690 'focus':134 'follow':597,630 'generat':179 'github':307,480 'gitlab':482 'goal':70 'googl':306 'graphen':267 'graphql':262,541,789 'green':500 'grpc':524 'guid':643 'guidanc':37 'guidelin':658 'gzip':415 'handl':605,697 'handler':574 'header':326 'health':440 'helm':476 'high':6,102,120,166 'high-concurr':165 'high-perform':5,101,119 'hint':596 'http':394 'httpx':531 'hypercorn':496 'id':450 'implement':224,281,533,602,625,692,742,777 'implic':624 'includ':155 'inject':161,331,551,608 'input':74,327,841 'instruct':68 'integr':232,263,350,418,434,444,510,526,529 'interact':731 'interceptor':203 'issu':766 'jose':302 'jwt':298,661,743 'kafka':515 'key':310 'knowledg':635 'kubernet':473,669,776 'lifespan':568 'limit':275,334,779,803 'load':406,422 'local':547 'locust':375 'log':428,627 'loguru':430 'maintain':615 'manag':205,230,251,579 'master':17,127 'match':812 'memcach':401 'messag':287,512 'metric':438,509 'microservic':18,139,268,379,652,735 'middlewar':200 'migrat':217,642 'minio':546 'miss':849 'mock':359,365 'model':689 'modern':21,110,128,159,670 'mongodb':231 'monitor':426,629 'motor':234 'multi':470 'multi-stag':469 'n':246 'need':36,59 'negoti':564 'new':446 'oauth2':296,659 'observ':425 'offici':638 'open':92 'openapi':621,663,722 'openapi/swagger':177 'opentelemetri':433 'opportun':682 'optim':244,386,403,495,712,758 'orchestr':667 'orm':206 'outcom':81 'output':821 'outsid':65 'packag':672 'pagin':407,412 'pattern':24,112,147,163,219,270,280,293,353,511,554,647,654 'per':335 'perform':7,103,121,372,385,454,623,714,765 'permiss':319,842 'permission-bas':318 'pipelin':479 'pool':227,392,718 'practic':39,78,390,601,651 'prevent':249,332 'principl':261,634 'pro':3,32,44,57 'process':535 'product':137,492 'production-readi':136 'profil':455 'program':388 'progress':801 'project':772 'prometheus':437 'proper':626,695 'provid':82 'pub/sub':517 'purpos':113 'py':458 'py-spi':457 'pydant':15,169,487,593,640,688,703 'pyjwt':303 'pytest':340,343,364,370 'pytest-asyncio':342 'pytest-cov':369 'pytest-mock':363 'python':22,111,129,301,648,671 'python-jos':300 'qualiti':338 'queri':243,248,402 'queue':193,288,513,519 'rabbitmq':514 'rate':274,333,778 'rbac':317 'readi':138 'real':184 'real-tim':183 'redi':237,399,516,740 'refresh':746 'relev':76 'relic':447 'repositori':218 'request':449,558,575 'request/response':202 'requir':73,91,679,840 'resources/implementation-playbook.md':93 'respons':198,384,396,413,556,675 'rest':258,655,792 'review':833 'role':313 'role-bas':312 'rollback':253 's3':545 'safeti':591,843 'sanit':328 'scalabl':140,752 'scale':506,728 'schema':562 'scope':67,814 'secur':295,325 'sent':538 'sentri':448 'serial':175 'server':494,537 'server-s':536 'servic':361,525 'session':229,241 'set':488,767 'skill':27,49,806 'skill-fastapi-pro' 'snapshot':380 'social':304 'sourc':292 'source-sickn33' 'special':99,117 'specif':665,828 'spi':459 'sql':330 'sqlalchemi':12,207,644,738 'sse':540 'stage':471 'standard':662 'startup/shutdown':571 'state':578 'static':420 'step':84 'stop':834 'storag':242,544 'strategi':254,273,424,729 'strawberri':265 'stream':197 'structlog':432 'structur':427 'subscript':542 'substitut':824 'success':846 'support':181,211 'system':755,799 'task':33,52,188,192,518,810 'test':337,347,351,373,377,381,707,830 'testabl':613 'testclient':348 'thorough':619 'throttl':277 'time':185 'token':299,747 'tool':64,674 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'trace':436 'track':451,461,802 'trait':581 'transact':250 'treat':819 'type':157,590,595 'unit':221 'unrel':54 'upload':195,798 'use':25,47,606,702,804 'user/ip':336 'uvicorn/gunicorn':489 'v2':16,170,641 'valid':80,173,559,701,829 'verif':86 'version':272 'web':130 'webhook':532 'websocket':19,180,753 'work':29,223 'workflow':35 'write':582,612,705","prices":[{"id":"daec6f09-4e73-4393-b7c3-4f77e2dccaac","listingId":"e2c0c4f7-df0a-41a3-ae86-cc10df9cc288","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:37:03.512Z"}],"sources":[{"listingId":"e2c0c4f7-df0a-41a3-ae86-cc10df9cc288","source":"github","sourceId":"sickn33/antigravity-awesome-skills/fastapi-pro","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/fastapi-pro","isPrimary":false,"firstSeenAt":"2026-04-18T21:37:03.512Z","lastSeenAt":"2026-04-24T00:50:55.516Z"}],"details":{"listingId":"e2c0c4f7-df0a-41a3-ae86-cc10df9cc288","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"fastapi-pro","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34793,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T00:28:59Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"c4a1506c94bb7a72024f6c973fdff4dd78edb7c8","skill_md_path":"skills/fastapi-pro/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/fastapi-pro"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"fastapi-pro","description":"Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2. Master microservices, WebSockets, and modern Python async patterns."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/fastapi-pro"},"updatedAt":"2026-04-24T00:50:55.516Z"}}