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.Quick Start
How It Works
Skills use three levels of progressive disclosure:| Level | What Loads | Tokens |
|---|---|---|
| 1 — Metadata | Name + description (at startup) | ~100 |
| 2 — Instructions | Full SKILL.md body (when activated) | under 5,000 |
| 3 — Resources | Scripts, references, assets (on demand) | Variable |
SKILL.md Format
Each skill is a directory containing aSKILL.md file:
Required Fields
| Field | Constraints |
|---|---|
name | 1–64 chars, lowercase, hyphens only, matches directory name |
description | 1–1024 chars — tells the agent when to use this skill |
Optional Fields
| Field | Description |
|---|---|
license | License identifier (e.g., Apache-2.0, MIT) |
compatibility | Compatibility notes (max 500 chars) |
metadata | Key-value map for custom properties |
allowed-tools | Space-delimited list of tools the skill requires |
Configuration Options
SkillsConfig SDK Reference
Full parameter reference for SkillsConfig
| Option | Type | Default | Description |
|---|---|---|---|
paths | List[str] | [] | Direct skill directory paths to load |
dirs | List[str] | [] | Directories to scan for skill subdirectories |
auto_discover | bool | False | Auto-discover from default locations (~/.praisonai/skills/, etc.) |
Default Discovery Locations
Skills auto-discovered (in order of precedence):./.praisonai/skills/or./.claude/skills/~/.praisonai/skills//etc/praison/skills/
Common Patterns
Single Skill
Multiple Skills from Directory
Creating a SKILL.md
SKILL.md you can fill in.
Best Practices
Write trigger-aware descriptions
Write trigger-aware descriptions
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”.Keep instructions focused
Keep instructions focused
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.
Put heavy content in resources
Put heavy content in resources
Reference documentation, example data, and large scripts belong in
references/ or scripts/ (Level 3). They load only when explicitly needed, keeping context lean.Match directory name to skill name
Match directory name to skill name
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.
bundles/backend-dev.yaml in your skills directory to define the bundle:
Related
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

