Skip to main content

Block Schema

Every action block includes an actionblock.yml configuration file that declares its name, entry point, and metadata.

Full schema

# actionblock.yml

name: break-task-into-jobs

description: >
Analyzes a task using LLM and breaks it into multiple implementation
sub-jobs. Each sub-job can be executed independently by a worker agent.

version: 1.0.0

entryPoint: dist/index.js

metadata:
author: Codebolt Team

tags:
- orchestrator
- task-breakdown
- llm-enhanced

dependencies:
- "@codebolt/codeboltjs"
- "@codebolt/types"

inputs:
- name: plan
type: object
required: true
description: |
The full action plan object for context:
- planId: string (required)
- name: string
- description: string
- tasks: array

- name: task
type: object
required: true
description: |
Single task to break into sub-jobs:
- taskId: string (required)
- name: string (required)
- description: string (required)

- name: existingJobs
type: array
required: false
description: Array of already created jobs for dependency analysis

outputs:
- name: success
type: boolean
description: Whether the task breakdown was successful

- name: subJobs
type: array
description: Array of sub-job definitions

- name: error
type: string
description: Error message if breakdown failed

Field reference

FieldRequiredDescription
nameYesUnique identifier for the action block
descriptionYesWhat the block does
versionYesSemver version string
entryPointYesPath to the compiled entry file (e.g. dist/index.js)
metadata.authorNoAuthor name
metadata.tagsNoTags for discovery and categorization
metadata.dependenciesNoNPM package dependencies
metadata.inputsNoArray of input parameter definitions (name, type, required, description)
metadata.outputsNoArray of output definitions (name, type, description)

Action block types

Action blocks are categorized by their source:

TypeDescription
filesystemLoaded from the local project directory
runtimeProvided at runtime
builtinShipped with Codebolt