# Skills

## get_skills

`TOOL get_skills`

Get list of skills for the authenticated user's organization

Authentication: no security requirement declared for this operation.

Parameters:

- `page` (argument, number, optional) - Page number for pagination
  Type: number
  
  Page number for pagination
  
  default: 1

- `limit` (argument, number, optional) - Number of items per page
  Type: number
  
  Number of items per page
  
  default: 10

- `search` (argument, string, optional) - Search term for skill name or description
  Type: string
  
  Search term for skill name or description

- `relations` (argument, array, optional) - Relations to include (e.g., ["employees"])
  Type: array
  
  Relations to include (e.g., ["employees"])
  
  Items:
    Type: string

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_skills",
    "arguments": {
        "page": 1,
        "limit": 10,
        "search": "string",
        "relations": [
          "string"
        ]
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_skills",
  "arguments": {
    "page": 1,
    "limit": 10,
    "search": "string",
    "relations": [
      "string"
    ]
  }
});
```

### Python

```python
result = await session.call_tool("get_skills", arguments={
  "page": 1,
  "limit": 10,
  "search": "string",
  "relations": [
    "string"
  ]
})
```


## get_skill

`TOOL get_skill`

Get a specific skill by ID

Authentication: no security requirement declared for this operation.

Parameters:

- `id` (argument, string, uuid, required) - The skill ID
  Type: string, uuid
  
  The skill ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `relations` (argument, array, optional) - Relations to include (e.g., ["employees"])
  Type: array
  
  Relations to include (e.g., ["employees"])
  
  Items:
    Type: string

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_skill",
    "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "relations": [
          "string"
        ]
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_skill",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "relations": [
      "string"
    ]
  }
});
```

### Python

```python
result = await session.call_tool("get_skill", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "relations": [
    "string"
  ]
})
```


## create_skill

`TOOL create_skill`

Create a new skill in the authenticated user's organization

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `skill_data` (required)
  Type: object
  
  The data for creating the skill
  
  - `name` (required)
    Type: string
    
    Skill name (required)
  
  - `description` (optional)
    Type: string
    
    Skill description
  
  - `color` (optional)
    Type: string
    
    Skill color

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_skill",
    "arguments": {
        "skill_data": {
          "name": "string",
          "description": "string",
          "color": "string"
        }
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "create_skill",
  "arguments": {
    "skill_data": {
      "name": "string",
      "description": "string",
      "color": "string"
    }
  }
});
```

### Python

```python
result = await session.call_tool("create_skill", arguments={
  "skill_data": {
    "name": "string",
    "description": "string",
    "color": "string"
  }
})
```


## update_skill

`TOOL update_skill`

Update an existing skill

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `id` (required)
  Type: string, uuid
  
  The skill ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `skill_data` (required)
  Type: object
  
  The data for updating the skill
  
  - `name` (optional)
    Type: string
    
    Skill name
  
  - `description` (optional)
    Type: string
    
    Skill description
  
  - `color` (optional)
    Type: string
    
    Skill color

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "update_skill",
    "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "skill_data": {
          "name": "string",
          "description": "string",
          "color": "string"
        }
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "update_skill",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "skill_data": {
      "name": "string",
      "description": "string",
      "color": "string"
    }
  }
});
```

### Python

```python
result = await session.call_tool("update_skill", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "skill_data": {
    "name": "string",
    "description": "string",
    "color": "string"
  }
})
```


## delete_skill

`TOOL delete_skill`

Delete a skill

Authentication: no security requirement declared for this operation.

Parameters:

- `id` (argument, string, uuid, required) - The skill ID
  Type: string, uuid
  
  The skill ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "delete_skill",
    "arguments": {
        "id": "550e8400-e29b-41d4-a716-446655440000"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "delete_skill",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000"
  }
});
```

### Python

```python
result = await session.call_tool("delete_skill", arguments={
  "id": "550e8400-e29b-41d4-a716-446655440000"
})
```


## assign_skill_to_employee

`TOOL assign_skill_to_employee`

Assign a skill to an employee

Authentication: no security requirement declared for this operation.

Parameters:

- `skillId` (argument, string, uuid, required) - The skill ID
  Type: string, uuid
  
  The skill ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `employeeId` (argument, string, uuid, required) - The employee ID
  Type: string, uuid
  
  The employee ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "assign_skill_to_employee",
    "arguments": {
        "skillId": "550e8400-e29b-41d4-a716-446655440000",
        "employeeId": "550e8400-e29b-41d4-a716-446655440000"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "assign_skill_to_employee",
  "arguments": {
    "skillId": "550e8400-e29b-41d4-a716-446655440000",
    "employeeId": "550e8400-e29b-41d4-a716-446655440000"
  }
});
```

