From claude-fastapi-guide-plugin
Explain how a specific FastAPI framework feature works in this codebase, citing exact files and line numbers. Use when the user asks "how does X work", "what does Y do", "where is Z implemented", or wants an architectural walkthrough of a feature such as routing, dependency injection, OpenAPI generation, security, or response serialization.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-fastapi-guide-plugin:explain-featureThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The user wants a guided, read-only walkthrough of an existing feature in the FastAPI source. Triggers:
The user wants a guided, read-only walkthrough of an existing feature in the FastAPI source. Triggers:
Annotated[T, Query(...)] do at runtime?"Depends(...) is resolved."_compat for?"Do not use this skill when the user wants to change behavior, add a feature, or fix a bug — switch to a coding workflow instead.
Reply with this structure:
path:line link where execution begins.path:line citation.tests/test_*.py references the user can run.Use markdown links: [fastapi/routing.py:412](fastapi/routing.py#L412). Every concrete claim needs a citation.
| Question | Start here |
|---|---|
| How does a request flow end-to-end? | fastapi/applications.py → fastapi/routing.py APIRoute.get_route_handler → fastapi/dependencies/utils.py solve_dependencies |
How are Query / Path / Body parsed? | fastapi/params.py + fastapi/param_functions.py + fastapi/dependencies/utils.py::analyze_param |
| How does dependency resolution / caching work? | fastapi/dependencies/utils.py solve_dependencies, get_dependant |
| How is the OpenAPI schema produced? | fastapi/openapi/utils.py get_openapi; models in fastapi/openapi/models.py |
| How does response serialization decide a model? | fastapi/routing.py serialize_response + fastapi/encoders.py jsonable_encoder |
| Where is auth wired? | fastapi/security/ (entry: security/__init__.py) |
| Pydantic v1 vs v2 differences? | fastapi/_compat/ (shared.py, v2.py) |
| Is there already a test for X? | tests/test_<feature>.py mirror fastapi/ modules; grep -r "<symbol>" tests/ |
How does TestClient work? | fastapi/testclient.py (re-export) + Starlette docs |
If no row fits, grep -rn "<symbol>" fastapi/ for the user's exact symbol.
grep -rn "<symbol>" fastapi/ for the user's exact symbol._compat boundaries — name the boundary, don't dive in.grep -rln "<symbol>" tests/ for at least one test that exercises the feature. Cite it so the reader can run it.path:line is not done.fastapi/. If the trail leaves the package, name the boundary call and stop.skills/trace-data-flow/SKILL.md — sibling skill for end-to-end request traces (use when the user names a concrete request rather than a feature)skills/fastapi-dependencies-internals/SKILL.md — DI-internals-specific guidancenpx claudepluginhub x1nzhe/claude-fastapi-guide-plugin --plugin claude-fastapi-guide-pluginCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.