agent-swarm.devagent-swarm.dev

Skills

Install, publish, and manage skills — reusable agent behaviors and tool sets

GET
/api/agents/{id}/skills

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string

Response Body

application/json

curl -X GET "http://localhost:3013/api/agents/string/skills"
{
  "skills": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "content": "string",
      "type": "remote",
      "scope": "global",
      "ownerAgentId": "string",
      "sourceUrl": "string",
      "sourceRepo": "string",
      "sourcePath": "string",
      "sourceBranch": "string",
      "sourceHash": "string",
      "isComplex": true,
      "allowedTools": "string",
      "model": "string",
      "effort": "string",
      "context": "string",
      "agent": "string",
      "disableModelInvocation": true,
      "userInvocable": true,
      "version": 0,
      "isEnabled": true,
      "systemDefault": true,
      "createdAt": "string",
      "lastUpdatedAt": "string",
      "lastFetchedAt": "string",
      "isActive": true,
      "installedAt": "string"
    }
  ],
  "total": 0,
  "signature": "string"
}
GET
/api/agents/{id}/skills/signature

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string

Response Body

application/json

curl -X GET "http://localhost:3013/api/agents/string/skills/signature"
{
  "hash": "string",
  "count": 0,
  "generatedAt": "string"
}
GET
/api/skills

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Query Parameters

type?string
scope?string
agentId?string
enabled?string
search?string
fields?string
Value in"full" | "slim"

Response Body

application/json

