Skip to main content
Use this pattern when a project has many assistants, specialists, tools, and workflows that need to be composed without duplicating responsibilities or creating routing ambiguity.

Concept

Reusable design in ABL starts with stable agent boundaries. A reusable agent owns a business capability, has a clear goal, accepts a predictable context package, and can be called from more than one supervisor or entry point. Do not make reuse mean “one giant shared agent.” Reuse works best when specialists are small enough to be reliable but broad enough to represent a durable business capability, such as product advice, order status, billing disputes, identity verification, or appointment scheduling. For tools, current validation rejects removed FROM ... USE tool import syntax in agent DSL. Keep agent files focused on agent behavior and manage tool implementations through project tools and deployment configuration.

Minimal working example

How it works

The supervisor is reusable because it routes to stable capability agents. The specialist agents are reusable because they describe their responsibility without depending on one specific entry point. The PASS fields are the integration contract between the supervisor and specialists. In a large project, keep the reusable boundary visible in three places: the agent goal, the routing condition, and the context package. If those three disagree, reuse becomes fragile. Since neither HANDOFF above declares HISTORY, each specialist now receives the full conversation history by default (the current platform default when HISTORY is omitted).

Common variations

Shared specialist agent

Use one specialist from several supervisors when the business capability is truly the same. For example, Order_Status_Agent can serve commerce chat, WhatsApp, and voice entry points if the required context is consistent.

Channel-specific wrapper

Use a thin channel-specific supervisor when routing or welcome behavior differs by channel, while the underlying specialists remain shared.

Project manifest composition

Use the project manifest to list the agents, entry agent, and project assets. Keep agent names stable because handoff targets depend on them.

Shared tool implementations

Manage reusable tool implementations in Project Tools. Agent DSL should declare behavior and use tools through validated current syntax; do not rely on removed FROM ... USE imports.

Verification

  • Validate the full project group, not only one agent file.
  • Confirm every handoff target exists in the same project.
  • Test each reusable specialist from every entry point that can route to it.
  • Confirm every PASS field has a source before handoff.
  • Inspect traces to prove the active agent changes to the intended specialist.

Production readiness checklist

  • Agent names are stable and unique.
  • Each reusable agent has one durable business capability.
  • Handoff context is minimal, explicit, and privacy-reviewed.
  • Shared specialists have tests from each supervisor or channel entry point.
  • Tool bindings and permissions are configured outside removed import syntax.
  • Ownership is clear for shared modules so one team does not break another team’s entry point.

Common mistakes

Troubleshooting