New endpoint
An operating system for Claude Code. Skills, hooks (MCR), and a lean-context framework for smarter AI coding sessions.
npx -y skills add justnau1020/claude-os --skill new-endpointAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scaffold a new REST API endpoint. Use when adding a new API route or extending the REST API with new functionality.
SKILL.md
2.0 KB, as published. Nobody here has run it
Create a New API Endpoint
Scaffold a new REST API endpoint following the project's existing conventions.
Arguments
$0-- HTTP method (GET, POST, PUT, DELETE)$1-- Route path (e.g.,/users/{user_id}/settings)$2-- Optional description of what the endpoint does
Steps
1. Determine route file
Check if an existing route file covers this domain (read the API directory for existing route files). If this fits an existing domain, add to that file. Otherwise, create a new route file.
2. Create the endpoint
Follow patterns from existing routes in the project. Example (FastAPI):
from fastapi import APIRouter, Depends, HTTPException
router = APIRouter(prefix="/resource", tags=["domain"])
@router.$0("$1")
async def endpoint_name(
resource_id: str,
user=Depends(get_current_user),
):
...
3. Conventions (NON-NEGOTIABLE)
- Authentication: Use the project's auth dependency injection pattern
- Typed models: Request/response bodies use typed models, not raw dicts
- Error responses: Use specific HTTP status codes (422, 404, 429, 503) with actionable messages
- Async only: All endpoint functions must be
async def - Type hints: Full type annotations on all parameters and return types
4. Register the router
If you created a new route file, register it in the app's router registration (e.g., app.include_router()).
5. Write tests
Create or extend tests for the new endpoint:
- Test successful request with valid auth
- Test unauthorized access (missing/invalid credentials)
- Test ownership enforcement (if applicable)
- Test validation errors (bad input)
- Test edge cases specific to this endpoint
6. Verify
pytest tests/ -v -k "test_<domain>"