On this page
- Overview
- List Skill Library
- Query Parameters
- Response (200 OK)
- Get Skill Detail
- Path Parameters
- Query Parameters
- List Workspace Skills
- Query Parameters
- Response (200 OK)
- Install Skill
- Path Parameters
- Request Body
- Uninstall Skill
- Path Parameters
- Query Parameters
- Update Installed Skill
- Request Body
- Create Custom Skill
- Request Body
- Response (200 OK)
- Update Custom Skill
- Request Body
- Delete Custom Skill
- Query Parameters
- Response (200 OK)
- Submit Skill Feedback
- Path Parameters
- Request Body
- Response (200 OK)
- Additional Skill Fields
Skills
Browse the skill library, install/uninstall skills, and manage custom skills.
Overview
Skills extend the Praxiom AI copilot with specialized capabilities. Official skills are curated by the Praxiom team, while custom skills can be authored by workspaces (requires the has_custom_skills plan feature).
List Skill Library
GET /api/skills/library
List all official skills. Optionally marks which ones are installed in a workspace.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | No | If provided, is_installed is set for each skill |
Response (200 OK)
[
{
"id": "f6a7b8c9-d0e1-2345-fabc-678901234567",
"slug": "competitive-analysis",
"name": "Competitive Analysis",
"description": "Analyse competitors and market positioning",
"category": "research",
"icon": "search",
"is_official": true,
"trigger_keywords": ["competitor", "market analysis"],
"usage_count": 1250,
"version": "1.0.0",
"is_installed": true
}
]
Get Skill Detail
GET /api/skills/library/{slug}
Get full detail for a single skill by slug.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | Skill slug |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | No | For checking install status |
List Workspace Skills
GET /api/skills/workspace
List all installed skills for a workspace.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | Yes | Workspace ID |
Response (200 OK)
[
{
"id": "a1b2c3d4-...",
"skill": { ... },
"is_enabled": true,
"config": {},
"installed_at": "2026-03-27T10:00:00Z",
"last_used_at": null
}
]
Install Skill
POST /api/skills/install/{slug}
Install an official skill into a workspace. Requires: has_skills plan feature.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | Skill slug to install |
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | Yes | Target workspace |
Uninstall Skill
DELETE /api/skills/install/{slug}
Uninstall a skill from a workspace.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | Skill slug |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | Yes | Workspace ID |
Update Installed Skill
PATCH /api/skills/install/{slug}
Toggle enabled state or update config for an installed skill.
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | Yes | Workspace ID |
is_enabled | boolean | No | Enable or disable the skill |
config | object | No | Skill-specific configuration |
Create Custom Skill
POST /api/skills/custom
Create a custom skill authored by the workspace. Requires: has_custom_skills plan feature. Subject to max_custom_skills plan limit.
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | Yes | Authoring workspace |
slug | string | Yes | Unique slug (URL-safe) |
name | string | Yes | Display name |
description | string | Yes | Short description |
instructions_md | string | Yes | Markdown instructions for the AI agent |
category | string | No | Skill category |
icon | string | No | Icon identifier |
trigger_keywords | string[] | No | Keywords that activate this skill |
Response (200 OK)
Returns the created skill detail. The skill is automatically installed in the authoring workspace.
Update Custom Skill
PUT /api/skills/custom/{slug}
Update a custom skill owned by the workspace.
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | Yes | Workspace ID (must be the author) |
name | string | No | Updated name |
description | string | No | Updated description |
instructions_md | string | No | Updated instructions |
category | string | No | Updated category |
icon | string | No | Updated icon |
trigger_keywords | string[] | No | Updated keywords |
Delete Custom Skill
DELETE /api/skills/custom/{slug}
Delete a custom skill owned by the workspace.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | Yes | Workspace ID (must be the author) |
Response (200 OK)
{"status": "ok", "slug": "my-custom-skill"}
Submit Skill Feedback
POST /api/skills/{slug}/feedback
Rate a skill's execution quality. Feedback is stored per-user and per-workspace.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | Skill slug |
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
workspace_id | UUID | Yes | Workspace ID |
rating | integer | Yes | Rating (1-5) |
feedback_text | string | No | Optional written feedback |
Response (200 OK)
{
"id": "a1b2c3d4-...",
"skill_slug": "competitive-analysis",
"rating": 4,
"feedback_text": "Good analysis but missed Asian market",
"created_at": "2026-03-27T14:00:00Z"
}
Additional Skill Fields
The following fields are available on skill detail responses:
| Field | Type | Description |
|---|---|---|
sample_output_md | string | Example Markdown output showing what the skill produces |
output_template_md | string | Structured template the agent follows when producing output |
usage_count | integer | Total installations across all workspaces |
version | string | Semantic version of the skill |
Was this helpful?