> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs-beta.getzep.com/v4/sdk-reference/agent/skills/create/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-beta.getzep.com/_mcp/server. # Create Agent Skill POST https://api.getzep.com/api/v4/agents/{agent_uuid}/skills Content-Type: application/json Reference: https://docs-beta.getzep.com/sdk-reference/agent/skills/create ## Authentication - `Authorization` header (required) (prefixed with ` Api-Key `) — Type "Api-Key" followed by a space and the project API key. ## Request ### Path parameters - `agent_uuid` (string, required) — Agent UUID ### Body (application/json) This endpoint expects a v4.CreateAgentSkillRequest. - `definition` (v4.SkillDefinition, required) - `skill_id` (string, optional) ## Response ### 200 OK - `agent_versions` (list of string, optional) - `created_at` (string, optional) - `current_version` (integer, optional) - `kind` (string, optional) - `package_name` (string, optional) - `searchable` (boolean, optional) - `skill_id` (string, optional) - `status` (string, optional) - `task_family` (string, optional) - `unavailable_reason` (string, optional) - `updated_at` (string, optional) - `uuid` (string, optional) ### 201 Created - `agent_versions` (list of string, optional) - `created_at` (string, optional) - `current_version` (integer, optional) - `kind` (string, optional) - `package_name` (string, optional) - `searchable` (boolean, optional) - `skill_id` (string, optional) - `status` (string, optional) - `task_family` (string, optional) - `unavailable_reason` (string, optional) - `updated_at` (string, optional) - `uuid` (string, optional) ## Errors ### 400 Bad Request Error Bad Request - `error` (v4.ErrorBody, optional) ### 401 Unauthorized Error Unauthorized - `error` (v4.ErrorBody, optional) ### 403 Forbidden Error Forbidden - `error` (v4.ErrorBody, optional) ### 404 Not Found Error Not Found - `error` (v4.ErrorBody, optional) ### 409 Conflict Error Conflict - `error` (v4.ErrorBody, optional) ### 503 Service Unavailable Error Service Unavailable - `error` (v4.ErrorBody, optional) ## Types ### v4.SkillDefinition - `agent_versions` (list of string, optional) - `aliases` (list of string, optional) - `description` (string, optional) - `do_not_use_when` (list of string, optional) - `done_when` (list of string, optional) - `environments` (list of v4.SkillResource, optional) - `failures` (list of v4.SkillFailure, optional) - `kind` (string, optional) - `name` (string, optional) - `outputs` (list of string, optional) - `package_name` (string, optional) - `preconditions` (list of string, optional) - `procedure` (list of v4.SkillProcedureStep, optional) - `related_skills` (list of v4.SkillRelation, optional) - `sections` (list of v4.SkillDefinitionSection, optional) - `stop_when` (list of string, optional) - `task_family` (string, optional) - `tools` (list of v4.SkillResource, optional) - `use_when` (list of string, optional) ### v4.ErrorBody - `code` (string, optional) - `details` (map from string to any, optional) - `message` (string, optional) - `param` (string, optional) - `request_id` (string, optional) ### v4.SkillResource - `aliases` (list of string, optional) - `name` (string, optional) - `version` (string, optional) ### v4.SkillFailure - `recover` (list of string, optional) - `when` (string, optional) ### v4.SkillProcedureStep - `decision` (string, optional) - `expect` (list of string, optional) - `instruction` (string, optional) ### v4.SkillRelation - `relation` (string, optional) - `skill` (string, optional) - `version` (string, optional) ### v4.SkillDefinitionSection - `heading` (string, optional) - `id` (string, optional) - `markdown` (string, optional) ## Examples ### Example 1 **Request** ```json { "definition": {} } ``` **Response** ```json { "agent_versions": [ "string" ], "created_at": "string", "current_version": 1, "kind": "string", "package_name": "string", "searchable": true, "skill_id": "string", "status": "string", "task_family": "string", "unavailable_reason": "string", "updated_at": "string", "uuid": "string" } ``` ### Example 2 **Request** ```json { "definition": {} } ``` **Response** ```json { "agent_versions": [ "string" ], "created_at": "string", "current_version": 1, "kind": "string", "package_name": "string", "searchable": true, "skill_id": "string", "status": "string", "task_family": "string", "unavailable_reason": "string", "updated_at": "string", "uuid": "string" } ```