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

NameTypeRequiredDescription
workspace_idUUIDNoIf 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

NameTypeRequiredDescription
slugstringYesSkill slug

Query Parameters

NameTypeRequiredDescription
workspace_idUUIDNoFor checking install status

List Workspace Skills

GET /api/skills/workspace

List all installed skills for a workspace.

Query Parameters

NameTypeRequiredDescription
workspace_idUUIDYesWorkspace 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

NameTypeRequiredDescription
slugstringYesSkill slug to install

Request Body

NameTypeRequiredDescription
workspace_idUUIDYesTarget workspace

Uninstall Skill

DELETE /api/skills/install/{slug}

Uninstall a skill from a workspace.

Path Parameters

NameTypeRequiredDescription
slugstringYesSkill slug

Query Parameters

NameTypeRequiredDescription
workspace_idUUIDYesWorkspace ID

Update Installed Skill

PATCH /api/skills/install/{slug}

Toggle enabled state or update config for an installed skill.

Request Body

NameTypeRequiredDescription
workspace_idUUIDYesWorkspace ID
is_enabledbooleanNoEnable or disable the skill
configobjectNoSkill-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

NameTypeRequiredDescription
workspace_idUUIDYesAuthoring workspace
slugstringYesUnique slug (URL-safe)
namestringYesDisplay name
descriptionstringYesShort description
instructions_mdstringYesMarkdown instructions for the AI agent
categorystringNoSkill category
iconstringNoIcon identifier
trigger_keywordsstring[]NoKeywords 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

NameTypeRequiredDescription
workspace_idUUIDYesWorkspace ID (must be the author)
namestringNoUpdated name
descriptionstringNoUpdated description
instructions_mdstringNoUpdated instructions
categorystringNoUpdated category
iconstringNoUpdated icon
trigger_keywordsstring[]NoUpdated keywords

Delete Custom Skill

DELETE /api/skills/custom/{slug}

Delete a custom skill owned by the workspace.

Query Parameters

NameTypeRequiredDescription
workspace_idUUIDYesWorkspace 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

NameTypeRequiredDescription
slugstringYesSkill slug

Request Body

NameTypeRequiredDescription
workspace_idUUIDYesWorkspace ID
ratingintegerYesRating (1-5)
feedback_textstringNoOptional 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:

FieldTypeDescription
sample_output_mdstringExample Markdown output showing what the skill produces
output_template_mdstringStructured template the agent follows when producing output
usage_countintegerTotal installations across all workspaces
versionstringSemantic version of the skill

Was this helpful?