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

# Get a skill

> Requires `skills:read`.



## OpenAPI

````yaml /api-reference/openapi.yaml get /skills/{skill_id_or_name}
openapi: 3.0.3
info:
  title: Guild Public API
  version: 1.0.0
  description: >-
    The Guild public API, served at https://api.guild.ai/v1 and authenticated
    with account API keys (HTTP Basic, key id as the username and the secret as
    the password). See https://docs.guild.ai/api-reference/introduction for
    scopes and behavior. A session-events websocket also exists at
    wss://api.guild.ai/v1/sessions/{session_id}/events/ws with the same Basic
    auth on the handshake; OpenAPI cannot describe websockets, so it is not
    listed in paths.
servers:
  - url: https://api.guild.ai/v1
    description: Production
security: []
tags:
  - name: accounts
  - name: agents
  - name: sessions
  - name: skills
  - name: workspaces
paths:
  /skills/{skill_id_or_name}:
    get:
      tags:
        - skills
      summary: Get a skill
      description: Requires `skills:read`.
      operationId: get_skill
      parameters:
        - name: skill_id_or_name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Skill'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKey: []
components:
  schemas:
    Skill:
      type: object
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        is_public:
          type: boolean
          description: Whether the asset is visible to the community or only its owner.
        name:
          type: string
          maxLength: 100
          description: Unique name identifying the asset within the owner account.
        owner_id:
          type: string
          format: uuid
          description: The account that owns this entity.
        archived_at:
          type: string
          format: date-time
          nullable: true
        archived_by_id:
          type: string
          format: uuid
          nullable: true
        avatar_url:
          type: string
          maxLength: 255
          nullable: true
        overview:
          type: string
          nullable: true
          description: >-
            Optional human-facing overview for display and indexing. Falls back
            to the latest version description if not set.
        archived_by: {}
        full_name: {}
        latest_version: {}
        likes_count: {}
        owner: {}
        type: {}
        viewer_can_edit: {}
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  securitySchemes:
    apiKey:
      type: http
      scheme: basic
      description: 'Account API key: key id as the username, secret as the password.'

````