Plugins
Plugins are custom code scripts that extend Kaizen's capabilities. Use them for tasks that require deterministic code execution: PDF generation, image processing, data transformation, API calls, and more.
Skills vs Plugins
Written in
Natural language
Code (Python, Node.js, etc.)
Best for
Agentic workflows, multi-step tasks
Deterministic operations, heavy computation
Self-improving
Yes, via memory
No, code is fixed until edited
Quality checked
Via guardrails
Via code pipeline (test + review)
Skills and plugins work together. A skill can reference a plugin for its code-heavy steps (e.g., a "Weather Dashboard" skill that calls a chart-generation plugin).
Supported Languages
Python
python3 (or python on Windows)
.py
Node.js
node
.js
TypeScript
npx tsx
.ts
Bash
bash
.sh
Ruby
ruby
.rb
Creating a Plugin
From the UI
Go to Plugins (
/plugins)Click Create Plugin
Choose a language, name, and description
Write your code in the Monaco editor
Define input parameters
Add dependencies if needed
From Chat
Ask the agent:
"Create a plugin that takes a CSV file and generates a bar chart as a PNG."
The agent will write the code, test it through the code pipeline (developer, execute, review), and register it as a tool.
Input / Output Contract
Plugins receive input as JSON and must output JSON to stdout.
Python
Node.js / TypeScript
File Output
If your plugin generates files, include a files array in the output. Kaizen will automatically track them as artifacts.
Input Parameters
Define input parameters in the plugin detail page. Each parameter has:
Name: Parameter key
Type: string, number, boolean, etc.
Description: What the parameter does
Required: Whether the parameter is mandatory
These generate a JSON Schema that the agent uses to validate inputs when calling the plugin.
Dependencies
Add package dependencies in the plugin detail page:
Python: Installed via
pip installNode.js / TypeScript: Installed via
npm installRuby: Installed via
gem install
Dependencies are installed in the plugin's directory, keeping them isolated from other plugins and the main project.
Code Pipeline
When a plugin is created or edited through chat, it goes through a quality pipeline:
Developer writes or patches the code
Syntax validation checks for errors before execution
Execute runs the plugin with test inputs
Review inspects the output (especially for visual content like images or HTML)
The pipeline runs up to 3 attempts. On attempt 2+, the developer uses patch mode for surgical edits rather than full rewrites.
Configuration
Timeout
60 seconds
Maximum execution time before the plugin is killed
Enabled
true
Whether the plugin is available as a tool
Storage
Plugins are stored on disk at workspace/plugins/{plugin-name}/ with the main script file and any dependencies. Plugin metadata (name, description, schema, config) is stored in the database.
Last updated