Skip to content

Write an Activity

Every activity uses this envelope:

schemaVersion: 2
kind: Activity
metadata:
name: shell_reference
spec:
type: shell
description: Run a narrow shell command.

Use JSON Schema-shaped input and output declarations.

input_schema_json:
type: object
properties: {}
output_schema_json:
type: object
properties:
status:
type: string

For a shell activity, declare a program allowlist:

program: echo
args: [hello, v2]
allowed_programs: [echo]
timeout_seconds: 10
expected_exit_codes: [0]

For an agent loop, declare instruction, tools, provider, and backend. v1 supports backend: cli only:

type: agent_loop
instruction: Review the current diff and report risks.
tools:
- orbit.task.show
- orbit.graph.search
provider: claude
backend: cli
max_iterations: 25

backend: http is wired in code for v2 but is not part of the v1 release surface — do not pin it in shipped activity assets.

Terminal window
orbit activity list
orbit job run path/to/job.yaml --input key=value