Create a skill from a file, prompt, or chat session.
Three creation modes (provide exactly one source): A. file_id: Use an already-uploaded skill zip (must contain SKILL.md). B. prompt (+ optional json_schema): Auto-generate SKILL.md and schema.json, package and upload. C. session_id: Retrieve chat history as the prompt, auto-generate SKILL.md.
All modes produce a skill zip stored in GCS and deduplicate by content hash.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Request to create a skill.
Three creation modes (provide exactly one): A. file_id: Create from a pre-built skill zip uploaded via POST /v1/files. B. prompt (+ optional json_schema): Auto-generate SKILL.md and schema.json. C. session_id: Retrieve chat history and auto-generate SKILL.md from messages.
For mode A (file_id), name and description are required. For modes B (prompt) and C (session_id), name and description are optional — if omitted, they are auto-generated by the LLM from the content.
Name of the skill (required for file_id, auto-generated for prompt/session_id)
255Description of the skill (required for file_id, auto-generated for prompt/session_id)
File ID from file upload API (the uploaded skill zip)
Prompt text that becomes the SKILL.md body (auto-generates skill zip)
JSON schema that becomes schema.json in the skill zip
Chat session ID to retrieve chat history as the prompt
Whether the skill is publicly accessible
Successful Response
Response for skill creation.
ID of the created skill
Name of the skill (may differ from request if LLM-generated)
Description of the skill (may differ from request if LLM-generated)
Date and time when the skill was created
Date and time when the skill was updated
Status of the skill creation