### Python

```python
result = await session.call_tool("assign_skill_to_employee", arguments={
  "skillId": "550e8400-e29b-41d4-a716-446655440000",
  "employeeId": "550e8400-e29b-41d4-a716-446655440000"
})
```


## remove_skill_from_employee

`TOOL remove_skill_from_employee`

Remove a skill from an employee

Authentication: no security requirement declared for this operation.

Parameters:

- `skillId` (argument, string, uuid, required) - The skill ID
  Type: string, uuid
  
  The skill ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `employeeId` (argument, string, uuid, required) - The employee ID
  Type: string, uuid
  
  The employee ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "remove_skill_from_employee",
    "arguments": {
        "skillId": "550e8400-e29b-41d4-a716-446655440000",
        "employeeId": "550e8400-e29b-41d4-a716-446655440000"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "remove_skill_from_employee",
  "arguments": {
    "skillId": "550e8400-e29b-41d4-a716-446655440000",
    "employeeId": "550e8400-e29b-41d4-a716-446655440000"
  }
});
```

### Python

```python
result = await session.call_tool("remove_skill_from_employee", arguments={
  "skillId": "550e8400-e29b-41d4-a716-446655440000",
  "employeeId": "550e8400-e29b-41d4-a716-446655440000"
})
```


## get_skills_by_employee

`TOOL get_skills_by_employee`

Get skills assigned to a specific employee

Authentication: no security requirement declared for this operation.

Parameters:

- `employeeId` (argument, string, uuid, required) - The employee ID
  Type: string, uuid
  
  The employee ID
  
  pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

- `page` (argument, number, optional) - Page number for pagination
  Type: number
  
  Page number for pagination
  
  default: 1

- `limit` (argument, number, optional) - Number of items per page
  Type: number
  
  Number of items per page
  
  default: 10

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_skills_by_employee",
    "arguments": {
        "employeeId": "550e8400-e29b-41d4-a716-446655440000",
        "page": 1,
        "limit": 10
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_skills_by_employee",
  "arguments": {
    "employeeId": "550e8400-e29b-41d4-a716-446655440000",
    "page": 1,
    "limit": 10
  }
});
```

### Python

```python
result = await session.call_tool("get_skills_by_employee", arguments={
  "employeeId": "550e8400-e29b-41d4-a716-446655440000",
  "page": 1,
  "limit": 10
})
```


## search_skills

`TOOL search_skills`

Search skills by name or description

Authentication: no security requirement declared for this operation.

Parameters:

- `query` (argument, string, required) - Search query
  Type: string
  
  Search query

- `limit` (argument, number, optional) - Maximum number of results
  Type: number
  
  Maximum number of results
  
  default: 20

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_skills",
    "arguments": {
        "query": "string",
        "limit": 20
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "search_skills",
  "arguments": {
    "query": "string",
    "limit": 20
  }
});
```

### Python

```python
result = await session.call_tool("search_skills", arguments={
  "query": "string",
  "limit": 20
})
```


## bulk_create_skills

`TOOL bulk_create_skills`

Create multiple skills in bulk for the authenticated user's organization

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `skills` (required)
  Type: array
  
  Array of skill data to create
  
  Items:
    Type: object
    
    Skill data
    
    - `name` (required)
      Type: string
      
      Skill name (required)
    
    - `description` (optional)
      Type: string
      
      Skill description
    
    - `color` (optional)
      Type: string
      
      Skill color

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bulk_create_skills",
    "arguments": {
        "skills": [
          {
            "name": "string",
            "description": "string",
            "color": "string"
          }
        ]
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "bulk_create_skills",
  "arguments": {
    "skills": [
      {
        "name": "string",
        "description": "string",
        "color": "string"
      }
    ]
  }
});
```

### Python

```python
result = await session.call_tool("bulk_create_skills", arguments={
  "skills": [
    {
      "name": "string",
      "description": "string",
      "color": "string"
    }
  ]
})
```
