Register a skill source
Register an org-level GitHub skill source. The numeric repository identity is resolved server-side (org installation first, then a public read), so no client needs to know it; githubRepoId in the body only overrides that lookup. A private repository is accepted when the org GitHub App installation covers its owner: the row is marked private and daemons acquire it with a read-only installation token minted for every agent that enables the source. A repository that cannot be identified is rejected — 400 when GitHub says it does not exist, 503 while GitHub is unreachable — rather than persisted as a row the projection would silently drop. The daemon acquires a bounded local snapshot; the remote source is never passed to the CLI. skills empty ⇒ install every skill the snapshot exposes. Rejected with 409 while any agent already enables skills under the requested source name — agents bind by name, so a new source must not silently capture existing selections.
Authorization
bearerAuth In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/orgs/string/skill-sources" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "source": "string" }'{ "id": "string", "name": "string", "source": "string", "githubRepoId": "string", "ref": "string", "subDir": "string", "skills": [ "string" ], "private": true, "visibility": "string", "sharedWith": [ "string" ], "createdBy": "string", "canEdit": true, "canManageSharing": true, "createdAt": "string"}