> ## Documentation Index
> Fetch the complete documentation index at: https://oma-codex-339-workspace-permissions.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 创建技能版本

> 通过 OMA API 创建技能版本。

<Info>每个请求都必须同时发送 `?beta=true` 与 `anthropic-beta: skills-2025-10-02`。</Info>


## OpenAPI

````yaml /openapi/oma.zh.json post /v1/skills/{skill_id}/versions
openapi: 3.1.0
info:
  title: OMA API 参考
  version: 1.0.0
  description: Open Managed Agents 应用 API 参考。
servers:
  - url: http://localhost:38080
    description: 本地 OMA 服务器
security:
  - omaApiKey: []
  - omaBearer: []
paths:
  /v1/skills/{skill_id}/versions:
    post:
      summary: 创建技能版本
      operationId: beta_create_skill_version_v1_skills__skill_id__versions_post
      parameters:
        - name: beta
          in: query
          required: true
          description: 为此接口启用 Beta API 合同，必须为 `true`。
          schema:
            type: boolean
            enum:
              - true
        - name: skill_id
          in: path
          required: true
          schema:
            type: string
            description: |-
              技能的唯一标识符。

              ID 的格式和长度可能会随时间变化。
            title: 技能 ID
          description: |-
            技能的唯一标识符。

            ID 的格式和长度可能会随时间变化。
        - name: anthropic-beta
          in: header
          required: true
          schema:
            type: string
            items:
              type: string
            description: |-
              用于指定要使用的 beta 版本的可选请求头。

              要使用多个 beta，请使用逗号分隔的列表（如 `beta1,beta2`），或为每个 beta 分别指定该请求头。
            title: Anthropic-Beta
            x-stainless-override-schema:
              x-stainless-param: betas
              x-stainless-extend-default: true
              type: array
              description: 用于指定一个或多个 Beta 版本的可选请求头。
              items:
                $ref: '#/components/schemas/AnthropicBeta'
            x-default: skills-2025-10-02
          description: |-
            用于指定要使用的 beta 版本的可选请求头。

            要使用多个 beta，请使用逗号分隔的列表（如 `beta1,beta2`），或为每个 beta 分别指定该请求头。
        - name: anthropic-version
          in: header
          required: false
          schema:
            type: string
            description: |-
              你想使用的 OMA API 版本。

              在此处阅读更多关于版本控制和我们版本历史的信息。
            title: Anthropic-Version
          description: |-
            你想使用的 OMA API 版本。

            在此处阅读更多关于版本控制和我们版本历史的信息。
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: >-
                #/components/schemas/BetaBody_create_skill_version_v1_skills__skill_id__versions_post
      responses:
        '200':
          description: 成功的响应
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BetaCreateSkillVersionResponse'
        4XX:
          description: |-
            错误响应。

            详见我们的错误文档。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BetaErrorResponse'
