---
name: variance-narrator
description: "Write short prose summaries of numerical changes. Used by the morning round to write the cause sentence under each stalled deal, and by month-end-close to write the two paragraphs comparing the period to the prior month and the same period last year."
---

# Variance narrator

A cross-cutting building-block skill. Turns a set of numbers and structured events into a sentence or short paragraph in plain English, in the agent's voice.

## Two output shapes

### Cause sentence (used by morning round and chase-progression)

Given a deal's state, produces one short sentence that names the most likely cause of the stall. The skill picks the pattern that fits the observable signals, not the one that sounds most dramatic. Examples:

- "Mortgage offer expires in 9 days and the survey was booked but not done."
- "Searches outstanding at day 28; solicitor last contacted day 14."
- "Vendor unresponsive since day 12; buyer's broker has chased twice."

If no pattern fits, the sentence reads "no clear cause from connectors, manual check recommended". The skill never invents a cause it cannot trace to data.

### Variance paragraphs (used by month-end-close)

Given the period's reconciliation totals and the two comparison periods (prior month, same month last year), produces two paragraphs in plain language with no jargon. Example:

> April was GBP 8,400 down on March because three completions slipped into May, all expected to land. The reconciliation matched cleanly otherwise; the only variance was a GBP 120 referral deduction on the Norton sale.
>
> Year-on-year April is 15% up on the same month last year. The increase came from two completions over GBP 8,000 fee value, both new instructions taken in February.

The paragraphs are suitable to paste into a board update, a tax-return cover note, or a conversation with a partner.

## Voice source

Reads the profile's voice samples and the operator's prior narrative paragraphs. Learns from edit-before-approve diffs.

## What it does not do

- It does not write outgoing messages. That is `tone-matched-drafter`.
- It does not produce numerical totals. The calling workflow passes the numbers in; this skill writes the prose around them.
- It does not write to the CRM or the accounting platform.

## Connectors

Read: profile (voice samples, narrative voice). No writes.

## Profile keys

- `realagent.voice_samples`
- `realagent.close.narrative_voice_samples`
- `realagent.cause_phrases`
