Skip to main content

Sub-agents (@call)

Cognitive Modules supports inter-module calls via @call: directives in prompts.

@call Syntax

# Processing Flow
1. Analyze user requirements
2. Call UI spec generator:
@call:ui-spec-generator($ARGUMENTS)
3. Integrate results

Call Forms

SyntaxDescription
@call:module-namePass parent module input
@call:module-name($ARGUMENTS)Pass parent args string
@call:module-name(custom args)Pass custom args

context Configuration

In v2.2, use context in module.yaml:

name: parent-module
context: fork # fork | main (default)
  • fork: child runs with isolated context
  • main: child shares context with parent

How to Run

Sub-agent orchestration is available via the programmatic API:

import { runWithSubagents, loadModule, getProvider } from 'cognitive-modules-cli';

const provider = getProvider('openai', 'gpt-4o');
const result = await runWithSubagents('product-analyzer', provider, {
args: 'health product website'
});

The CLI run does not automatically resolve @call directives.

Execution Flow

Parent Prompt

Parse @call directives

Execute child modules

Inject results

Execute parent module

Limitations

LimitationValue
Max call depth5 levels
Circular callsAuto-detected and blocked
Child validationSkip input validation, keep output validation