Skip to main content
Agent Skills is an open standard for extending AI agent capabilities with specialized knowledge and workflows. PraisonAI Agents fully supports the Agent Skills specification, enabling agents to load and use modular capabilities through SKILL.md files.

Overview

Skills provide a way to give agents specialized knowledge and instructions without bloating the main system prompt. They use progressive disclosure to efficiently manage context:
  1. Level 1 - Metadata (~100 tokens): Name and description loaded at startup
  2. Level 2 - Instructions (<5000 tokens): Full SKILL.md body loaded when activated
  3. Level 3 - Resources (as needed): Scripts, references, and assets loaded on demand

CLI Commands

List Available Skills

List all discovered skills in the configured directories.
Output:

Learn a Skill from Sources

Distil a grounded SKILL.md from sources you describe (a repo, docs, PDFs, configs, or a URL). Uses the existing skill tools — no manual content authoring required.
This is distinct from praisonai memory learn (captures a recall note into the memory store — not a skill) and from self_improve (auto-curates from conversation, unprompted).

Validate a Skill

Validate that a skill directory conforms to the Agent Skills specification.
Output:
Error Output:

Create a New Skill

Create a new skill directory with AI-generated content (default) or from a template.
AI Generation Features:
  • Automatically generates comprehensive SKILL.md content based on description
  • Creates scripts/script.py with relevant Python code when needed
  • Falls back to template if no API key is available
  • Use --template flag to skip AI and use template only
Smart Script Generation (--script flag): When using --script, the generated scripts/script.py is tailored to the description: The SKILL.md automatically includes usage instructions for the generated script:
Generated Structure:
Generated SKILL.md:

Upload Skill to Anthropic

Upload a skill to Anthropic’s Skills API for use with Claude.
Requirements:
  • ANTHROPIC_API_KEY environment variable must be set
  • anthropic Python package must be installed
  • Skill must have a valid SKILL.md file
Output:

Generate Prompt XML

Generate the XML prompt block for skills, useful for system prompt injection.
Output:

Check Skills

Check all discovered skills for issues and validate their configurations:
Output:

Eligible Skills

List skills eligible for a specific task or capability:
Output:

Skill Discovery Locations

PraisonAI searches for skills in these locations (in order of precedence):
  1. Project: ./.praison/skills/ or ./.claude/skills/
  2. User: ~/.praisonai/skills/
  3. System: /etc/praison/skills/ (admin-managed)

Using Skills with Agents

Direct Skill Paths

Skill Discovery

Complete Example: CSV Analysis with Skills

Skills work automatically - the agent reads the SKILL.md, understands the instructions, and executes bundled scripts. No custom tools needed! Step 1: Create the skill
Step 2: Create test data
Step 3: Create app.py
Step 4: Run
How it works behind the scenes:
  1. Skill Discovery: When skills=["./csv-analyzer"] is set, the agent loads skill metadata
  2. Lazy Tool Injection: read_file and run_skill_script tools are added only when skills are accessed (zero performance impact when not used)
  3. System Prompt: Skills are injected into the system prompt with their descriptions, locations, and current working directory
  4. Path Resolution: The run_skill_script tool automatically resolves relative file paths (like data.csv) to absolute paths based on the working directory
  5. Progressive Disclosure: Agent reads SKILL.md only when the skill is relevant to the task
  6. Script Execution: Agent runs scripts from scripts/ directory using the modular skill_tools module
Skill Directory Structure:
SKILL.md Example:

CLI with Skills

SKILL.md Format

Required Fields

Optional Fields

Example SKILL.md

Directory Structure

Best Practices

  1. Clear Descriptions: Be specific about when to use the skill
  2. Structured Instructions: Use numbered steps for clarity
  3. Tool Requirements: List all required tools in allowed-tools
  4. Version Management: Use semantic versioning in metadata
  5. Documentation: Include examples in references/
  6. Testing: Validate skills before deployment

Compatibility

PraisonAI’s Agent Skills implementation follows the open standard, ensuring compatibility with:
  • Claude Code (.claude/skills/)
  • GitHub Copilot (.github/skills/)
  • Cursor (Agent Skills support)
  • OpenAI Codex CLI
PraisonAI supports both .praison/skills/ and .claude/skills/ for maximum compatibility.

Performance

Agent Skills are designed for zero performance impact when not in use:
  • Lazy Loading: Skills are only loaded when explicitly accessed
  • No Auto-discovery: Discovery runs only when requested
  • Minimal Memory: Skills not in use consume no memory
  • Progressive Disclosure: Only load what’s needed

Troubleshooting

Common Issues

  1. Skill not found
    • Check if skill directory is in discovery path
    • Verify SKILL.md exists in the skill directory
    • Use praisonai skills list --verbose to debug
  2. Validation errors
    • Ensure name uses only lowercase and hyphens
    • Check description length (1-1024 chars)
    • Verify YAML frontmatter is valid
  3. Skills not loading
    • Check file permissions on skill directories
    • Verify skill directory structure
    • Use praisonai skills validate to check compliance

Debug Commands

Examples

See the examples/skills/ directory for complete examples:
  • basic_skill_usage.py - Basic skill discovery and usage
  • custom_skill_example.py - Creating custom skills programmatically
  • pdf-processing/ - Example skill directory