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

# Create skill

> Create a skill — a reusable instruction the model applies on demand.

<Info>
  **Tool** `create_skill` · **Behavior** Additive
</Info>

Create a skill — a reusable instruction the model applies on demand. You own it and it defaults to private. Attach reference files with `file_ids` (upload them first). Returns the created skill.

## Input parameters

<ParamField body="name" type="string" required>
  Skill name (required, 1-255 chars).
</ParamField>

<ParamField body="content" type="string" required>
  The skill instructions — the prompt text the model receives when the skill runs (required, 1-100000 chars).
</ParamField>

<ParamField body="description" type="string | null">
  Optional short description of what the skill does (max 1000 chars).
</ParamField>

<ParamField body="visibility" type="'private' | 'organization'">
  Skill visibility. Defaults to `private` (only you and users you share it with). `organization` makes it visible to everyone in your org.
</ParamField>

<ParamField body="file_ids" type="string (uuid)[]">
  Uploaded file ids to attach as reference context (max 50). Upload files first with `upload_file`.
</ParamField>

## Response

<ResponseField name="skill" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="string (uuid)">
      Unique skill identifier
    </ResponseField>

    <ResponseField name="name" type="string">
      Skill name
    </ResponseField>

    <ResponseField name="description" type="string | null">
      Short description of what the skill does, or null if unset
    </ResponseField>

    <ResponseField name="content" type="string">
      The skill instructions: the prompt text the model receives when the skill runs
    </ResponseField>

    <ResponseField name="visibility" type="'private' | 'organization'">
      `private` (only the creator and users it has been explicitly shared with) or `organization` (visible to everyone in the org). Official skills report `organization`.
    </ResponseField>

    <ResponseField name="is_official" type="boolean">
      Whether this is an official GC AI skill. Official skills are read-only and cannot be edited or deleted via the API.
    </ResponseField>

    <ResponseField name="files" type="object[]">
      Files attached to the skill as reference context

      <Expandable title="properties">
        <ResponseField name="id" type="string (uuid)">
          Attached file identifier
        </ResponseField>

        <ResponseField name="name" type="string">
          Attached file name
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="created_at" type="string | null">
      ISO 8601 creation timestamp
    </ResponseField>

    <ResponseField name="updated_at" type="string | null">
      ISO 8601 last-updated timestamp
    </ResponseField>
  </Expandable>
</ResponseField>