curl -X GET "http://localhost:3013/api/skills"
{
  "skills": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "content": "string",
      "type": "remote",
      "scope": "global",
      "ownerAgentId": "string",
      "sourceUrl": "string",
      "sourceRepo": "string",
      "sourcePath": "string",
      "sourceBranch": "string",
      "sourceHash": "string",
      "isComplex": true,
      "allowedTools": "string",
      "model": "string",
      "effort": "string",
      "context": "string",
      "agent": "string",
      "disableModelInvocation": true,
      "userInvocable": true,
      "version": 0,
      "isEnabled": true,
      "systemDefault": true,
      "createdAt": "string",
      "lastUpdatedAt": "string",
      "lastFetchedAt": "string"
    }
  ],
  "total": 0
}
POST
/api/skills

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "http://localhost:3013/api/skills" \  -H "Content-Type: application/json" \  -d '{    "content": "string"  }'
{
  "skill": {
    "id": "string",
    "name": "string",
    "description": "string",
    "content": "string",
    "type": "remote",
    "scope": "global",
    "ownerAgentId": "string",
    "sourceUrl": "string",
    "sourceRepo": "string",
    "sourcePath": "string",
    "sourceBranch": "string",
    "sourceHash": "string",
    "isComplex": true,
    "allowedTools": "string",
    "model": "string",
    "effort": "string",
    "context": "string",
    "agent": "string",
    "disableModelInvocation": true,
    "userInvocable": true,
    "version": 0,
    "isEnabled": true,
    "systemDefault": true,
    "createdAt": "string",
    "lastUpdatedAt": "string",
    "lastFetchedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
DELETE
/api/skills/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string

Response Body

application/json

application/json

application/json

curl -X DELETE "http://localhost:3013/api/skills/string"
{
  "success": true
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
GET
/api/skills/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string

Response Body

application/json

application/json

curl -X GET "http://localhost:3013/api/skills/string"
{
  "id": "string",
  "name": "string",
  "description": "string",
  "content": "string",
  "type": "remote",
  "scope": "global",
  "ownerAgentId": "string",
  "sourceUrl": "string",
  "sourceRepo": "string",
  "sourcePath": "string",
  "sourceBranch": "string",
  "sourceHash": "string",
  "isComplex": true,
  "allowedTools": "string",
  "model": "string",
  "effort": "string",
  "context": "string",
  "agent": "string",
  "disableModelInvocation": true,
  "userInvocable": true,
  "version": 0,
  "isEnabled": true,
  "systemDefault": true,
  "createdAt": "string",
  "lastUpdatedAt": "string",
  "lastFetchedAt": "string"
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
PUT
/api/skills/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

[key: string]?unknown

Response Body

application/json

application/json

application/json

curl -X PUT "http://localhost:3013/api/skills/string" \  -H "Content-Type: application/json" \  -d '{    "property1": null,    "property2": null  }'
{
  "skill": {
    "id": "string",
    "name": "string",
    "description": "string",
    "content": "string",
    "type": "remote",
    "scope": "global",
    "ownerAgentId": "string",
    "sourceUrl": "string",
    "sourceRepo": "string",
    "sourcePath": "string",
    "sourceBranch": "string",
    "sourceHash": "string",
    "isComplex": true,
    "allowedTools": "string",
    "model": "string",
    "effort": "string",
    "context": "string",
    "agent": "string",
    "disableModelInvocation": true,
    "userInvocable": true,
    "version": 0,
    "isEnabled": true,
    "systemDefault": true,
    "createdAt": "string",
    "lastUpdatedAt": "string",
    "lastFetchedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
GET
/api/skills/{id}/files

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string

Response Body

application/json

application/json

curl -X GET "http://localhost:3013/api/skills/string/files"
{
  "files": [
    {
      "id": "string",
      "skillId": "string",
      "path": "string",
      "mimeType": "string",
      "isBinary": true,
      "size": 0,
      "createdAt": "string",
      "lastUpdatedAt": "string"
    }
  ],
  "total": 0
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
POST
/api/skills/{id}/files

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "http://localhost:3013/api/skills/string/files" \  -H "Content-Type: application/json" \  -d '{    "files": [      {        "content": "string",        "path": "string"      }    ]  }'
{
  "files": [
    {
      "id": "string",
      "skillId": "string",
      "path": "string",
      "content": "string",
      "mimeType": "string",
      "isBinary": true,
      "size": 0,
      "createdAt": "string",
      "lastUpdatedAt": "string"
    }
  ],
  "total": 0,
  "skill": {
    "id": "string",
    "name": "string",
    "description": "string",
    "content": "string",
    "type": "remote",
    "scope": "global",
    "ownerAgentId": "string",
    "sourceUrl": "string",
    "sourceRepo": "string",
    "sourcePath": "string",
    "sourceBranch": "string",
    "sourceHash": "string",
    "isComplex": true,
    "allowedTools": "string",
    "model": "string",
    "effort": "string",
    "context": "string",
    "agent": "string",
    "disableModelInvocation": true,
    "userInvocable": true,
    "version": 0,
    "isEnabled": true,
    "systemDefault": true,
    "createdAt": "string",
    "lastUpdatedAt": "string",
    "lastFetchedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
DELETE
/api/skills/{id}/files/{path}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
path*string

Response Body

application/json

application/json

curl -X DELETE "http://localhost:3013/api/skills/string/files/string"
{
  "success": true,
  "skill": {
    "id": "string",
    "name": "string",
    "description": "string",
    "content": "string",
    "type": "remote",
    "scope": "global",
    "ownerAgentId": "string",
    "sourceUrl": "string",
    "sourceRepo": "string",
    "sourcePath": "string",
    "sourceBranch": "string",
    "sourceHash": "string",
    "isComplex": true,
    "allowedTools": "string",
    "model": "string",
    "effort": "string",
    "context": "string",
    "agent": "string",
    "disableModelInvocation": true,
    "userInvocable": true,
    "version": 0,
    "isEnabled": true,
    "systemDefault": true,
    "createdAt": "string",
    "lastUpdatedAt": "string",
    "lastFetchedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
GET
/api/skills/{id}/files/{path}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
path*string

Response Body

application/json

application/json

curl -X GET "http://localhost:3013/api/skills/string/files/string"
{
  "file": {
    "id": "string",
    "skillId": "string",
    "path": "string",
    "content": "string",
    "mimeType": "string",
    "isBinary": true,
    "size": 0,
    "createdAt": "string",
    "lastUpdatedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
PUT
/api/skills/{id}/files/{path}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
path*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PUT "http://localhost:3013/api/skills/string/files/string" \  -H "Content-Type: application/json" \  -d '{    "content": "string"  }'
{
  "file": {
    "id": "string",
    "skillId": "string",
    "path": "string",
    "content": "string",
    "mimeType": "string",
    "isBinary": true,
    "size": 0,
    "createdAt": "string",
    "lastUpdatedAt": "string"
  },
  "skill": {
    "id": "string",
    "name": "string",
    "description": "string",
    "content": "string",
    "type": "remote",
    "scope": "global",
    "ownerAgentId": "string",
    "sourceUrl": "string",
    "sourceRepo": "string",
    "sourcePath": "string",
    "sourceBranch": "string",
    "sourceHash": "string",
    "isComplex": true,
    "allowedTools": "string",
    "model": "string",
    "effort": "string",
    "context": "string",
    "agent": "string",
    "disableModelInvocation": true,
    "userInvocable": true,
    "version": 0,
    "isEnabled": true,
    "systemDefault": true,
    "createdAt": "string",
    "lastUpdatedAt": "string",
    "lastFetchedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
POST
/api/skills/{id}/install

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

agentId*string

Response Body

application/json

application/json

curl -X POST "http://localhost:3013/api/skills/string/install" \  -H "Content-Type: application/json" \  -d '{    "agentId": "string"  }'
{
  "agentSkill": {
    "id": "string",
    "agentId": "string",
    "skillId": "string",
    "isActive": true,
    "installedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
DELETE
/api/skills/{id}/install/{agentId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

id*string
agentId*string

Response Body

application/json

curl -X DELETE "http://localhost:3013/api/skills/string/install/string"
{
  "success": true
}
POST
/api/skills/install-remote

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "http://localhost:3013/api/skills/install-remote" \  -H "Content-Type: application/json" \  -d '{    "sourceRepo": "string"  }'
{
  "skill": {
    "id": "string",
    "name": "string",
    "description": "string",
    "content": "string",
    "type": "remote",
    "scope": "global",
    "ownerAgentId": "string",
    "sourceUrl": "string",
    "sourceRepo": "string",
    "sourcePath": "string",
    "sourceBranch": "string",
    "sourceHash": "string",
    "isComplex": true,
    "allowedTools": "string",
    "model": "string",
    "effort": "string",
    "context": "string",
    "agent": "string",
    "disableModelInvocation": true,
    "userInvocable": true,
    "version": 0,
    "isEnabled": true,
    "systemDefault": true,
    "createdAt": "string",
    "lastUpdatedAt": "string",
    "lastFetchedAt": "string"
  }
}
{
  "error": "string",
  "property1": null,
  "property2": null
}
POST
/api/skills/sync-filesystem

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Response Body

application/json

curl -X POST "http://localhost:3013/api/skills/sync-filesystem"
{
  "synced": 0,
  "removed": 0,
  "errors": [
    "string"
  ],
  "message": "string"
}
POST
/api/skills/sync-remote

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "http://localhost:3013/api/skills/sync-remote" \  -H "Content-Type: application/json" \  -d '{}'
{
  "updated": 0,
  "checked": 0,
  "errors": [
    "string"
  ]
}