> ## Documentation Index
> Fetch the complete documentation index at: https://infisical.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update skill

> Update a skill's files. Each change is saved as a new version; if the files match the latest version, nothing is saved and that version is returned. If the `name` in SKILL.md differs, the skill is renamed, unless another skill already has that name.



## OpenAPI

````yaml PATCH /api/v1/agent-vault/skills/{skillId}
openapi: 3.0.3
info:
  title: Infisical API
  description: List of all available APIs that can be consumed
  version: 0.0.1
servers:
  - url: https://us.infisical.com
    description: Production server (US)
  - url: https://eu.infisical.com
    description: Production server (EU)
  - url: http://localhost:8080
    description: Local server
security: []
paths:
  /api/v1/agent-vault/skills/{skillId}:
    patch:
      tags:
        - Agent Vault Skills
      description: >-
        Update a skill's files. Each change is saved as a new version; if the
        files match the latest version, nothing is saved and that version is
        returned. If the `name` in SKILL.md differs, the skill is renamed,
        unless another skill already has that name.
      operationId: updateAgentVaultSkill
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: skillId
          required: true
          description: The ID of the skill.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                files:
                  type: array
                  items:
                    type: object
                    properties:
                      path:
                        type: string
                        minLength: 1
                        maxLength: 255
                        description: >-
                          The file's path inside the skill folder, using `/`
                          between folders. No leading `/`, and no `.` or `..`
                          parts. At most 255 characters, and each file or folder
                          name at most 255 bytes.
                      mode:
                        type: string
                        enum:
                          - '0644'
                          - '0755'
                        description: >-
                          The file's permissions: `0644` for a regular file,
                          `0755` for one that can be run.
                      contentBase64:
                        type: string
                        maxLength: 2097152
                        description: The file's content, encoded as base64.
                    required:
                      - path
                      - mode
                      - contentBase64
                    additionalProperties: false
                  minItems: 1
                  maxItems: 1000
                  description: >-
                    Every file in the skill folder. One must be `SKILL.md` at
                    the root, starting with a YAML header that sets `name` and
                    `description`. At most 50 files, 256 KB per file and 1 MB in
                    total.
                baseVersion:
                  type: integer
                  exclusiveMinimum: true
                  minimum: 0
                  description: >-
                    The version these files were edited from. If a newer version
                    has been saved since, nothing is saved and the request fails
                    with 409. Omit it to update regardless.
              required:
                - files
              additionalProperties: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  skill:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: The ID of the skill.
                      name:
                        type: string
                        description: >-
                          The name of the skill, taken from the `name` in the
                          SKILL.md of its latest version. Lowercase letters,
                          numbers and hyphens.
                      description:
                        type: string
                        description: >-
                          What the skill is for, taken from the `description` in
                          the SKILL.md of its latest version.
                      latestVersion:
                        type: number
                        description: The number of the skill's newest version.
                      createdAt:
                        type: string
                        format: date-time
                        description: When the skill was added.
                      updatedAt:
                        type: string
                        format: date-time
                        description: When the skill was last changed.
                    required:
                      - id
                      - name
                      - description
                      - latestVersion
                      - createdAt
                      - updatedAt
                    additionalProperties: false
                  version:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: The ID of the version.
                      version:
                        type: number
                        description: >-
                          The version number. Versions count up from 1, and the
                          newest 20 are kept.
                      sha256:
                        type: string
                        description: The SHA-256 digest of the version's files, as hex.
                      sizeBytes:
                        type: number
                        description: The total size of the version's files in bytes.
                      fileCount:
                        type: number
                        description: How many files the version has.
                      createdAt:
                        type: string
                        format: date-time
                        description: When the version was saved.
                    required:
                      - id
                      - version
                      - sha256
                      - sizeBytes
                      - fileCount
                      - createdAt
                    additionalProperties: false
                  unchanged:
                    type: boolean
                    description: >-
                      True if the files match the latest version, in which case
                      no new version was made and that version is returned.
                required:
                  - skill
                  - version
                  - unchanged
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 400
                  message:
                    type: string
                  error:
                    type: string
                  details: {}
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 401
                  message:
                    type: string
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 403
                  message:
                    type: string
                  details: {}
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 404
                  message:
                    type: string
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 422
                  message: {}
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                      - 500
                  message:
                    type: string
                  error:
                    type: string
                required:
                  - reqId
                  - statusCode
                  - message
                  - error
                additionalProperties: false

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.