API for organization-level skill management (CRUD)

Resolved 💬 3 comments Opened Apr 16, 2026 by alexwitherspoon Closed Apr 20, 2026

Problem

There's no programmatic way to manage organization-level skills in Claude Teams/Enterprise. The only path today is the admin UI at claude.ai/admin-settings/skills. This blocks CI/CD workflows where teams want to version-control skills in Git and auto-deploy on merge to main.

What we need

A public API (or extension of the existing /v1/skills beta) that supports:

  • Create/update/delete skills scoped to an organization (not just a workspace)
  • Skills deployed this way should be visible across all surfaces: chat, Cowork, and Claude Code
  • Support for required skills that are enabled for all org members by default (not opt-in)
  • Authentication via API key (not browser session), suitable for CI/CD automation

Use case

Our marketing team maintains brand voice skills in a GitHub repo. On PR merge to main, a GitHub Action should deploy updated skills to our entire org — no admin clicking required. Multiple teams across our company want this same pattern for their domain-specific skills.

The workflow we want:

  1. Team edits skills/<name>/SKILL.md in a GitHub repo
  2. PR review + CI validation on structure/frontmatter
  3. Merge to main triggers a GitHub Action
  4. Action calls the Skills API to create or update org-level skills
  5. All org members see the updated skills immediately across chat, Cowork, and Code

Current state

  • The public /v1/skills API (beta: skills-2025-10-02) is workspace-scoped and does not surface skills in the Claude UI for end users — only usable programmatically via the Messages API.
  • The admin UI at /admin-settings/skills has internal endpoints (upload-org-skill, delete-org-skill) but they use session cookie auth, making automation fragile and unsuitable for CI/CD.
  • There is no Admin API endpoint under /v1/organizations/ for skills.

Proposed API surface

At minimum:

POST   /v1/organizations/{org_id}/skills          — create an org skill (multipart, accepts .md or .zip)
GET    /v1/organizations/{org_id}/skills          — list org skills
GET    /v1/organizations/{org_id}/skills/{id}     — get a single skill
PUT    /v1/organizations/{org_id}/skills/{id}     — replace/update a skill
DELETE /v1/organizations/{org_id}/skills/{id}     — delete a skill

Authenticated via Admin API key (sk-ant-admin-...) or a standard API key with appropriate scopes.

Related

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