claude-code - 💡(How to fix) Fix API for organization-level skill management (CRUD) [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#49530Fetched 2026-04-17 08:38:31
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Timeline (top)
labeled ×3commented ×1

Code Example

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
RAW_BUFFERClick to expand / collapse

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

extent analysis

TL;DR

To manage organization-level skills programmatically, a new API surface under /v1/organizations/{org_id}/skills is needed, supporting create, update, delete operations with authentication via API key.

Guidance

  • The proposed API surface should include endpoints for creating, listing, getting, updating, and deleting org skills, such as POST /v1/organizations/{org_id}/skills, GET /v1/organizations/{org_id}/skills, GET /v1/organizations/{org_id}/skills/{id}, PUT /v1/organizations/{org_id}/skills/{id}, and DELETE /v1/organizations/{org_id}/skills/{id}.
  • These endpoints should be authenticated via Admin API key or a standard API key with appropriate scopes to ensure secure automation.
  • The API should support required skills that are enabled for all org members by default and make skills visible across all surfaces: chat, Cowork, and Claude Code.
  • To integrate with CI/CD workflows, the API should allow skills to be version-controlled in Git and auto-deployed on merge to main, using tools like GitHub Actions.

Example

A potential example of creating an org skill using the proposed API could be:

curl -X POST \
  https://api.claude.com/v1/organizations/{org_id}/skills \
  -H 'Authorization: Bearer sk-ant-admin-...' \
  -H 'Content-Type: multipart/form-data' \
  -F 'skill=@path/to/skill.md'

Notes

The implementation details of the proposed API, such as error handling and validation, are not specified in the issue and would need to be considered in the design and development of the API.

Recommendation

Apply workaround: Until the proposed API is implemented, teams may need to rely on manual updates through the admin UI or explore alternative automation methods that do not rely on the missing API functionality.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix API for organization-level skill management (CRUD) [1 comments, 2 participants]