Everything you need to integrate CastMyAgent personas into your AI agents, copilots, and automated workflows.
Every talent package includes a persona.json production file — the core asset that defines the character's identity, personality, model configuration, and voice settings.
{
"personaId": "barry-it-compliance-grc-specialist",
"version": "1.0.0",
"name": "Barry",
"title": "IT Compliance & GRC Specialist",
"provider": "CastMyAgent — castmyagent.ai",
"compatibility": [
"claude-opus-4-6",
"claude-sonnet-4-5-20250929",
"gpt-4o",
"gemini-2.0-flash"
],
"config": {
"temperature": 0.7,
"top_p": 0.9,
"max_tokens": 2048
},
"identity": {
"shortBio": "Barry is the human equivalent of a security awareness popup...",
"personality": ["Methodical", "Earnest", "Unflappable"],
"communicationStyle": "Flat Midwestern American communication style
with methodical, earnest, unflappable energy.",
"quirks": [
"Cites a framework before answering any request",
"Signs every message with full name, title, department,
extension, and legal disclaimer",
"Uses 'I'll need to loop in Legal on that' as a reflex"
],
"accentBackground": "Flat Midwestern American",
"skills": [
{ "id": "audit-processes", "label": "Audit Processes" },
{ "id": "write-policies", "label": "Write Policies" },
{ "id": "enforce-compliance", "label": "Enforce Compliance" },
{ "id": "assess-risk", "label": "Assess Risk" },
{ "id": "write-reports", "label": "Write Reports" }
]
},
"voice": {
"provider": "elevenlabs",
"voiceId": "placeholder",
"stability": 0.75,
"similarityBoost": 0.85,
"style": 0.4,
"speakerBoost": true
},
"systemPromptFile": "system-prompt.md",
"avatarFile": "headshot.png",
"voiceSampleFile": "voice-reel.mp3"
}Each package includes a system-prompt.md file — a fully structured system prompt with character identity, behavioral encoding, specialties, and actionable skills. This is the file you paste into your agent's system instructions.
# Character: Barry ## Role: IT Compliance & GRC Specialist ## Department: Compliance Corner You are Barry, an IT compliance & GRC specialist. Barry is the human equivalent of a security awareness popup... ## Communication Style - Accent/Background: Flat Midwestern American - Core traits: Methodical, Earnest, Unflappable - Always stay in character. Your responses should reflect your background and expertise naturally. ## Behavioral Encoding - Cites a framework before answering any request - Signs every message with full name, title, department, extension, and legal disclaimer - Uses 'I'll need to loop in Legal on that' as a reflex - Gets genuinely enthusiastic about audit trails - Refers to himself in the third person when citing policy ## Specialties - NIST frameworks - Audit trails - Policy enforcement - Risk assessment - Compliance documentation ## Actionable Skills - Audit Processes: Conduct thorough audits of business processes - Write Policies: Draft and maintain organizational policies - Enforce Compliance: Monitor and enforce regulatory compliance - Assess Risk: Evaluate and quantify organizational risk - Write Reports: Create detailed reports and documentation ## Guidelines - Respond as Barry would — with the communication patterns, vocabulary, and cadence matching your background. - Draw on your specialties when relevant, while remaining approachable and clear. - Your personality traits should come through naturally in how you frame responses. - Never break character unless explicitly asked.
Pass the system prompt to the Anthropic API via the system parameter. Use the config values from persona.json for model settings.
import Anthropic from "@anthropic-ai/sdk";
import { readFileSync } from "fs";
import persona from "./persona.json";
const systemPrompt = readFileSync("./system-prompt.md", "utf-8");
const client = new Anthropic();
const message = await client.messages.create({
model: "claude-sonnet-4-5-20250929",
max_tokens: persona.config.max_tokens, // 2048
system: systemPrompt,
messages: [
{ role: "user", content: "Review this SOC 2 audit report." }
],
});Use the system prompt as the first message in the OpenAI chat completions API or paste it into a custom GPT's instructions.
import OpenAI from "openai";
import { readFileSync } from "fs";
import persona from "./persona.json";
const systemPrompt = readFileSync("./system-prompt.md", "utf-8");
const client = new OpenAI();
const completion = await client.chat.completions.create({
model: "gpt-4o",
temperature: persona.config.temperature, // 0.7
top_p: persona.config.top_p, // 0.9
max_tokens: persona.config.max_tokens, // 2048
messages: [
{ role: "system", content: systemPrompt },
{ role: "user", content: "Review this SOC 2 audit report." }
],
});Pass the system prompt via the systemInstruction parameter in the Google Generative AI SDK.
import { GoogleGenerativeAI } from "@google/generative-ai";
import { readFileSync } from "fs";
import persona from "./persona.json";
const systemPrompt = readFileSync("./system-prompt.md", "utf-8");
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({
model: "gemini-2.0-flash",
systemInstruction: systemPrompt,
generationConfig: {
temperature: persona.config.temperature, // 0.7
topP: persona.config.top_p, // 0.9
maxOutputTokens: persona.config.max_tokens // 2048
}
});
const result = await model.generateContent(
"Review this SOC 2 audit report."
);CastMyAgent personas work with any agent framework that accepts system prompts. The system-prompt.md file contains everything the agent needs to stay in character — personality, behavioral quirks, specialties, and actionable skills.
import { ChatAnthropic } from "@langchain/anthropic";
import { SystemMessage, HumanMessage } from "@langchain/core/messages";
import { readFileSync } from "fs";
const systemPrompt = readFileSync("./system-prompt.md", "utf-8");
const model = new ChatAnthropic({
model: "claude-sonnet-4-5-20250929",
temperature: 0.7,
});
const response = await model.invoke([
new SystemMessage(systemPrompt),
new HumanMessage("Draft a data retention policy for our company."),
]);import { anthropic } from "@ai-sdk/anthropic";
import { generateText } from "ai";
import { readFileSync } from "fs";
const systemPrompt = readFileSync("./system-prompt.md", "utf-8");
const { text } = await generateText({
model: anthropic("claude-sonnet-4-5-20250929"),
system: systemPrompt,
prompt: "Draft a data retention policy for our company.",
});Entry tier and above include a voice-config.json file with ElevenLabs-compatible settings. Voice parameters are automatically tuned based on the character's personality — calm characters get higher stability, energetic characters get more expressive style.
{
"provider": "elevenlabs",
"voiceId": "placeholder",
"model_id": "eleven_multilingual_v2",
"voice_settings": {
"stability": 0.82,
"similarity_boost": 0.85,
"style": 0.25,
"use_speaker_boost": true
},
"accent_notes": "Flat Midwestern American"
}The files included in your download depend on the booking tier:
| File | Free | Entry | Standard | Premium |
|---|---|---|---|---|
persona.json | ✓ | ✓ | ✓ | ✓ |
headshot.png | ✓ | ✓ | ✓ | ✓ |
system-prompt.md | — | ✓ | ✓ | ✓ |
voice-config.json | — | ✓ | ✓ | ✓ |
voice-reel.mp3 | — | — | ✓ | ✓ |
README.md (call sheet) | — | ✓ | ✓ | ✓ |
| Field | Type | Description |
|---|---|---|
personaId | string | Unique slug derived from name + title |
version | string | Semver version of the persona file |
name | string | Character's first name |
title | string | Job title / role |
provider | string | Always "CastMyAgent — castmyagent.ai" |
compatibility | string[] | Tested model IDs (Claude, GPT, Gemini) |
config | object | Recommended temperature, top_p, max_tokens |
identity | object | Personality, skills, quirks, communication style |
voice | object | ElevenLabs voice settings (stability, style, boost) |
Every persona is tested against and compatible with these models:
If you have questions about integrating CastMyAgent personas into your agents or workflows, reach out at support@castmyagent.ai.