Cellv0.2.5
Agent System

Agent System Prompt

Build composable, insurance-aware system prompts for conversational agents

Cell provides a modular prompt system for building insurance-aware conversational agents. Prompts are composed from independent modules that adapt to the platform and communication intent.

Quick start

import { buildAgentSystemPrompt } from "@claritylabs-inc/cell";
import type { AgentContext } from "@claritylabs-inc/cell";

const ctx: AgentContext = {
  platform: "email",
  intent: "direct",
  siteUrl: "https://app.example.com",
  companyName: "Acme Insurance",
  userName: "Jane Smith",
};

const systemPrompt = buildAgentSystemPrompt(ctx);
// Use with any LLM: pass as the system message

How it works

buildAgentSystemPrompt(ctx) composes all modules in order, filtering out any that return null:

Identity          → Who the agent is, company context
Company context   → Organization-specific information (if provided)
Intent            → Behavior rules for direct / mediated / observed
Formatting        → Platform-specific output rules
Safety            → Scope guardrails, anti-hallucination, prompt injection defense
Coverage gaps     → Gap detection guidance (null in some intents)
COI routing       → Certificate of insurance handling
Quotes/policies   → How to differentiate document types
Memory            → Cross-conversation continuity guidance

AgentContext

The context object drives all prompt composition:

interface AgentContext {
  platform: Platform;           // "email" | "chat" | "sms" | "slack" | "discord"
  intent: CommunicationIntent;  // "direct" | "mediated" | "observed"
  platformConfig?: PlatformConfig;
  companyName?: string;
  companyContext?: string;       // Organization-specific context string
  siteUrl: string;
  userName?: string;
  coiHandling?: "broker" | "user" | "member" | "ignore";
  brokerName?: string;
  brokerContactName?: string;
  brokerContactEmail?: string;
}

Individual modules

Each module is independently importable for custom prompt composition:

import {
  buildIdentityPrompt,
  buildSafetyPrompt,
  buildFormattingPrompt,
  buildCoverageGapPrompt,
  buildCoiRoutingPrompt,
  buildQuotesPoliciesPrompt,
  buildConversationMemoryGuidance,
  buildIntentPrompt,
} from "@claritylabs-inc/cell";

Custom composition

Build your own prompt from a subset of modules:

const customPrompt = [
  buildIdentityPrompt(ctx),
  buildSafetyPrompt(ctx),
  buildFormattingPrompt(ctx),
  // Skip coverage gaps, COI routing, etc.
].filter(Boolean).join("\n\n");

Document context

Build ranked document context for agent responses:

import { buildDocumentContext } from "@claritylabs-inc/cell";

const context = buildDocumentContext(documents, "What's my GL limit?");
// Returns policies/quotes ranked by relevance to the query

Conversation memory

Add conversation history context:

import { buildConversationMemoryContext } from "@claritylabs-inc/cell";

const memoryContext = buildConversationMemoryContext(previousConversations);

Intent classification

Classify incoming messages before routing to the agent:

import { buildClassifyMessagePrompt } from "@claritylabs-inc/cell";

const classificationPrompt = buildClassifyMessagePrompt("email");
// Returns a prompt that classifies whether a message is insurance-related
// and suggests an intent

On this page