openapi: 3.2.0 info: title: LiteLLM Anthropic Skills API description: 'Proxy Server to call 100+ LLMs in the OpenAI format. **Customize Swagger Docs** 👉 ```LiteLLM Admin Panel on /ui```. Create, Edit Keys with SSO. Having issues? Try ```Fallback Login``` 💸 ```LiteLLM Model Cost Map```. 🔎 ```LiteLLM Model Hub```. See available models on the proxy. **Docs**' version: 1.102.1 tags: - name: anthropic_skills paths: /v1/skills: get: description: 'List skills on Anthropic. Requires `?beta=true` query parameter. Model-based routing (for multi-account support): - Pass model via header: `x-litellm-model: claude-account-1` - Pass model via query: `?model=claude-account-1` - Pass model via body: `{"model": "claude-account-1"}` Example usage: ```bash # Basic usage curl "http://localhost:4000/v1/skills?beta=true&limit=10" -H "Authorization: Bearer your-key" # With model-based routing curl "http://localhost:4000/v1/skills?beta=true&limit=10" -H "Authorization: Bearer your-key" -H "x-litellm-model: claude-account-1" ``` Pass `?custom_llm_provider=litellm_proxy&query=` to rank the LiteLLM-hosted skills you can access by semantic similarity instead of paging through the whole registry: ```bash curl "http://localhost:4000/v1/skills?custom_llm_provider=litellm_proxy&query=summarize+a+pdf&top_k=5" -H "Authorization: Bearer your-key" ``` Returns: ListSkillsResponse with list of skills' operationId: list_skills_v1_skills_get parameters: - in: query name: limit required: false schema: anyOf: - type: integer - type: 'null' default: 10 title: Limit - in: query name: after_id required: false schema: anyOf: - type: string - type: 'null' title: After Id - in: query name: before_id required: false schema: anyOf: - type: string - type: 'null' title: Before Id - in: query name: custom_llm_provider required: false schema: anyOf: - type: string - type: 'null' default: anthropic title: Custom Llm Provider - description: Describe what you need in natural language to rank the skills you can access by semantic similarity over their title and description. Each result carries a search_score. Only supported for custom_llm_provider=litellm_proxy. Requires litellm_settings.skill_search_embedding_model. in: query name: query required: false schema: anyOf: - minLength: 1 type: string - type: 'null' description: Describe what you need in natural language to rank the skills you can access by semantic similarity over their title and description. Each result carries a search_score. Only supported for custom_llm_provider=litellm_proxy. Requires litellm_settings.skill_search_embedding_model. title: Query - description: 'With query: the maximum number of ranked skills to return.' in: query name: top_k required: false schema: default: 5 description: 'With query: the maximum number of ranked skills to return.' maximum: 100 minimum: 1 title: Top K type: integer responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListSkillsResponse' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: List Skills tags: - anthropic_skills post: description: 'Create a new skill on Anthropic. Requires `?beta=true` query parameter. Model-based routing (for multi-account support): - Pass model via header: `x-litellm-model: claude-account-1` - Pass model via query: `?model=claude-account-1` - Pass model via form field: `model=claude-account-1` Example usage: ```bash # Basic usage curl -X POST "http://localhost:4000/v1/skills?beta=true" -H "Content-Type: multipart/form-data" -H "Authorization: Bearer your-key" -F "display_title=My Skill" -F "files[]=@skill.zip" # With model-based routing curl -X POST "http://localhost:4000/v1/skills?beta=true" -H "Content-Type: multipart/form-data" -H "Authorization: Bearer your-key" -H "x-litellm-model: claude-account-1" -F "display_title=My Skill" -F "files[]=@skill.zip" ``` Returns: Skill object with id, display_title, etc.' operationId: create_skill_v1_skills_post parameters: - in: query name: custom_llm_provider required: false schema: anyOf: - type: string - type: 'null' default: anthropic title: Custom Llm Provider responses: '200': content: application/json: schema: $ref: '#/components/schemas/Skill' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Create Skill tags: - anthropic_skills /v1/skills/{skill_id}: delete: description: 'Delete a skill by ID from Anthropic. Requires `?beta=true` query parameter. Note: Anthropic does not allow deleting skills with existing versions. Model-based routing (for multi-account support): - Pass model via header: `x-litellm-model: claude-account-1` - Pass model via query: `?model=claude-account-1` - Pass model via body: `{"model": "claude-account-1"}` Example usage: ```bash # Basic usage curl -X DELETE "http://localhost:4000/v1/skills/skill_123?beta=true" -H "Authorization: Bearer your-key" # With model-based routing curl -X DELETE "http://localhost:4000/v1/skills/skill_123?beta=true" -H "Authorization: Bearer your-key" -H "x-litellm-model: claude-account-1" ``` Returns: DeleteSkillResponse with type="skill_deleted"' operationId: delete_skill_v1_skills__skill_id__delete parameters: - in: path name: skill_id required: true schema: title: Skill Id type: string - in: query name: custom_llm_provider required: false schema: anyOf: - type: string - type: 'null' default: anthropic title: Custom Llm Provider responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteSkillResponse' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Delete Skill tags: - anthropic_skills get: description: 'Get a specific skill by ID from Anthropic. Requires `?beta=true` query parameter. Model-based routing (for multi-account support): - Pass model via header: `x-litellm-model: claude-account-1` - Pass model via query: `?model=claude-account-1` - Pass model via body: `{"model": "claude-account-1"}` Example usage: ```bash # Basic usage curl "http://localhost:4000/v1/skills/skill_123?beta=true" -H "Authorization: Bearer your-key" # With model-based routing curl "http://localhost:4000/v1/skills/skill_123?beta=true" -H "Authorization: Bearer your-key" -H "x-litellm-model: claude-account-1" ``` Returns: Skill object' operationId: get_skill_v1_skills__skill_id__get parameters: - in: path name: skill_id required: true schema: title: Skill Id type: string - in: query name: custom_llm_provider required: false schema: anyOf: - type: string - type: 'null' default: anthropic title: Custom Llm Provider responses: '200': content: application/json: schema: $ref: '#/components/schemas/Skill' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Skill tags: - anthropic_skills components: schemas: ListSkillsResponse: description: Response from listing skills properties: data: items: $ref: '#/components/schemas/Skill' title: Data type: array has_more: default: false title: Has More type: boolean next_page: anyOf: - type: string - type: 'null' title: Next Page required: - data title: ListSkillsResponse type: object Skill: description: Represents a skill from the Anthropic Skills API properties: created_at: title: Created At type: string description: anyOf: - type: string - type: 'null' title: Description display_title: anyOf: - type: string - type: 'null' title: Display Title id: title: Id type: string latest_version: anyOf: - type: string - type: 'null' title: Latest Version search_score: anyOf: - type: number - type: 'null' title: Search Score source: title: Source type: string type: default: skill title: Type type: string updated_at: title: Updated At type: string required: - id - created_at - source - updated_at title: Skill type: object ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError DeleteSkillResponse: description: Response from deleting a skill properties: id: title: Id type: string type: default: skill_deleted title: Type type: string required: - id title: DeleteSkillResponse type: object HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError securitySchemes: APIKeyHeader: type: apiKey description: Bearer token in: header name: x-litellm-api-key