بنقرة واحدة
pydantic-schema-designer
Use when creating Pydantic v2 schemas in apps/api/skillhub/schemas/
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when creating Pydantic v2 schemas in apps/api/skillhub/schemas/
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Record browser-based feature demos as GIFs via Playwright and optionally document them in docs/features/index.md. Trigger with "Demo <feature>" or "Demo and Document <feature>".
Use when creating service modules in apps/api/skillhub/services/
Use when writing API tests in apps/api/tests/
Use when implementing division-based access control on any endpoint
Use when adding services to docker-compose.yml or creating Dockerfiles
Use when implementing error handling across the API, frontend, or MCP server
| name | pydantic-schema-designer |
| description | Use when creating Pydantic v2 schemas in apps/api/skillhub/schemas/ |
Create in apps/api/skillhub/schemas/{domain}.py
from pydantic import BaseModel, ConfigDict
# Request — what the client sends
class SkillCreate(BaseModel):
name: str
slug: str
short_desc: str
category: str
divisions: list[str]
# Response — what the API returns
class SkillSummary(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: str
slug: str
name: str
short_desc: str
install_count: int
avg_rating: float
# Detail — full response
class SkillDetail(SkillSummary):
description: str
versions: list[SkillVersionResponse]
divisions: list[DivisionResponse]
tags: list[str]
class PaginatedResponse(BaseModel, Generic[T]):
items: list[T]
total: int
page: int
page_size: int
class BrowseParams(BaseModel):
category: str | None = None
divisions: list[str] | None = None
sort: str = "trending"
page: int = 1
page_size: int = 20
search: str | None = None
apps/api/skillhub/schemas/skill.pyapps/api/skillhub/routers/skills.py