[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EHHV7761ZAPBYTJ5P62XJS":3,"skill-same:01M6EHHV7761ZAPBYTJ5P62XJS":117},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":63,"ownerHtmlUrl":64,"ownerBlogUrl":6,"ownerDescription":65,"updatedAt":66,"install":67,"resources":80},"01M6EHHV7761ZAPBYTJ5P62XJS","python-fastapi-patterns",null,"FastAPI web framework patterns. Triggers on: fastapi, api endpoint, dependency injection, pydantic model, openapi, swagger, starlette, async api, rest api, uvicorn.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"python fastapi patterns","python fastapi","patterns","fastapi","python","read","uvicorn","swagger","pytest","dependency","write","model","Bash","api","injection","endpoint","Pydantic","observability","database","framework","2026-11-10 10:12:30",false,"---\nname: python-fastapi-patterns\ndescription: \"FastAPI web framework patterns. Triggers on: fastapi, api endpoint, dependency injection, pydantic model, openapi, swagger, starlette, async api, rest api, uvicorn.\"\ncompatibility: \"FastAPI 0.100+, Pydantic v2, Python 3.10+. Requires uvicorn for production.\"\nallowed-tools: \"Read Write Bash\"\ndepends-on: [python-typing-patterns, python-async-patterns]\nrelated-skills: [python-database-patterns, python-observability-patterns, python-pytest-patterns]\n---\n\n# FastAPI Patterns\n\nModern async API development with FastAPI.\n\n## Basic Application\n\n```python\nfrom fastapi import FastAPI\nfrom contextlib import asynccontextmanager\n\n@asynccontextmanager\nasync def lifespan(app: FastAPI):\n    \"\"\"Application lifespan - startup and shutdown.\"\"\"\n    # Startup\n    app.state.db = await create_db_pool()\n    yield\n    # Shutdown\n    await app.state.db.close()\n\napp = FastAPI(\n    title=\"My API\",\n    version=\"1.0.0\",\n    lifespan=lifespan,\n)\n\n@app.get(\"\u002F\")\nasync def root():\n    return {\"message\": \"Hello World\"}\n```\n\n## Request\u002FResponse Models\n\n```python\nfrom pydantic import BaseModel, Field, EmailStr\nfrom datetime import datetime\n\nclass UserCreate(BaseModel):\n    \"\"\"Request model with validation.\"\"\"\n    name: str = Field(..., min_length=1, max_length=100)\n    email: EmailStr\n    age: int = Field(..., ge=0, le=150)\n\nclass UserResponse(BaseModel):\n    \"\"\"Response model.\"\"\"\n    id: int\n    name: str\n    email: EmailStr\n    created_at: datetime\n\n    model_config = {\"from_attributes\": True}  # Enable ORM mode\n\n@app.post(\"\u002Fusers\", response_model=UserResponse, status_code=201)\nasync def create_user(user: UserCreate):\n    db_user = await create_user_in_db(user)\n    return db_user\n```\n\n## Path and Query Parameters\n\n```python\nfrom fastapi import Query, Path\nfrom typing import Annotated\n\n@app.get(\"\u002Fusers\u002F{user_id}\")\nasync def get_user(\n    user_id: Annotated[int, Path(..., ge=1, description=\"User ID\")],\n):\n    return await fetch_user(user_id)\n\n@app.get(\"\u002Fusers\")\nasync def list_users(\n    skip: Annotated[int, Query(ge=0)] = 0,\n    limit: Annotated[int, Query(ge=1, le=100)] = 10,\n    search: str | None = None,\n):\n    return await fetch_users(skip=skip, limit=limit, search=search)\n```\n\n## Dependency Injection\n\n```python\nfrom fastapi import Depends\nfrom typing import Annotated\n\nasync def get_db():\n    \"\"\"Database session dependency.\"\"\"\n    async with async_session() as session:\n        yield session\n\nasync def get_current_user(\n    token: Annotated[str, Depends(oauth2_scheme)],\n    db: Annotated[AsyncSession, Depends(get_db)],\n) -> User:\n    \"\"\"Authenticate and return current user.\"\"\"\n    user = await authenticate_token(db, token)\n    if not user:\n        raise HTTPException(status_code=401, detail=\"Invalid token\")\n    return user\n\n# Annotated types for reuse\nDB = Annotated[AsyncSession, Depends(get_db)]\nCurrentUser = Annotated[User, Depends(get_current_user)]\n\n@app.get(\"\u002Fme\")\nasync def get_me(user: CurrentUser):\n    return user\n```\n\n## Exception Handling\n\n```python\nfrom fastapi import HTTPException\nfrom fastapi.responses import JSONResponse\n\n# Built-in HTTP exceptions\n@app.get(\"\u002Fitems\u002F{item_id}\")\nasync def get_item(item_id: int):\n    item = await fetch_item(item_id)\n    if not item:\n        raise HTTPException(status_code=404, detail=\"Item not found\")\n    return item\n\n# Custom exception handler\nclass ItemNotFoundError(Exception):\n    def __init__(self, item_id: int):\n        self.item_id = item_id\n\n@app.exception_handler(ItemNotFoundError)\nasync def item_not_found_handler(request, exc: ItemNotFoundError):\n    return JSONResponse(\n        status_code=404,\n        content={\"detail\": f\"Item {exc.item_id} not found\"},\n    )\n```\n\n## Router Organization\n\n```python\nfrom fastapi import APIRouter\n\n# users.py\nrouter = APIRouter(prefix=\"\u002Fusers\", tags=[\"users\"])\n\n@router.get(\"\u002F\")\nasync def list_users():\n    return []\n\n@router.get(\"\u002F{user_id}\")\nasync def get_user(user_id: int):\n    return {\"id\": user_id}\n\n# main.py\nfrom app.routers import users, items\n\napp.include_router(users.router)\napp.include_router(items.router, prefix=\"\u002Fapi\u002Fv1\")\n```\n\n## Quick Reference\n\n| Feature | Usage |\n|---------|-------|\n| Path param | `@app.get(\"\u002Fitems\u002F{id}\")` |\n| Query param | `def f(q: str = None)` |\n| Body | `def f(item: ItemCreate)` |\n| Dependency | `Depends(get_db)` |\n| Auth | `Depends(get_current_user)` |\n| Response model | `response_model=ItemResponse` |\n| Status code | `status_code=201` |\n\n## Additional Resources\n\n- `.\u002Freferences\u002Fdependency-injection.md` - Advanced DI patterns, scopes, caching\n- `.\u002Freferences\u002Fmiddleware-patterns.md` - Middleware chains, CORS, error handling\n- `.\u002Freferences\u002Fvalidation-serialization.md` - Pydantic v2 patterns, custom validators\n- `.\u002Freferences\u002Fbackground-tasks.md` - Background tasks, async workers, scheduling\n\n## Scripts\n\n- `.\u002Fscripts\u002Fscaffold-api.sh` - Generate API endpoint boilerplate\n\n## Assets\n\n- `.\u002Fassets\u002Ffastapi-template.py` - Production-ready FastAPI app skeleton\n\n---\n\n## See Also\n\n**Prerequisites:**\n- `python-typing-patterns` - Pydantic models and type hints\n- `python-async-patterns` - Async endpoint patterns\n\n**Related Skills:**\n- `python-database-patterns` - SQLAlchemy integration\n- `python-observability-patterns` - Logging, metrics, tracing middleware\n- `python-pytest-patterns` - API testing with TestClient\n","# FastAPI Patterns\n\nModern async API development with FastAPI.\n\n## Basic Application\n\n```python\nfrom fastapi import FastAPI\nfrom contextlib import asynccontextmanager\n\n@asynccontextmanager\nasync def lifespan(app: FastAPI):\n    \"\"\"Application lifespan - startup and shutdown.\"\"\"\n    # Startup\n    app.state.db = await create_db_pool()\n    yield\n    # Shutdown\n    await app.state.db.close()\n\napp = FastAPI(\n    title=\"My API\",\n    version=\"1.0.0\",\n    lifespan=lifespan,\n)\n\n@app.get(\"\u002F\")\nasync def root():\n    return {\"message\": \"Hello World\"}\n```\n\n## Request\u002FResponse Models\n\n```python\nfrom pydantic import BaseModel, Field, EmailStr\nfrom datetime import datetime\n\nclass UserCreate(BaseModel):\n    \"\"\"Request model with validation.\"\"\"\n    name: str = Field(..., min_length=1, max_length=100)\n    email: EmailStr\n    age: int = Field(..., ge=0, le=150)\n\nclass UserResponse(BaseModel):\n    \"\"\"Response model.\"\"\"\n    id: int\n    name: str\n    email: EmailStr\n    created_at: datetime\n\n    model_config = {\"from_attributes\": True}  # Enable ORM mode\n\n@app.post(\"\u002Fusers\", response_model=UserResponse, status_code=201)\nasync def create_user(user: UserCreate):\n    db_user = await create_user_in_db(user)\n    return db_user\n```\n\n## Path and Query Parameters\n\n```python\nfrom fastapi import Query, Path\nfrom typing import Annotated\n\n@app.get(\"\u002Fusers\u002F{user_id}\")\nasync def get_user(\n    user_id: Annotated[int, Path(..., ge=1, description=\"User ID\")],\n):\n    return await fetch_user(user_id)\n\n@app.get(\"\u002Fusers\")\nasync def list_users(\n    skip: Annotated[int, Query(ge=0)] = 0,\n    limit: Annotated[int, Query(ge=1, le=100)] = 10,\n    search: str | None = None,\n):\n    return await fetch_users(skip=skip, limit=limit, search=search)\n```\n\n## Dependency Injection\n\n```python\nfrom fastapi import Depends\nfrom typing import Annotated\n\nasync def get_db():\n    \"\"\"Database session dependency.\"\"\"\n    async with async_session() as session:\n        yield session\n\nasync def get_current_user(\n    token: Annotated[str, Depends(oauth2_scheme)],\n    db: Annotated[AsyncSession, Depends(get_db)],\n) -> User:\n    \"\"\"Authenticate and return current user.\"\"\"\n    user = await authenticate_token(db, token)\n    if not user:\n        raise HTTPException(status_code=401, detail=\"Invalid token\")\n    return user\n\n# Annotated types for reuse\nDB = Annotated[AsyncSession, Depends(get_db)]\nCurrentUser = Annotated[User, Depends(get_current_user)]\n\n@app.get(\"\u002Fme\")\nasync def get_me(user: CurrentUser):\n    return user\n```\n\n## Exception Handling\n\n```python\nfrom fastapi import HTTPException\nfrom fastapi.responses import JSONResponse\n\n# Built-in HTTP exceptions\n@app.get(\"\u002Fitems\u002F{item_id}\")\nasync def get_item(item_id: int):\n    item = await fetch_item(item_id)\n    if not item:\n        raise HTTPException(status_code=404, detail=\"Item not found\")\n    return item\n\n# Custom exception handler\nclass ItemNotFoundError(Exception):\n    def __init__(self, item_id: int):\n        self.item_id = item_id\n\n@app.exception_handler(ItemNotFoundError)\nasync def item_not_found_handler(request, exc: ItemNotFoundError):\n    return JSONResponse(\n        status_code=404,\n        content={\"detail\": f\"Item {exc.item_id} not found\"},\n    )\n```\n\n## Router Organization\n\n```python\nfrom fastapi import APIRouter\n\n# users.py\nrouter = APIRouter(prefix=\"\u002Fusers\", tags=[\"users\"])\n\n@router.get(\"\u002F\")\nasync def list_users():\n    return []\n\n@router.get(\"\u002F{user_id}\")\nasync def get_user(user_id: int):\n    return {\"id\": user_id}\n\n# main.py\nfrom app.routers import users, items\n\napp.include_router(users.router)\napp.include_router(items.router, prefix=\"\u002Fapi\u002Fv1\")\n```\n\n## Quick Reference\n\n| Feature | Usage |\n|---------|-------|\n| Path param | `@app.get(\"\u002Fitems\u002F{id}\")` |\n| Query param | `def f(q: str = None)` |\n| Body | `def f(item: ItemCreate)` |\n| Dependency | `Depends(get_db)` |\n| Auth | `Depends(get_current_user)` |\n| Response model | `response_model=ItemResponse` |\n| Status code | `status_code=201` |\n\n## Additional Resources\n\n- `.\u002Freferences\u002Fdependency-injection.md` - Advanced DI patterns, scopes, caching\n- `.\u002Freferences\u002Fmiddleware-patterns.md` - Middleware chains, CORS, error handling\n- `.\u002Freferences\u002Fvalidation-serialization.md` - Pydantic v2 patterns, custom validators\n- `.\u002Freferences\u002Fbackground-tasks.md` - Background tasks, async workers, scheduling\n\n## Scripts\n\n- `.\u002Fscripts\u002Fscaffold-api.sh` - Generate API endpoint boilerplate\n\n## Assets\n\n- `.\u002Fassets\u002Ffastapi-template.py` - Production-ready FastAPI app skeleton\n\n---\n\n## See Also\n\n**Prerequisites:**\n- `python-typing-patterns` - Pydantic models and type hints\n- `python-async-patterns` - Async endpoint patterns\n\n**Related Skills:**\n- `python-database-patterns` - SQLAlchemy integration\n- `python-observability-patterns` - Logging, metrics, tracing middleware\n- `python-pytest-patterns` - API testing with TestClient\n",{"name":5,"depends-on":49,"description":7,"allowed-tools":52,"compatibility":53,"related-skills":54},[50,51],"python-typing-patterns","python-async-patterns","Read Write Bash","FastAPI 0.100+, Pydantic v2, Python 3.10+. Requires uvicorn for production.",[55,56,57],"python-database-patterns","python-observability-patterns","python-pytest-patterns","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill python-fastapi-patterns",{"tool":73,"command":74},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill python-fastapi-patterns",{"tool":76,"command":77},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill python-fastapi-patterns","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns\u002FSKILL.md",true,[81,87,93,97,101,105,109,113],{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"assets\u002Ffastapi-template.py","SCRIPT","脚本",5012,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns\u002Fassets\u002Ffastapi-template.py",{"path":88,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":91,"sourceHtmlUrl":92},"bmad-skill-manifest.yaml","REFERENCE","参考文档",743,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-cis-agent-creative-problem-solver\u002Fbmad-skill-manifest.yaml",{"path":94,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fbackground-tasks.md",8572,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns\u002Freferences\u002Fbackground-tasks.md",{"path":98,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fdependency-injection.md",7386,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns\u002Freferences\u002Fdependency-injection.md",{"path":102,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fmiddleware-patterns.md",8987,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns\u002Freferences\u002Fmiddleware-patterns.md",{"path":106,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Fvalidation-serialization.md",7470,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns\u002Freferences\u002Fvalidation-serialization.md",{"path":110,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":111,"sourceHtmlUrl":112},"scripts\u002Fscaffold-api.sh",4218,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns\u002Fscripts\u002Fscaffold-api.sh",{"path":114,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":115,"sourceHtmlUrl":116},"skill-report.json",12048,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002F0xdarkmatter\u002Fpython-fastapi-patterns\u002Fskill-report.json",[118,129,139,148,154,161],{"skillNo":119,"name":120,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":126,"publishedAt":44},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[123],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[35,127,128],"model hierarchy","model hierarchy skill",{"skillNo":130,"name":131,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":135,"publishedAt":44},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[134],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},[136,137,138],"MCP","zoom","zoom mcp",{"skillNo":140,"name":141,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":44},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[145,146,147,137],"sdk","zoom apps sdk","apps",{"skillNo":149,"name":150,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":44},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[150],{"skillNo":155,"name":156,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":160,"publishedAt":44},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[159],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},[156],{"skillNo":162,"name":163,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":44},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[163]]