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

# Add Skill Registry

> Adds a GitHub repository as a skill registry on the environment. Skills discovered in the repository are installed into workspaces at provisioning time.



## OpenAPI

````yaml /openapi.json post /v1/environments/{environmentId}/skills-registries
openapi: 3.1.0
info:
  title: Replica API
  version: 2.0.0
  description: >-
    The Replica API allows you to programmatically manage cloud workspaces for
    AI agents. Use this API to manage environments (the org-scoped primitive
    workspaces are created from — including variables, files, skills, MCPs, warm
    hooks, start hooks, and warm pools), create and manage replicas, send
    messages, manage chats, stream events, read connected repositories and
    repository sets, and configure automations.
servers:
  - url: https://api.tryreplicas.com
    description: Production API
security:
  - apiKey: []
tags:
  - name: Environments
    description: >-
      Manage environments — the primitive that workspaces are created from.
      Variables, files, skills, MCPs, warm-hooks, and warm-pools are all scoped
      to an environment. Every organization has a singleton Global environment
      whose values apply to every workspace. Personal environments are scoped to
      the authenticated user and can be standalone or source-backed by a team
      environment.
  - name: Repository
    description: >-
      Read repositories and repository sets connected to your organization.
      Repositories are the underlying GitHub-connection layer; bind them to an
      environment to use them in workspaces.
  - name: Replica
    description: Manage replicas (workspaces) for AI agents
  - name: Terminal
    description: Manage interactive terminal sessions in active workspaces
  - name: Preview
    description: Manage public preview URLs for workspace ports
  - name: Profile
    description: Read and update the authenticated user's profile
  - name: Credentials
    description: >-
      Manage coding-agent credentials for an organization or the authenticated
      user
  - name: Google Search Console
    description: >-
      Read Search Console properties, performance, sitemaps, and URL inspection
      results through a connected Google account
  - name: Slack
    description: Route Slack threads to Replicas workspaces
  - name: Automation
    description: >-
      Create and manage automations that trigger replicas on a schedule or in
      response to events
  - name: Downloads
    description: Download Replicas applications
  - name: Analytics
    description: >-
      Read aggregated activity and usage metrics for your organization: compute
      minutes, workspaces created by source, and pull request throughput over a
      time range.
  - name: Presence
    description: >-
      Read and report ephemeral member presence: who is online, where they are
      (environment or workspace), and whether they are typing. Presence is
      backed by short-lived keys rather than the database and broadcast to other
      members over the events stream.
paths:
  /v1/environments/{environmentId}/skills-registries:
    post:
      tags:
        - Environments
      summary: Add Skill Registry
      description: >-
        Adds a GitHub repository as a skill registry on the environment. Skills
        discovered in the repository are installed into workspaces at
        provisioning time.
      operationId: createEnvironmentSkillsRegistry
      parameters:
        - name: environmentId
          in: path
          required: true
          description: Environment UUID, or the literal string `global`.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: >-
                    GitHub repository URL (e.g.
                    https://github.com/org/skills-repo).
              required:
                - url
      responses:
        '200':
          description: Registry created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEnvironmentSkillsRegistryResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    CreateEnvironmentSkillsRegistryResponse:
      type: object
      properties:
        registry:
          $ref: '#/components/schemas/EnvironmentSkillsRegistry'
        repo_skills:
          type: array
          items:
            $ref: '#/components/schemas/RepoSkill'
        error:
          type:
            - string
            - 'null'
      required:
        - registry
        - repo_skills
        - error
    EnvironmentSkillsRegistry:
      type: object
      description: A GitHub repository registered as a skill registry on an environment.
      properties:
        id:
          type: string
          format: uuid
        organization_id:
          type: string
          format: uuid
        environment_id:
          type: string
          format: uuid
        name:
          type: string
        url:
          type: string
          format: uri
        repository_full_name:
          type: string
        default_branch:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
      required:
        - id
        - organization_id
        - environment_id
        - name
        - url
        - repository_full_name
        - default_branch
        - created_at
        - updated_at
    RepoSkill:
      type: object
      description: >-
        A skill/agent/command/prompt file discovered inside the environment's
        bound repo. Distinct from `EnvironmentSkill`: these are inferred live
        from the repo's git tree, are read-only, and have no DB row.
      properties:
        id:
          type: string
          description: Stable id, formed from the repository UUID and the in-repo path.
        repository_id:
          type: string
          format: uuid
        repository_full_name:
          type: string
          description: Repo's `owner/name` (denormalized for the UI).
        branch:
          type: string
          description: Default branch the file was resolved against.
        path:
          type: string
          description: Repo-relative path of the discovered file or skill directory.
        name:
          type: string
          description: >-
            Human-friendly name (from YAML frontmatter when present, otherwise
            the filename or directory).
        description:
          type:
            - string
            - 'null'
          description: Single-line description, populated from frontmatter when available.
        framework:
          $ref: '#/components/schemas/RepoSkillFramework'
        kind:
          type: string
          description: Sub-kind within the framework.
          enum:
            - skill
            - agent
            - command
            - prompt
            - plugin
        html_url:
          type: string
          format: uri
          description: Direct GitHub blob link.
      required:
        - id
        - repository_id
        - repository_full_name
        - branch
        - path
        - name
        - description
        - framework
        - kind
        - html_url
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        details:
          type:
            - string
            - 'null'
          description: Additional error details
      required:
        - error
    RepoSkillFramework:
      type: string
      description: Which AI tool owns the discovered file's on-disk convention.
      enum:
        - claude
        - codex
        - cursor
        - agents
  responses:
    BadRequest:
      description: Bad request - Missing or invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Conflict:
      description: >-
        Conflict - Resource already exists or operation conflicts with current
        state
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        API key authentication. Obtain your API key from the Replicas dashboard
        under Organization → Settings → API Keys.

````