Skip to content

Operations

Operations are atomic coding tasks with configurable executor backends.

Structure

FieldDescription
idUnique identifier
nameHuman-readable name
descriptionWhat this operation does
executorExecutor configuration
tagsCategorization labels

Executor Configuration

Agent Executor

Uses an AI agent (Claude or Codex) to execute the operation.

json
{
  "executor": {
    "type": "agent",
    "agentMode": "skill",
    "agent": "local-claude",
    "skillId": "my-skill",
    "allowedTools": ["Read", "Write", "Edit"]
  }
}
FieldDescription
type"agent"
agentMode"skill" (uses a skill) or "prompt" (direct prompt)
agent"local-claude" or "codex"
skillIdSkill ID to use (when agentMode: "skill")
promptDirect prompt text (when agentMode: "prompt")
allowedToolsTools the agent can use

Script Executor

Runs a custom script.

json
{
  "executor": {
    "type": "script",
    "command": "eslint --format json ."
  }
}

Creating an Operation

Via the REST API

sh
curl -X PUT http://localhost:9433/api/operations/lint-check \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Lint Check",
    "description": "Run linting on the input files",
    "executor": {
      "type": "agent",
      "agentMode": "prompt",
      "agent": "local-claude",
      "prompt": "Analyze the provided code for style issues."
    },
    "tags": ["lint", "quality"]
  }'

Agent Tools

When using agent executors, you can restrict which tools the agent has access to:

ToolDescription
ReadRead file contents
WriteWrite/create files
EditEdit existing files
GlobList files by pattern
GrepSearch file contents
BashExecute shell commands
MultiEditEdit multiple files

Released under the MIT License.