Skip to main content
Skills extend agents with specialised knowledge and instructions loaded on demand, keeping context lean until the skill is needed.
The user asks about a document; the agent loads the matching skill only when the task needs it.
Agent-created skills are staged for approval by default. When an agent calls skill_manage to create, edit, or delete a skill, the mutation is held in a pending store until a human approves it — disk is not touched. Reading and using existing skills is unaffected. See Skill Manage for the full approval gate docs.
Want to group several skills under one name? See Skill Bundles — a single @bundle selector expands to a full set of skills.
Want to generate a skill from your own repo or docs? See Learn a Skill from Sources — one command turns code/docs/PDFs into a grounded SKILL.md.
Graceful fallback for missing tools? Use fallback_for_tools in a skill’s frontmatter to offer the skill only when a real tool is absent. See Skill Fallback.

Quick Start

1

Simple Usage

Pass skill directory paths to skills:
2

With Configuration

Use SkillsConfig for auto-discovery from multiple directories:

How It Works

Skills use three levels of progressive disclosure:

SKILL.md Format

Each skill is a directory containing a SKILL.md file:

Required Fields

Optional Fields


Configuration Options

SkillsConfig SDK Reference

Full parameter reference for SkillsConfig
The most common options at a glance:

Default Discovery Locations

Skills auto-discovered (in order of precedence):
  1. ./.praisonai/skills/ or ./.claude/skills/
  2. ~/.praisonai/skills/
  3. /etc/praison/skills/

Common Patterns

Single Skill

Multiple Skills from Directory

Creating a SKILL.md

This creates the directory structure and template SKILL.md you can fill in.

Best Practices

The description field tells the agent when to activate the skill. Write it as a trigger sentence: “Use this skill when the user asks to process PDF files” — not just “Handles PDFs”.
Level 2 instructions inject into the agent’s context. Keep them under 5,000 tokens and focused on the specific task — don’t repeat general knowledge the LLM already has.
Reference documentation, example data, and large scripts belong in references/ or scripts/ (Level 3). They load only when explicitly needed, keeping context lean.
The directory name must exactly match the name field in SKILL.md. Use praisonai skills validate --path ./my-skill to catch mismatches before deploying.

Group Skills into Bundles

Bundle multiple skills into a named set and select them with a single @name selector.
Create a bundles/backend-dev.yaml in your skills directory to define the bundle:
See Skill Bundles for the full guide.

Skill Bundles

Group skills into named bundles and select with @name

Skill Invocation

Slash commands, argument substitution, and invocation policy

Skill Manage

Let agents create and edit skills with human approval

Skills vs Tools

When to use SKILL.md knowledge vs executable tools

Knowledge

Give agents access to documents and vector search