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)
--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: Notype field (default) | Engine: Agent Workflow Engine
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 theagents:blockparallel:— 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
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 viapraisonaiagents.tools.registry.py entry points
Implementation options:
- Function-based:
@tooldecorated functions - Class-based:
BaseToolor Pydantic classes for stateful operations - External packages: Pip packages discovered via
entry_points(praisonaiagents.toolsgroup)
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 declarative — SKILL.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
Start with Agent Workflows
Start with Agent Workflows
For a single AI task, use an
Agent in Python or a YAML agent workflow — no job steps required.Use Job Workflows for CI/CD
Use Job Workflows for CI/CD
When you need shell commands, conditionals, or quality gates, choose a job workflow with
run:, agent:, or judge: steps.Package with Recipes for distribution
Package with Recipes for distribution
Share workflows externally with
praisonai recipe pack — includes lifecycle tools like judge and optimize.Extend agents, not workflows
Extend agents, not workflows
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 withExecutionConfig:
ExecutionConfig SDK Reference
Full parameter reference for ExecutionConfig
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.
Source Files
Related
Job Workflows
Deterministic + agent-centric steps
Hybrid Workflows
Job + multi-agent in one pipeline

