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

# Update a skill

> Update a skill. Omitted fields keep their current value. When `instructions` is provided it fully replaces the body of the skill's SKILL.md file; name/description changes are also synced into the SKILL.md frontmatter. Built-in nuwacom skills cannot be updated.



## OpenAPI

````yaml /openapi.yaml patch /api/v1/spaces/{spaceId}/skills/{skillId}
openapi: 3.1.0
info:
  title: Nuwacom API
  description: API for Nuwacom application
  version: 1.0.0
servers:
  - url: https://{customer-tenant}.nuwacom.ai
    description: Nuwacom API
security:
  - bearerAuth: []
paths:
  /api/v1/spaces/{spaceId}/skills/{skillId}:
    patch:
      tags:
        - Skills
      summary: Update a skill
      description: >-
        Update a skill. Omitted fields keep their current value. When
        `instructions` is provided it fully replaces the body of the skill's
        SKILL.md file; name/description changes are also synced into the
        SKILL.md frontmatter. Built-in nuwacom skills cannot be updated.
      operationId: patchApiV1SpacesBySpaceIdSkillsBySkillId
      parameters:
        - in: path
          name: spaceId
          schema:
            anyOf:
              - type: string
                minLength: 2
                maxLength: 6
              - type: string
                minLength: 21
                maxLength: 21
            description: ID of the space the skill belongs to.
          required: true
        - in: path
          name: skillId
          schema:
            type: string
            format: uuid
            description: Unique ID of the skill.
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^[\p{L}\p{N}][\p{L}\p{N} -]*[\p{L}\p{N}]$|^[\p{L}\p{N}]$
                  description: Display name of the skill.
                description:
                  type: string
                  minLength: 1
                  maxLength: 1024
                  description: >-
                    Short description of what the skill does. The AI uses it to
                    decide when to load the skill.
                instructions:
                  type: string
                  maxLength: 50000
                  description: >-
                    Markdown instructions for the AI, stored as the body of the
                    skill's SKILL.md file.
              required: []
      responses:
        '200':
          description: Skill updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: >-
                      Unique ID of the skill. Use it to attach the skill to
                      agents.
                  spaceId:
                    anyOf:
                      - type: string
                        minLength: 2
                        maxLength: 6
                      - type: string
                        minLength: 21
                        maxLength: 21
                    description: ID of the space the skill belongs to.
                  name:
                    type: string
                  description:
                    type: string
                  slug:
                    type: string
                    description: >-
                      URL-safe, immutable identifier generated from the initial
                      name.
                  source:
                    enum:
                      - manual
                      - upload
                      - github
                      - ai_generated
                    description: >-
                      How the skill was created. Skills created via this API
                      have source "manual".
                  sourceUrl:
                    anyOf:
                      - type: string
                        nullable: true
                    description: >-
                      Source URL for skills imported from GitHub, null
                      otherwise.
                  createdAt:
                    type: string
                  updatedAt:
                    type: string
                  instructions:
                    anyOf:
                      - type: string
                        nullable: true
                    description: >-
                      Markdown instructions from the body of the skill's
                      SKILL.md file. null when the file cannot be read.
                required:
                  - id
                  - spaceId
                  - name
                  - description
                  - slug
                  - source
                  - sourceUrl
                  - createdAt
                  - updatedAt
                  - instructions
        '400':
          description: Invalid request body.
        '403':
          description: >-
            The caller lacks permission to update skills in this space, or the
            skills feature is disabled.
        '404':
          description: Skill not found in the provided space.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````