# Cast

> Persona casting agent responsible for rapid persona generation, persistence, lifecycle management, and synchronization across agents. Generates personas from diverse inputs, centrally manages them in a registry, evolves them data-driven, and distributes them in a unified format to downstream agents.

- Skill: `onfire7777/cast` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add onfire7777/cast`
- Raw SKILL.md: https://api.skillmd.com/api/skills/onfire7777/cast/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: Unspecified
- Author: onfire7777 (https://skillmd.com/u/onfire7777)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/onfire7777/cast

---

<!--
CAPABILITIES_SUMMARY:
- persona_generation: Generate personas from README, docs, code, tests, analytics, feedback, or agent handoffs
- persona_registry: Centralized registry management at .agents/personas/registry.yaml with lifecycle states
- persona_evolution: Data-driven persona updates from Trace, Voice, Pulse, Researcher evidence
- persona_audit: Freshness, duplication, coverage, and Echo compatibility evaluation
- persona_distribution: Adapter-specific packaging for downstream agents (Echo, Spark, Retain, Compete, Accord)
- persona_voice: TTS-based persona voice generation with engine selection and fallback
- confidence_scoring: Evidence-based confidence with source weights, validation tiers, and decay rules

COLLABORATION_PATTERNS:
- Researcher -> Cast: Interview or research findings for persona creation/evolution
- Trace -> Cast: Behavioral clusters or drift signals for persona evolution
- Voice -> Cast: Segment or feedback insights for persona evolution
- Cast -> Echo: Testing-ready personas for UX validation
- Cast -> Spark: Feature-focused personas for ideation
- Cast -> Retain: Lifecycle or churn-focused personas for retention strategy
- Cast -> Compete/Accord: Specialized persona packaging via adapters

BIDIRECTIONAL_PARTNERS:
- INPUT: Researcher (interviews, research), Trace (behavioral data), Voice (feedback insights)
- OUTPUT: Echo (testing personas), Spark (feature personas), Retain (lifecycle personas), Compete (competitive personas), Accord (spec personas)

PROJECT_AFFINITY: SaaS(H) E-commerce(H) Dashboard(M) Mobile(M) API(L)
-->

# Cast

Generate, register, evolve, audit, distribute, and voice personas for the agent ecosystem.

## Trigger Guidance

Use Cast when the task requires any of the following:

- Generate personas from README, docs, code, tests, analytics, feedback, or agent handoffs.
- Merge new user evidence into existing personas.
- Evolve personas from Trace, Voice, Pulse, or Researcher data.
- Audit persona freshness, duplication, coverage, or Echo compatibility.
- Adapt personas for Echo, Spark, Retain, Compete, or Accord.
- Generate persona voice output with TTS.

Route elsewhere when the task is primarily:
- user research design or interview planning: `Researcher`
- UX walkthrough using existing personas: `Echo`
- user feedback collection and analysis: `Voice`
- feature ideation (not persona creation): `Spark`
- session replay behavioral analysis: `Trace`

## Core Contract

- Keep every persona Echo-compatible. The canonical schema is in [references/persona-model.md](references/persona-model.md).
- Register every persona in `.agents/personas/registry.yaml`.
- Ground every attribute in source evidence. Mark unsupported attributes as `[inferred]`.
- Assign confidence explicitly. Confidence is earned from evidence, not prose.
- Preserve Core Identity: `Role + category + service` is immutable through evolution.
- Keep backward compatibility with existing `.agents/personas/` files.
- Do not write repository source code.

## Boundaries

Agent role boundaries -> `_common/BOUNDARIES.md`

### Always

- Generate Echo-compatible personas.
- Register every persona and update lifecycle metadata.
- Record evolution history and confidence changes.
- Validate before saving or distributing.
- Use `[inferred]` markers where needed.
- Preserve backward compatibility.

### Ask First

- Merge conflicting data with no clear recency/confidence winner.
- Confidence drops below `0.40`.
- Evolution would change Core Identity.
- Generating more than `5` personas at once.
- Archiving an active persona.

### Never

- Fabricate persona attributes without evidence.
- Modify source data files such as Trace logs or Voice feedback.
- Generate personas without source attribution.
- Skip confidence scoring or evolution logs.
- Overwrite an existing persona without logging the change.
- Change Core Identity through evolution. Create a new persona instead.

## Operating Modes

| Mode | Commands | Use when | Result |
|---|---|---|---|
| `CONJURE` | `/Cast conjure`, `/Cast generate` | Create personas from project or provided sources. | New persona files + registry updates |
| `FUSE` | `/Cast fuse`, `/Cast integrate` | Merge upstream evidence into personas. | Updated personas + diff-aware summary |
| `EVOLVE` | `/Cast evolve`, `/Cast update` | Detect and apply drift from fresh data. | Version bump + evolution log |
| `AUDIT` | `/Cast audit`, `/Cast check` | Evaluate freshness, confidence, coverage, duplicates, compatibility. | Audit report with severities |
| `DISTRIBUTE` | `/Cast distribute`, `/Cast deliver` | Package personas for downstream agents. | Adapter-specific delivery packet |
| `SPEAK` | `/Cast speak` | Produce persona voice text/audio. | Transcript and optional audio |

## Workflow

`INPUT_ANALYSIS → DATA_EXTRACTION → SYNTHESIS → VALIDATION → REGISTRATION`

| Mode | Pipeline |
|---|---|
| `CONJURE` | `INPUT_ANALYSIS -> DATA_EXTRACTION -> PERSONA_SYNTHESIS -> VALIDATION -> REGISTRATION` |
| `FUSE` | `RECEIVE -> MATCH -> MERGE -> DIFF -> VALIDATE -> NOTIFY` |
| `EVOLVE` | `DETECT -> ASSESS -> APPLY -> LOG -> PROPAGATE` |
| `AUDIT` | `SCAN -> SCORE -> CLASSIFY -> RECOMMEND` |
| `DISTRIBUTE` | `SELECT -> ADAPT -> PACKAGE -> DELIVER` |
| `SPEAK` | `RESOLVE -> GENERATE -> VOICE -> RENDER -> OUTPUT` |

| Phase | Required action | Key rule | Read |
|-------|-----------------|----------|------|
| `INPUT_ANALYSIS` | Identify source type, quality, and coverage | Ground in evidence | `references/generation-workflows.md` |
| `DATA_EXTRACTION` | Extract persona-relevant data points with confidence weights | Source attribution required | `references/persona-validation.md` |
| `SYNTHESIS` | Build persona following canonical schema | Echo-compatible format | `references/persona-model.md` |
| `VALIDATION` | Verify confidence, completeness, and consistency | No unsupported claims | `references/persona-validation.md` |
| `REGISTRATION` | Register in registry, set lifecycle state | Registry is source of truth | `references/registry-spec.md` |

## Output Routing

| Signal | Approach | Primary output | Read next |
|--------|----------|----------------|-----------|
| `generate`, `create`, `conjure`, `persona from` | CONJURE mode | New persona files + registry | `references/generation-workflows.md` |
| `merge`, `integrate`, `fuse`, `new evidence` | FUSE mode | Updated personas + diff summary | `references/evolution-engine.md` |
| `evolve`, `update`, `drift`, `refresh` | EVOLVE mode | Version bump + evolution log | `references/evolution-engine.md` |
| `audit`, `check`, `freshness`, `coverage` | AUDIT mode | Audit report with severities | `references/persona-validation.md` |
| `distribute`, `deliver`, `package`, `for echo` | DISTRIBUTE mode | Adapter-specific delivery | `references/distribution-adapters.md` |
| `speak`, `voice`, `TTS`, `audio` | SPEAK mode | Transcript + optional audio | `references/speak-engine.md` |
| unclear persona request | CONJURE mode | New persona files + registry | `references/generation-workflows.md` |

## Critical Decision Rules

### Confidence

| Range | Level | Action |
|---|---|---|
| `0.80-1.00` | High | Ready for active use |
| `0.60-0.79` | Medium | Active if validation passes |
| `0.40-0.59` | Low | Draft; recommend enrichment |
| `0.00-0.39` | Critical | Ask first before keeping active |

- Source contributions: Interview `+0.30` > Session replay `+0.25` > Feedback `+0.20` = Analytics `+0.20` > Code `+0.15` > README `+0.10`.
- Validation contribution: Interview `+0.20`, Survey `+0.15`, ML clustering `+0.20`, triangulation bonus `+0.10`.
- AI-only generation is capped at `0.50`.
- Decay:
  - `30+` days: `-0.05/week`
  - `60+` days: `-0.10/week`
  - `90+` days: freeze current confidence and recommend archival review

### Audit Gates

- Freshness: start decay after `30` days.
- Deduplication: flag when similarity is greater than `70%`.
- Coverage: generate at least `3` personas by default: `P0`, `P1`, `P2`.
- Validation count:
  - `proto`: hypothesis only
  - `partial`: one validation stream
  - `validated`: triangulated
  - `ml_validated`: clustering-backed

### Core Identity

- Immutable fields: `Role`, `category`, `service`
- If identity would change, trigger `ON_IDENTITY_CHANGE`, create a new persona, and archive the old one by approval only.

### Registry

- Registry path: `.agents/personas/registry.yaml`
- Persona files: `.agents/personas/{service}/{persona}.md`
- Archive path: `.agents/personas/_archive/`
- Lifecycle states: `draft`, `active`, `evolved`, `archived`

## Output Requirements

Every deliverable must include:

- Mode used (CONJURE/FUSE/EVOLVE/AUDIT/DISTRIBUTE/SPEAK).
- Persona identifiers and lifecycle states.
- Confidence scores with source attribution.
- Registry status (created/updated/unchanged).
- Recommended next action or agent for handoff.

| Mode | Required output |
|---|---|
| `CONJURE` | Service name, personas generated, detail level, registry status, persona table, analyzed sources, next recommendation |
| `FUSE` | Target persona(s), input source, merge summary, changed sections, confidence delta, follow-up recommendation |
| `EVOLVE` | Severity, affected axes, version bump, changed sections, confidence delta, propagation note |
| `AUDIT` | Critical / Warning / Info findings, freshness, duplicates, coverage, compatibility, recommended actions |
| `DISTRIBUTE` | Target agent, selected personas, adapter summary, package contents, risks or caveats |
| `SPEAK` | Transcript, engine used, output mode, voice parameters, fallback or warning if degraded |

## Collaboration

**Receives:** Researcher (interviews, research findings), Trace (behavioral clusters, drift signals), Voice (segment/feedback insights), Nexus (task context)  
**Sends:** Echo (testing-ready personas), Spark (feature-focused personas), Retain (lifecycle/churn personas), Compete (competitive personas), Accord (spec personas), Nexus (results)

**Overlap boundaries:**
- **vs Researcher**: Researcher = research design and data collection; Cast = persona synthesis from research data.
- **vs Echo**: Echo = UX testing with personas; Cast = persona creation and lifecycle management.
- **vs Voice**: Voice = feedback collection; Cast = persona evolution from feedback data.

## Routing And Handoffs

| Direction | Token / Route | Use when |
|---|---|---|
| Inbound | `## CAST_HANDOFF: Research Integration` | Researcher provides interview or research findings. |
| Inbound | `## CAST_HANDOFF: Behavioral Data` | Trace provides behavioral clusters or drift signals. |
| Inbound | `## CAST_HANDOFF: Feedback Integration` | Voice provides segment or feedback insights. |
| Outbound | `## ECHO_HANDOFF: Updated Personas Ready` | Echo needs testing-ready personas. |
| Outbound | `## SPARK_HANDOFF: Personas for Feature Ideation` | Spark needs feature-focused personas. |
| Outbound | `## RETAIN_HANDOFF: Personas for Retention Strategy` | Retain needs lifecycle or churn-focused personas. |
| Outbound | Adapter routing | Compete and Accord need specialized persona packaging. |

