call-semantic-barge-in-analyzer · git:20260920.54a80de · 2026-09-20 · sha256 ce60bf1e067f2ee6

call-semantic-barge-in-analyzer git:20260920.54a80deA

Immutable. This exact content is served forever at /api/v1/blob/ce60bf1e067f2ee6.

---
name: call-semantic-barge-in-analyzer
description: Post-call cooperation skill. Classifies callee turns in a CALL-E transcript as backchannels ("mm-hmm", "right, okay"), frustration barge-ins ("wait", "hold on", "slow down"), or substantive answers - disambiguating answers from backchannels via the preceding agent question - and computes pacing metrics including backchannel density and whether the agent shortened its turns after the first interruption. Returns a cooperation profile (ENGAGED_COOPERATIVE / NEUTRAL / FRUSTRATED_INTERRUPTING / DISENGAGED) with a pacing recommendation and a ready-to-use pacing goal for the next plan_call. Heuristic mode only, runs offline. Grounded in full-duplex turn-taking research (Moshi arXiv 2410.00037, DuplexGen arXiv 2607.26178), adapted to post-call transcripts.
license: MIT
---

# call-semantic-barge-in-analyzer

> **Was the person on the other end with you, against you, or barely there?**

`call-review` audits call compliance, including ignored stop requests.
This skill answers a different question: how cooperative was the callee,
and how should the NEXT call be paced? A callee who answers "Mm-hmm."
while you explain is with you; a callee who says "Wait, slow down." three
times is telling you your pacing failed - and the fix is a shorter-turn
script, not more repetition.

## When To Use

- after any CALL-E call where the agent delivered multi-part information,
  to check whether the callee could keep up
- to decide whether the next call should use a pacing goal (short turns,
  explicit confirmation points)
- to generate that pacing goal for `plan_call` directly

## When Not To Use

- to audit compliance or ignored stop requests; use `call-review`
- to detect fraud; use `call-fraud-shield`
- during a call; CALL-E exposes transcripts, not live audio, so
  interruptions are read post-hoc from turn text, not from overlapping
  speech timing
- as a judgment about the person; profiles are pacing advice only and the
  card says so

## Workflow

### Analyze a finished call

```bash
python3 scripts/barge_in_analyzer.py analyze --transcript path/to/call-result.json
```

Reads the real `get_call_run` result shape (`{status, result: {transcript}}`)
or the flat shape used by sibling skill fixtures. Emits a card:

- `cooperation_profile`: ENGAGED_COOPERATIVE / NEUTRAL /
  FRUSTRATED_INTERRUPTING / DISENGAGED
- `metrics`: callee turn counts by class, backchannel density, average
  agent turn length, and whether the agent shortened its turns after the
  first barge-in (adaptation)
- `evidence`: turn index, masked span, classification for every backchannel
  and barge-in
- `pacing_assessment: "unclear"` with a reason when the callee never spoke
- `pacing_recommendation`: `shorten_turns` (with the pacing goal text),
  `maintain_pacing`, or `pause_and_confirm`

Classification rules: a turn is a backchannel when it is at most 4 words of
listening vocabulary after an agent STATEMENT; the same words answering a
trailing agent QUESTION count as substantive answers. Bare "look" is
deliberately not a barge-in marker (too many benign uses: "I will look
into that").

### Craft the pacing goal

```bash
python3 scripts/barge_in_analyzer.py craft --scenario pacing-followup --language en
```

Emits the plan_call inputs JSON whose `goal` is the same template the card
recommends on `shorten_turns`, so analysis and next call stay consistent.

## Scientific Foundation

| Research | Relevance |
|---|---|
| Moshi: a speech-text foundation model for real-time dialogue (Kyutai, 2024, arXiv 2410.00037) | Full-duplex turn-taking with backchannels; this skill is the post-call, transcript-only approximation |
| DuplexGen: Adaptive Synthesis of Human-AI Turn-Taking Dialogues (2026, arXiv 2607.26178) | Turn-taking dialogue synthesis; motivates the backchannel-vs-barge-in distinction |

Both papers model real-time full-duplex behavior; CALL-E exposes
transcripts without timing, so this skill deliberately implements the
text-side approximation and labels every output `analysis_mode: "heuristic"`.

## Differences from sibling skills

- `call-review` flags ignored stop requests (a compliance failure by the
  agent); this skill profiles callee cooperation and tunes pacing for the
  next call.
- `call-verbal-irony-detector` reads what the callee meant versus what they
  said; this skill reads how they participated.