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).

At a Glance

Execution Systems

SystemCLIWhat RunsDeterministicNeeds API Key
Job Workflowspraisonai workflow runShell, Python, actions, agent stepsMostly ✅Only for agent steps
Agent Workflowspraisonai workflow runLLM agents collaborating
Hybrid Workflowspraisonai workflow runJob + multi-agent stepsMixed
Recipespraisonai recipe runLLM agents + lifecycle
Slash Commands/cmd in REPLHandler functions

Extension Systems

SystemScopeWhat It Provides
ToolsPer-agentCallable functions (@tool, BaseTool)
SkillsPer-agentDeclarative expertise (SKILL.md + prompts)
PluginsSystem-wideBundled tools + hooks + skills + recipes
Hooks & CallbacksSystem-wideLifecycle interception and notification

Execution Systems

1. Job Workflows

Ordered step execution mixing deterministic automation and AI agent steps. Discriminator: type: job in YAML | Engine: JobWorkflowExecutor 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)
type: job
name: smart-release
steps:
  - name: Build
    run: uv build
  - name: Generate changelog
    agent:
      role: Technical Writer
      prompt: Generate changelog
      model: gpt-4o-mini
    output_file: CHANGELOG.md
  - name: Quality check
    judge:
      input_file: CHANGELOG.md
      threshold: 8.0
      on_fail: warn
Key features: 3-tier action resolution, custom CLI flags, conditional steps, --dry-run, agent/judge/approve steps

2. Agent Workflows

LLM-powered agent pipelines — AI agents collaborate on tasks. Discriminator: No type field (default) | Engine: Agent Workflow Engine
topic: Research AI Trends
roles:
  researcher:
    role: AI Researcher
    goal: Find latest papers
    tools:
      - internet_search
praisonai workflow run research.yaml
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 Supports all job workflow step types plus:
  • workflow: — execute a named agent from the agents: block
  • parallel: — run multiple sub-steps concurrently
type: hybrid
agents:
  researcher:
    role: Research Analyst
    instructions: Provide concise findings
steps:
  - name: Setup
    run: echo "Starting..."
  - name: Research
    workflow:
      agent: researcher
      action: Research best practices
  - name: Parallel checks
    parallel:
      - run: echo "Lint passed"
      - run: echo "Tests passed"

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
praisonai recipe run support-reply --input '{"ticket_id": "T-123"}'
praisonai recipe judge run-abc123 --yaml agents.yaml
praisonai recipe optimize my-recipe --iterations 5
praisonai recipe pack my-recipe
praisonai recipe publish my-recipe.praison
praisonai recipe serve my-recipe
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)
from praisonaiagents import Agent
from praisonaiagents.tools import internet_search

agent = Agent(tools=[internet_search])
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
.praison/skills/
├── code-review/
│   └── SKILL.md
├── seo-expert/
│   └── SKILL.md
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
from praisonai import plugins
plugins.enable("slack")
# or via env: PRAISONAI_PLUGINS=slack,logging
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:
CategoryHooks
LifecycleON_INIT, ON_SHUTDOWN
AgentBEFORE_AGENT, AFTER_AGENT
LLMBEFORE_LLM, AFTER_LLM
ToolsBEFORE_TOOL, AFTER_TOOL
MessagesBEFORE_MESSAGE, AFTER_MESSAGE
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

Job WorkflowsHybridAgent WorkflowsRecipesToolsSkillsPluginsHooks
TypeExecutionExecutionExecutionExecutionExtensionExtensionExtensionExtension
AI-poweredOptionalN/AN/AN/AN/A
ScopeProject-localProject-localProject-localExternalPer-agentPer-agentSystem-wideSystem-wide
DeterministicMostly ✅MixedN/A

Distribution & Lifecycle

Job WorkflowsAgent WorkflowsRecipesToolsSkillsPlugins
Registry✅ (entry_points)✅ (pip)
pack/publish✅ (pip)
judge/optimize
HTTP serve
SBOM/audit
Versioned✅ (pip)✅ (pip)

Execution Model

Job WorkflowsHybridAgent WorkflowsRecipes
Dry-run
Agent stepsagent, judge, approve✅ (native)✅ (native)
Multi-agentworkflow:, parallel:
Streaming--stream
Background--background
Replayexport/replay

Extensibility

Job WorkflowsHybridAgent WorkflowsRecipes
Custom actions✅ YAML, file, built-in✅ (via job engine)
Custom tools✅ (agent steps)✅ Tool pluginstools.py
Conditionalsif: expressionsif:❌ (LLM decides)❌ (LLM decides)
CLI flags✅ Custom flags:
Env vars${{ env.X }}✅ via config
Variablesvars: + --var--var--var, --input

Decision Guide

If you want to…Use
Automate shell commands / CI/CDJob Workflow
Create reusable build actionsJob Workflow + Custom Actions
Mix shell + single AI agent in a pipelineJob Workflow (agent steps)
Add a quality gate to a pipelineJob Workflow (judge: step)
Mix shell + multi-agent collaborationHybrid Workflow
Run checks in parallelHybrid Workflow (parallel: step)
Orchestrate AI agents on a taskAgent Workflow
Share an AI workflow as a packageRecipe
Improve AI output iterativelyRecipe (judge/optimize)
Serve an AI workflow as an APIRecipe (serve)
Generate a job workflow from a promptpraisonai workflow auto --type job
Give an agent a new capabilityTool
Give an agent expertise / personalitySkill
Add logging / security / guardrailsHook
Bundle tools + skills + hooks for distributionPlugin
Quick interactive commandsSlash Command

Source Files

SystemCore ImplementationCLI
Job Workflowscli/features/job_workflow.pycli/commands/workflow.py
Hybrid Workflowscli/features/hybrid_workflow.pycli/commands/workflow.py
Agent Workflowscli/features/workflow.pycli/commands/workflow.py
Workflow Generationauto.py (JobWorkflowAutoGenerator)workflow auto --type job
Recipesrecipe/core.py + cli/features/recipe.pycli/commands/recipe.py
Toolspraisonaiagents/tools/Via agent config
Skillspraisonaiagents/skills/praisonai skill
Pluginspraisonaiagents/plugins/praisonai plugin
Hookspraisonaiagents/hooks/Programmatic
Slash CommandsIn-memory registry/cmd in REPL