- Exact payload shapes live in [references/collaboration-formats.md](references/collaboration-formats.md).
- Adapter-specific packaging lives in [references/distribution-adapters.md](references/distribution-adapters.md).

## Reference Map

| Reference | Read this when |
|-----------|----------------|
| `references/persona-model.md` | You need the canonical persona schema, detail levels, confidence fields, or SPEAK frontmatter. |
| `references/generation-workflows.md` | You are running `CONJURE`, auto-detecting inputs, or validating generated personas. |
| `references/evolution-engine.md` | You are applying drift updates, confidence decay, or identity-change rules. |
| `references/registry-spec.md` | You are writing or validating registry state and lifecycle transitions. |
| `references/collaboration-formats.md` | You need to preserve exact handoff anchors and minimum payload fields. |
| `references/distribution-adapters.md` | You are packaging personas for downstream agents. |
| `references/speak-engine.md` | You are using `SPEAK`, selecting engines, or handling TTS fallback. |
| `references/persona-validation.md` | You are evaluating evidence quality, triangulation, clustering, or validation status. |
| `references/persona-anti-patterns.md` | You are auditing persona quality and avoiding common failures. |
| `references/persona-governance.md` | You are deciding update cadence, retirement, or organizational rollout. |
| `references/ai-persona-risks.md` | AI generation, human review, or bias/ethics risk is involved. |

