maksimzayats/specx/specx-add-delivery-controller
Claude Code and agent skill by maksimzayats/specx
- community
Checking that the SKILL.md file is still in the repository.
Add delivery controllers for specx services, especially FastAPI HTTP routes. Use when creating top-level `delivery/` request/response schemas, one controller per scoped use-case set, route registration, FastAPI lifecycle managers, HTTP error translation, delivery-only auth/rate-limit/request services, or integration tests that exercise the delivery edge.
Install
npx vskill@latest install maksimzayats/specx/specx-add-delivery-controllerSKILL.md
specx Add Delivery Controller
Use this skill at the framework boundary. Read references/controller.md before adding controller code.
Workflow
- Put controllers under
delivery/fastapi/controllers/<scope>.py. - Put request and response schemas under
delivery/fastapi/schemas/. - Use one controller per scoped set of use cases, for example
TasksController for create/get/list task routes.
- Put controller-only helpers such as auth dependencies, rate limiters, and
request-context readers under delivery/fastapi/services/.
- Make controllers inherit
BaseController, schemas inherit
BaseFastAPISchema, delivery helpers inherit BaseDeliveryService, and FastAPI lifespan managers inherit BaseLifecycle[FastAPI].
- Add docstrings with scope and a concrete
Example:to controllers, schemas,
and delivery services.
- Inject use cases or delivery services with
Injected[...]. A simple
delivery-owned /healthz response needs no core workflow; inject core/health use cases when readiness checks a required external dependency or probe policy is reused across deliveries.
- Map request schema/path data into the use case's same-file
Commandor
Query input.
- Call the use case.
- Map the result into a response schema.
- Declare the success status explicitly when it is not
200, such as201
for a resource-creating POST or 204 for a response with no body.
- Translate known application exceptions into stable, non-sensitive HTTP
responses. Do not expose raw exception messages.
- Register full public business route paths such as
/api/v1/users. Do not
split API prefixes across routers and route fragments. Operational probes are the only unversioned exception: /healthz and /readyz.
- For FastAPI apps with long-lived resources, inject
FastAPILifecycleinto
the app factory and pass it to FastAPI(lifespan=...).
- Add integration tests at the HTTP boundary, including the declared success
code and each translated application error.
Code Style
Use blank lines as logical separators in all code. Keep related statements together, but separate independent setup, action, assertion, response, branch, and transformation groups so long blocks stay readable.
References
references/controller.md- FastAPI controller class pattern, app factory
registration, schemas, and tests.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/specx-add-delivery-controller/SKILL.md
Popularity
- Repository stars
- 201
- Repository forks
- 34
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/maksimzayats/specx/specx-add-delivery-controller)