Skills

Extend the Praxiom AI agent with installable and custom skills.

Overview

Skills are modular capabilities that extend what the Praxiom AI agent can do. They work like plugins: browse the official library, install the ones you need, and the agent automatically gains new abilities. Power users can also create custom skills with their own instructions and trigger keywords.

How It Works

The Skill Library

Browse all available official skills with GET /api/skills/library.

Each skill has:

FieldDescription
slugUnique identifier (e.g. competitive-analysis)
nameDisplay name
descriptionWhat the skill does
categoryGrouping (e.g. research, writing, analysis)
iconVisual icon identifier
trigger_keywordsWords that activate this skill in conversation
versionSemantic version
usage_countHow many workspaces have used this skill
is_installedWhether it is installed in your workspace (pass workspace_id to check)

Get full detail for a single skill with GET /api/skills/library/{slug}, which also returns the instructions_md — the full Markdown instructions the agent follows when the skill is active.

Installing Skills

Install a skill into your workspace with POST /api/skills/install/{slug}:

{
  "workspace_id": "your-workspace-uuid"
}

Installing skills requires the has_skills feature on your plan. If your plan does not include skills, you receive a 403 response.

Once installed, the skill appears in your workspace skill list and the agent can use it.

Managing Installed Skills

OperationEndpointDescription
List installedGET /api/skills/workspace?workspace_id={id}All installed skills with config and status
Toggle/configurePATCH /api/skills/install/{slug}Enable/disable or update config
UninstallDELETE /api/skills/install/{slug}?workspace_id={id}Remove from workspace

Each installed skill tracks:

  • is_enabled — Whether it is currently active
  • config — Custom configuration (key-value pairs)
  • installed_at — When it was installed
  • last_used_at — When the agent last invoked it

Custom Skills

Create your own skills tailored to your team's workflows. Custom skills let you encode domain-specific instructions that the agent follows when triggered.

Create a Custom Skill

POST /api/skills/custom

{
  "workspace_id": "your-workspace-uuid",
  "slug": "our-prd-format",
  "name": "Our PRD Format",
  "description": "Drafts PRDs using our internal template",
  "instructions_md": "# PRD Format\n\nAlways include...",
  "category": "writing",
  "icon": "document",
  "trigger_keywords": ["our prd", "internal prd"]
}

Creating custom skills requires the has_custom_skills feature. The number of custom skills is capped by your plan (check max_custom_skills in your plan limits). Exceeding the cap returns 403 with code CUSTOM_SKILL_LIMIT_REACHED.

Custom skills are automatically installed in the authoring workspace.

Update and Delete

OperationEndpoint
UpdatePUT /api/skills/custom/{slug}
DeleteDELETE /api/skills/custom/{slug}?workspace_id={id}

Only the workspace that authored a custom skill can update or delete it.

Skill Feedback

Rate skill performance after execution to help improve skill quality:

POST /api/skills/{slug}/feedback

{
  "workspace_id": "your-workspace-uuid",
  "rating": 4,
  "feedback_text": "Great competitive analysis, but missed the Asian market"
}

Feedback is stored per-user and per-workspace. The aggregate ratings help surface the highest-quality skills in the library.

Skill Activation in Chat

When you send a message that matches a skill's trigger keywords, two things can happen:

  1. Installed skill — The agent activates the skill automatically. You see a skill_activated SSE event in the stream, and the agent follows the skill's instructions for that response.
  2. Not installed — The agent suggests the skill via a skill_suggestion banner. You can install it with one click and retry.

Skills are scored for relevance before activation using a workspace snapshot (current insights, recommendations, and documents). Only the highest-confidence match is activated per message.

Advanced Skill Features

Sample Output

Skills can include a sample_output_md field — example Markdown output that shows users what to expect before they install or trigger the skill.

Output Templates

The output_template_md field defines a structured template that the agent follows when producing output for the skill. This ensures consistent formatting across invocations.

Key Concepts

  • Trigger keywords let the agent automatically activate the right skill based on what you ask. For example, a skill with keywords ["competitive", "competitor"] activates when you say "Do a competitive analysis."
  • Skill instructions are Markdown documents that the agent follows as additional system-level guidance. They can include templates, formatting rules, checklists, and domain knowledge.
  • Slug uniqueness is enforced globally. If a slug is already taken, creation returns 409 with code SLUG_TAKEN.
  • Skill feedback lets you rate skill execution quality, helping surface the best skills in the library.

What's Next

Connect your external tools with the Integrations guide.

Was this helpful?