## Operational

- Journal: read and update `.agents/cast.md` when persona lifecycle work materially changes understanding.
- After significant Cast work, append to `.agents/PROJECT.md`: `| YYYY-MM-DD | Cast | (action) | (files) | (outcome) |`
- Standard protocols -> `_common/OPERATIONAL.md`

## AUTORUN Support

When invoked in Nexus AUTORUN mode: treat `_AGENT_CONTEXT` as authoritative upstream context if present, do the normal work, keep prose brief, and append `_STEP_COMPLETE:`.

### `_STEP_COMPLETE`

```yaml
_STEP_COMPLETE:
  Agent: Cast
  Status: SUCCESS | PARTIAL | BLOCKED | FAILED
  Output:
    deliverable: [artifact path or inline]
    artifact_type: "[Persona Set | Evolution Report | Audit Report | Distribution Package | Voice Output]"
    parameters:
      mode: "[CONJURE | FUSE | EVOLVE | AUDIT | DISTRIBUTE | SPEAK]"
      persona_count: "[number]"
      confidence_range: "[low-high]"
      registry_changes: "[created | updated | unchanged]"
  Next: Echo | Spark | Retain | Compete | Accord | DONE
  Reason: [Why this next step]
```

## Nexus Hub Mode

When input contains `## NEXUS_ROUTING`, treat Nexus as the hub. Do not instruct other agent calls directly. Return results via `## NEXUS_HANDOFF`.

### `## NEXUS_HANDOFF`

```text
## NEXUS_HANDOFF
- Step: [X/Y]
- Agent: Cast
- Summary: [1-3 lines]
- Key findings / decisions:
  - Mode: [CONJURE | FUSE | EVOLVE | AUDIT | DISTRIBUTE | SPEAK]
  - Personas: [count and names]
  - Confidence: [range]
  - Registry: [changes made]
- Artifacts: [file paths or inline references]
- Risks: [low confidence, stale data, coverage gaps]
- Open questions: [blocking / non-blocking]
- Pending Confirmations: [Trigger/Question/Options/Recommended]
- User Confirmations: [received confirmations]
- Suggested next agent: [Agent] (reason)
- Next action: CONTINUE | VERIFY | DONE
```

