Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tomevault-io/skills-registry --skill api-endpoint명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | api-endpoint |
| description | | Use when this capability is needed. |
Generate SDK endpoints from OpenAPI specifications following project conventions.
| Component | Location | When |
|---|---|---|
| Endpoint module | src/opengov_api/{resource}.py | Always |
| Response models | src/opengov_api/models/{resource}.py | If typed responses needed |
| Params model | src/opengov_api/models/params.py | If list endpoint has filters |
| Enums | src/opengov_api/models/enums.py | If status/type enums needed |
| Model exports | src/opengov_api/models/__init__.py | When adding models |
| SDK exports | src/opengov_api/__init__.py | Always |
| Tests | tests/test_{resource}.py | Always |
| Common tests | tests/test_common_endpoints.py | Add to parametrized lists |
| OpenAPI | SDK |
|---|---|
GET /{resource} | list_{resource}() returning JSONAPIResponse[{Resource}Resource] |
GET /{resource}/{id} | get_{resource}(id) returning dict[str, Any] |
POST /{resource} | create_{resource}(data) returning dict[str, Any] |
PATCH /{resource}/{id} | update_{resource}(id, data) returning dict[str, Any] |
DELETE /{resource}/{id} | delete_{resource}(id) or archive_{resource}(id) |
Nested GET /{parent}/{id}/{child} | list_{parent}_{child}(parent_id) |
Nested POST /{parent}/{id}/{child} | add_{parent}_{child}(parent_id, data) |
| OpenAPI Parameter | SDK Param Name | Model Field |
|---|---|---|
filter[status] | status | filter_status |
filter[createdAt] | created_at | filter_created_at |
filter[isEnabled] | is_enabled | filter_is_enabled |
page[number] | page_number | page_number |
page[size] | page_size | page_size |
See references/patterns.md for complete code examples including:
Before completing, verify:
Schema Extraction & Validation:
required array)nullable: true → | None)Field(alias=...) with exact casingCode Generation:
@handle_request_errors decoratorwith _get_client() as client: patternJSONAPIResponse[{Resource}Resource]Field(alias="camelCase") for JSON field mappingto_query_params() methodmodel_config = {"populate_by_name": True} present in all attribute modelsIntegration:
__init__.pymodels/__init__.pytests/test_{resource}.pytest_common_endpoints.py parametrized listsVerification:
uv run pytest passesuv run pyright passesConverted and distributed by TomeVault — claim your Tome and manage your conversions.