Skip to main content
PraisonAI has 9 distinct systems across two categories: Execution Systems (things that run) and Extension Systems (things that extend agent capabilities).
The user picks a workflow or extension; each system attaches jobs, recipes, tools, or hooks to the same agent core.

How It Works

Quick Start

1

Run an agent workflow

The default execution path — one agent, one prompt:
2

Run a job workflow from YAML

Mix shell steps and agent steps in a deterministic pipeline:

At a Glance

Execution Systems

Extension Systems


Execution Systems

1. Job Workflows

Ordered step execution mixing deterministic automation and AI agent steps. Discriminator: type: job in YAML | Engine: JobWorkflowExecutor Routing: Honored by both the CLI (praisonai workflow run ...) and the programmatic wrapper (AgentsGenerator.generate_crew_and_kickoff() / .agenerate_crew_and_kickoff()) Deterministic steps: run: (shell), python: (script), script: (inline Python), action: (custom/built-in) Agent-centric steps: agent: (AI agent), judge: (quality gate), approve: (approval gate)
Key features: 3-tier action resolution, custom CLI flags, conditional steps, --dry-run, agent/judge/approve steps

Job Workflows

Step types, agent steps, flags, conditionals

Custom Actions

YAML-defined, file-based, and built-in actions

2. Agent Workflows

LLM-powered agent pipelines — AI agents collaborate on tasks. Discriminator: No type field (default) | Engine: Agent Workflow Engine
Key features: Agents with roles/goals/backstories, tool integration, multi-agent collaboration, non-deterministic

Agent Workflows

Agent definitions, tasks, process types

2.5. Hybrid Workflows

Combines job workflow steps (deterministic + agent) with multi-agent collaboration steps. Discriminator: type: hybrid in YAML | Engine: HybridWorkflowExecutor Routing: Honored by both the CLI (praisonai workflow run ...) and the programmatic wrapper (AgentsGenerator.generate_crew_and_kickoff() / .agenerate_crew_and_kickoff()) Supports all job workflow step types plus:
  • workflow: — execute a named agent from the agents: block
  • parallel: — run multiple sub-steps concurrently

Hybrid Workflows

Multi-agent + deterministic steps in one pipeline

3. Recipes

Packaged, distributable agent workflows with full lifecycle management. CLI: praisonai recipe (separate command group) | Engine: recipe.run() Discovery (5-tier): $PRAISONAI_RECIPE_PATH./recipes/~/.praison/recipes/agent_recipes pip package → built-in
Key features: pack/publish/pull/install, judge/optimize/apply lifecycle, policy packs, SBOM/audit, HTTP serving, trace replay

Recipes

Recipe structure, lifecycle, governance

4. Slash Commands

Interactive commands in the PraisonAI REPL. User types /cmd — no YAML, no CLI invocation outside REPL.

Extension Systems

5. Tools

Functional actions that agents call to interact with the outside world. Scope: Per-agent | Discovery: Lazy-loaded via praisonaiagents.tools.registry.py entry points Implementation options:
  • Function-based: @tool decorated functions
  • Class-based: BaseTool or Pydantic classes for stateful operations
  • External packages: Pip packages discovered via entry_points (praisonaiagents.tools group)
Key distinction: Tools are procedural — Python code that does something.

Tools Guide

Built-in tools, custom tools, tool classes

6. Skills

Declarative expertise modules — reusable prompts and knowledge. Scope: Per-agent | Standard: Agent Skills (agentskills.io) | CLI: praisonai skill list/install/validate
Key distinction: Skills are declarativeSKILL.md + prompt templates, not code.
Skills can be generated autonomously using the Identify-Scrape-Synthesize (ISS) pattern.

7. Plugins

System-wide extension bundles — the marketplace unit. Scope: System-wide | Manager: PluginManager (global registry + discovery) | Location: .praison/plugins/, pip packages A plugin can bundle:
  • Tools — adds new agent actions
  • Skills — adds agent expertise templates
  • Recipes — adds pre-defined agent teams
  • Hooks — adds logging, security, monitoring
  • Integrations — connects to Slack, Telegram, APIs
Key distinction: Plugins are containers — they deliver tools, skills, hooks, and recipes as a single installable unit.

8. Hooks & Callbacks

Lifecycle interception (hooks) and notification (callbacks). Hooks — middleware functions that can modify agent requests/responses: Use for: Retries, caching, request modification, guardrails. Callbacks — simple functions called after a Task completes. Cannot modify execution flow. Use for: Logging, database updates, alerting.

How They Relate


Master Comparison

Identity & Scope

Distribution & Lifecycle

Execution Model

Extensibility


Decision Guide


Best Practices

For a single AI task, use an Agent in Python or a YAML agent workflow — no job steps required.
When you need shell commands, conditionals, or quality gates, choose a job workflow with run:, agent:, or judge: steps.
Share workflows externally with praisonai recipe pack — includes lifecycle tools like judge and optimize.
Add capabilities via Tools and Skills on the agent; use Plugins when bundling tools, hooks, and recipes for install.

Agent Execution Configuration

Control per-agent execution limits with ExecutionConfig:

ExecutionConfig SDK Reference

Full parameter reference for ExecutionConfig
Precedence ladder:
max_steps is the unified outer-loop step budget honoured identically by both tool-execution loops. Detect truncation with agent.last_stop_reason == "max_steps". See Step Budget.
context_compaction defaults to False but will default to True in the next release. Explicitly set context_compaction=False to preserve current behavior.

Source Files


Job Workflows

Deterministic + agent-centric steps

Hybrid Workflows

Job + multi-agent in one pipeline