AgentConnect
Skill sources

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.

POST
/v1/orgs/{orgId}/skill-sources

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

orgId*string

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"}