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

# List skills

> Returns a paginated list of skills in the workspace, ordered alphabetically by name.

Skills represent competencies that are evaluated during roleplay sessions and calls
(e.g. "Discovery Questions", "Objection Handling", "Procurement Selling"). Each skill
can be linked to evaluation criteria across multiple scenarios.

Use `?include=proficiency` to add aggregate proficiency stats per skill (participant
count, scored participant count, percentage proficient+, and average score). This is
computed across all workspace members who have practiced each skill.




## OpenAPI

````yaml /api-reference/openapi.yaml get /skills
openapi: 3.0.3
info:
  title: Exec API
  version: '1.0'
  description: >
    REST API for programmatic access to your Exec workspace.


    Use the Exec API to read workspace data, list members, retrieve group
    information,

    and create interactive scenario creation sessions.


    ## Authentication

    All requests require a valid API key passed in the Authorization header:

    ```

    Authorization: Bearer exec_live_...

    ```


    Create API keys in your workspace settings under **Settings > API**.
servers:
  - url: https://api.exec.com/rest/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /skills:
    get:
      tags:
        - Skills
      summary: List skills
      description: >
        Returns a paginated list of skills in the workspace, ordered
        alphabetically by name.


        Skills represent competencies that are evaluated during roleplay
        sessions and calls

        (e.g. "Discovery Questions", "Objection Handling", "Procurement
        Selling"). Each skill

        can be linked to evaluation criteria across multiple scenarios.


        Use `?include=proficiency` to add aggregate proficiency stats per skill
        (participant

        count, scored participant count, percentage proficient+, and average
        score). This is

        computed across all workspace members who have practiced each skill.
      operationId: listSkills
      parameters:
        - name: include
          in: query
          description: >
            Comma-separated list of optional data to include.

            Available values: `proficiency` (aggregate proficiency stats per
            skill).
          schema:
            type: string
            example: proficiency
        - name: page
          in: query
          description: Page number (1-indexed)
          schema:
            type: integer
            default: 1
            minimum: 1
        - name: page_size
          in: query
          description: Number of results per page (max 100)
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 100
      responses:
        '200':
          description: Paginated list of skills
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Skill'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
              example:
                data:
                  - id: sk1a2b3c4d5e
                    name: Procurement Selling
                    slug: procurement-selling
                    description: >-
                      Ability to identify and sell procurement solutions
                      effectively.
                    created_at: '2026-01-10T09:00:00Z'
                    proficiency_summary:
                      participant_count: 25
                      scored_participant_count: 20
                      pct_proficient_plus: 60
                      avg_score: 72.5
                  - id: sk6f7g8h9i0j
                    name: Objection Handling
                    slug: objection-handling
                    description: Skill in addressing and overcoming prospect objections.
                    created_at: '2026-01-15T14:30:00Z'
                    proficiency_summary:
                      participant_count: 18
                      scored_participant_count: 15
                      pct_proficient_plus: 40
                      avg_score: 65.3
                pagination:
                  page: 1
                  page_size: 50
                  total_count: 2
                  total_pages: 1
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Skill:
      type: object
      description: A competency that is evaluated during roleplay sessions and calls.
      properties:
        id:
          type: string
          description: Unique skill identifier
        name:
          type: string
          description: Skill name
        slug:
          type: string
          description: URL-friendly skill identifier
        description:
          type: string
          description: Description of the skill
        created_at:
          type: string
          format: date-time
          description: When the skill was created
        proficiency_summary:
          $ref: '#/components/schemas/SkillProficiencySummary'
          nullable: true
          description: >-
            Aggregate proficiency stats (only included when requested via
            `?include=proficiency`)
    Pagination:
      type: object
      properties:
        page:
          type: integer
          description: Current page number
        page_size:
          type: integer
          description: Number of items per page
        total_count:
          type: integer
          description: Total number of items
        total_pages:
          type: integer
          description: Total number of pages
    SkillProficiencySummary:
      type: object
      description: Aggregate proficiency stats for a skill across all workspace members.
      properties:
        participant_count:
          type: integer
          description: Number of users with at least one observation on this skill
        scored_participant_count:
          type: integer
          description: >-
            Number of users with enough observations (3+) for a proficiency
            score
        pct_proficient_plus:
          type: integer
          description: Percentage of scored users at Proficient or Excellent tier
        avg_score:
          type: number
          nullable: true
          description: Average proficiency score across scored users (0-100)
    ValidationErrorDetail:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              description: Error category (e.g., "invalid_request")
            code:
              type: string
              description: Specific error code (e.g., "user_not_found")
            message:
              type: string
              description: Human-readable error message
  responses:
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrorDetail'
          example:
            error:
              type: authentication_error
              code: invalid_api_key
              message: Invalid or inactive API key
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        API key created in Settings > API.

        Format: `exec_live_` followed by 40 alphanumeric characters.

````