"""Skill API schema(skills-design §4.1)。""" from datetime import datetime from pydantic import BaseModel, Field from app.schemas.common import OrmModel class SkillResponse(OrmModel): id: str name: str description: str trigger: str prompt_fragment: str tool_bindings: list[str] = Field(default_factory=list) risk_level: str status: str created_at: datetime updated_at: datetime class CreateSkillRequest(BaseModel): name: str = Field(min_length=1) description: str = "" trigger: str = "" prompt_fragment: str = "" tool_bindings: list[str] = Field(default_factory=list) risk_level: str = "L1" status: str = "enabled" class UpdateSkillRequest(BaseModel): description: str | None = None trigger: str | None = None prompt_fragment: str | None = None tool_bindings: list[str] | None = None risk_level: str | None = None status: str | None = None class ToolCapability(BaseModel): """统一能力列举项(builtin / mcp / skill 三源)。""" name: str description: str source: str # builtin / mcp / skill risk_level: str status: str