components:
  schemas:
    BetaBody_create_skill_version_v1_skills__skill_id__versions_post:
      properties:
        files:
          items:
            type: string
            format: binary
          type: array
          title: 文件
          description: |-
            要为该技能上传的文件。

            所有文件必须位于同一个顶层目录中，并且该目录的根目录下必须包含技能.md 文件。
      type: object
      required:
        - files
      title: Body_create_skill_version_v1_skills__skill_id__versions_post
    BetaCreateSkillVersionResponse:
      properties:
        created_at:
          type: string
          title: 创建时间
          description: 技能版本创建时间的 ISO 8601 时间戳。
          examples:
            - '2024-10-30T23:58:27.427722Z'
        description:
          type: string
          title: 描述
          description: |-
            技能版本的描述。

            该描述从上传的技能中的技能.md 文件提取。
          examples:
            - 一个用于完成特定任务的自定义技能
        directory:
          type: string
          title: 目录
          description: |-
            技能版本的目录名。

            这是从上传文件中提取出的顶层目录名。
          examples:
            - my-skill
        id:
          type: string
          title: ID
          description: |-
            技能版本的唯一标识符。

            ID 的格式和长度可能会随时间变化。
          examples:
            - skillver_01JAbcdefghijklmnopqrstuvw
        name:
          type: string
          title: 名称
          description: |-
            技能版本的人类可读名称。

            该名称从上传的技能中的技能.md 文件提取。
          examples:
            - my-skill
        skill_id:
          type: string
          title: 技能 ID
          description: 该版本所属技能的标识符。
          examples:
            - skill_01JAbcdefghijklmnopqrstuvw
        type:
          type: string
          title: 类型
          description: |-
            对象类型。

            对于技能 Versions，此值始终为 `"skill_version"`。
          default: skill_version
        version:
          type: string
          title: 版本
          description: |-
            技能的版本标识符。

            每个版本以一个 Unix epoch 时间戳标识（例如 "1759178010641129"）。
          examples:
            - '1759178010641129'
      type: object
      required:
        - created_at
        - description
        - directory
        - id
        - name
        - skill_id
        - type
        - version
      title: CreateSkillVersionResponse
    BetaErrorResponse:
      properties:
        error:
          discriminator:
            mapping:
              api_error:
                $ref: '#/components/schemas/BetaAPIError'
              authentication_error:
                $ref: '#/components/schemas/BetaAuthenticationError'
              billing_error:
                $ref: '#/components/schemas/BetaBillingError'
              invalid_request_error:
                $ref: '#/components/schemas/BetaInvalidRequestError'
              not_found_error:
                $ref: '#/components/schemas/BetaNotFoundError'
              overloaded_error:
                $ref: '#/components/schemas/BetaOverloadedError'
              permission_error:
                $ref: '#/components/schemas/BetaPermissionError'
              rate_limit_error:
                $ref: '#/components/schemas/BetaRateLimitError'
              timeout_error:
                $ref: '#/components/schemas/BetaGatewayTimeoutError'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/BetaInvalidRequestError'
            - $ref: '#/components/schemas/BetaAuthenticationError'
            - $ref: '#/components/schemas/BetaBillingError'
            - $ref: '#/components/schemas/BetaPermissionError'
            - $ref: '#/components/schemas/BetaNotFoundError'
            - $ref: '#/components/schemas/BetaRateLimitError'
            - $ref: '#/components/schemas/BetaGatewayTimeoutError'
            - $ref: '#/components/schemas/BetaAPIError'
            - $ref: '#/components/schemas/BetaOverloadedError'
          title: 错误
        request_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: 请求 ID
        type:
          const: error
          default: error
          title: 类型
          type: string
      required:
        - error
        - request_id
        - type
      title: ErrorResponse
      type: object
    BetaAPIError:
      properties:
        message:
          default: Internal server error
          title: 消息
          type: string
        type:
          const: api_error
          default: api_error
          title: 类型
          type: string
      required:
        - message
        - type
      title: APIError
      type: object
    BetaAuthenticationError:
      properties:
        message:
          default: Authentication error
          title: 消息
          type: string
        type:
          const: authentication_error
          default: authentication_error
          title: 类型
          type: string
      required:
        - message
        - type
      title: AuthenticationError
      type: object
    BetaBillingError:
      properties:
        message:
          default: Billing error
          title: 消息
          type: string
        type:
          const: billing_error
          default: billing_error
          title: 类型
          type: string
      required:
        - message
        - type
      title: BillingError
      type: object
    BetaInvalidRequestError:
      properties:
        message:
          default: Invalid request
          title: 消息
          type: string
        type:
          const: invalid_request_error
          default: invalid_request_error
          title: 类型
          type: string
      required:
        - message
        - type
      title: InvalidRequestError
      type: object
    BetaNotFoundError:
      properties:
        message:
          default: Not found
          title: 消息
          type: string
        type:
          const: not_found_error
          default: not_found_error
          title: 类型
          type: string
      required:
        - message
        - type
      title: NotFoundError
      type: object
    BetaOverloadedError:
      properties:
        message:
          default: Overloaded
          title: 消息
          type: string
        type:
          const: overloaded_error
          default: overloaded_error
          title: 类型
          type: string
      required:
        - message
        - type
      title: OverloadedError
      type: object
    BetaPermissionError:
      properties:
        message:
          default: Permission denied
          title: 消息
          type: string
        type:
          const: permission_error
          default: permission_error
          title: 类型
          type: string
      required:
        - message
        - type
      title: PermissionError
      type: object
    BetaRateLimitError:
      properties:
        message:
          default: Rate limited
          title: 消息
          type: string
        type:
          const: rate_limit_error
          default: rate_limit_error
          title: 类型
          type: string
      required:
        - message
        - type
      title: RateLimitError
      type: object
    BetaGatewayTimeoutError:
      properties:
        message:
          default: Request timeout
          title: 消息
          type: string
        type:
          const: timeout_error
          default: timeout_error
          title: 类型
          type: string
      required:
        - message
        - type
      title: GatewayTimeoutError
      type: object
  securitySchemes:
    omaApiKey:
      type: apiKey
      in: header
      name: X-Api-Key
      description: OMA 工作区 API 密钥。
      x-default: sk-ant-local-default
    omaBearer:
      type: http
      scheme: bearer
      description: 以 Bearer 令牌形式发送的 OMA 工作区 API 密钥。

````