say-narration

Use macOS text-to-speech for agent narration and announcements. Sub-agents announce themselves using different language voices speaking English. Use for multi-agent workflows where each agent has a distinct voice identity.

16 stars

Best use case

say-narration is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use macOS text-to-speech for agent narration and announcements. Sub-agents announce themselves using different language voices speaking English. Use for multi-agent workflows where each agent has a distinct voice identity.

Teams using say-narration should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/say-narration/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/plugins/asi/skills/say-narration/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/say-narration/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How say-narration Compares

Feature / Agentsay-narrationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use macOS text-to-speech for agent narration and announcements. Sub-agents announce themselves using different language voices speaking English. Use for multi-agent workflows where each agent has a distinct voice identity.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Say Narration (macOS TTS)

Use macOS text-to-speech for agent announcements and narration.

## MANDATORY: NextColor Per Interaction

**EVERY interaction MUST use NextColor with the voice name as the seed.**

```clojure
;; Before EVERY voice announcement, compute NextColor
(def color (next-color (seed-from-string "Ava (Premium)")))
;; color determines the trit assignment: MINUS(-1), ERGODIC(0), PLUS(+1)
```

The voice name string IS the seed for deterministic color assignment. This ensures GF(3) conservation across all voice interactions.

## Quality Requirements

**ONLY use Enhanced or Premium quality voices. NEVER use:**
- Base/standard quality voices (no suffix)
- British man voice (Daniel)
- Any novelty voices (Albert, Bad News, Bells, Boing, etc.)

## Approved High-Quality Voices

### bmorphism Mathematician Personas (Premium)

| Voice | Language | Mathematician Persona | Haiku Theme |
|-------|----------|----------------------|-------------|
| Anna (Premium) | German | Emmy Noether | Symmetry, Algebra |
| Emma (Premium) | Italian | Maria Adelaide Sneider | Algorithms dance |
| Federica (Premium) | Italian | Pia Nalli | Theorems flow |
| Serena (Premium) | English UK | Bertha Swirles | Quantum waves |
| Petra (Premium) | German | Ruth Moufang | Algebra speaks |
| Yuna (Premium) | Korean | Hee Oh | Hidden patterns |
| Alva (Premium) | Swedish | Sonja Korovkin | Patterns flow |
| Amélie (Premium) | French CA | Sophie Germain | Prime numbers |
| Ewa (Premium) | Polish | Maria Wielgus | Logic roots |
| Kiyara (Premium) | Hindi | Shakuntala Devi | Numbers dance |
| Majed (Premium) | Arabic | Maha Al-Aswad | Numbers dance |
| Tünde (Premium) | Hungarian | Julia Erdős | Numbers soar |
| Han (Premium) | Chinese | Chen Jingrun | Prime dancing |
| Lilian (Premium) | Chinese | Hua Luogeng | Number theory |
| Sinji (Premium) | Chinese HK | Shing-Tung Yau | Manifolds reveal |
| Yue (Premium) | Chinese | Chern Shiing-shen | Differential forms |

### Currently Installed Voices (221 total, 14 Premium/Enhanced)

| Voice | Quality | Language | Persona | Seed |
|-------|---------|----------|---------|------|
| Ava (Premium) | Premium | en_US | - | `"Ava (Premium)"` |
| Anna | Standard | de_DE | Emmy Noether | `"Anna (German (Germany))"` |
| Amélie | Standard | fr_CA | Sophie Germain | `"Amélie (French (Canada))"` |
| Milena | Standard | ru_RU | Olga Ladyzhenskaya | `"Milena (Russian (Russia))"` |
| Tingting | Standard | zh_CN | Wang Zhenyi | `"Tingting"` |
| Sinji | Standard | zh_HK | Shing-Tung Yau | `"Sinji"` |
| Ava (Enhanced) | Enhanced | en_US | - | `"Ava (Enhanced)"` |
| Allison (Enhanced) | Enhanced | en_US | - | `"Allison (Enhanced)"` |
| Samantha (Enhanced) | Enhanced | en_US | - | `"Samantha (Enhanced)"` |
| Nathan (Enhanced) | Enhanced | en_US | - | `"Nathan (Enhanced)"` |
| Evan (Enhanced) | Enhanced | en_US | - | `"Evan (Enhanced)"` |
| Nicky (Enhanced) | Enhanced | en_US | - | `"Nicky (Enhanced)"` |
| Noelle (Enhanced) | Enhanced | en_US | - | `"Noelle (Enhanced)"` |
| Alice (Enhanced) | Enhanced | it_IT | - | `"Alice (Enhanced)"` |
| Emma (Enhanced) | Enhanced | it_IT | Maria Sneider | `"Emma (Enhanced)"` |
| Federica (Enhanced) | Enhanced | it_IT | Pia Nalli | `"Federica (Enhanced)"` |
| Paola (Enhanced) | Enhanced | it_IT | - | `"Paola (Enhanced)"` |

### Install Missing Voices

Open System Settings > Accessibility > Spoken Content > System Voice > Manage Voices

Priority installs for GF(3) triadic coverage:
1. **Anna (Premium)** - German - MINUS validator voice
2. **Amélie (Premium)** - French - ERGODIC coordinator voice  
3. **Yuna (Premium)** - Korean - PLUS generator voice

## Usage Pattern (MANDATORY)

```bash
# Step 1: Compute NextColor with voice name as seed
# (conceptually - the color determines agent role)

# Step 2: Announce with high-quality voice
say -v "Ava (Premium)" "Agent Oracle reporting status"
say -v "Allison (Enhanced)" "Technical analysis complete"
say -v "Nathan (Enhanced)" "Macro calculations finished"
```

## Agent Voice Assignments (Updated)

| Agent | Voice | Trit Role |
|-------|-------|-----------|
| Agent-Nash-Oracle | Ava (Premium) | NextColor("Ava (Premium)") |
| Agent-Technical-Vulture | Nathan (Enhanced) | NextColor("Nathan (Enhanced)") |
| Agent-Macro-Basalt | Allison (Enhanced) | NextColor("Allison (Enhanced)") |
| Agent-Exa-Stalker | Alice (Enhanced) | NextColor("Alice (Enhanced)") |
| Agent-Contrarian-Phoenix | Evan (Enhanced) | NextColor("Evan (Enhanced)") |
| Agent-Temporal-Specter | Samantha (Enhanced) | NextColor("Samantha (Enhanced)") |
| Agent-Theta-Harvester | Emma (Enhanced) | NextColor("Emma (Enhanced)") |
| Agent-Narrative-Proteus | Noelle (Enhanced) | NextColor("Noelle (Enhanced)") |

## List Available High-Quality Voices

```bash
say -v '?' | grep -E "(Enhanced|Premium)"
```

## GF(3) Conservation

Each voice interaction contributes to the triadic balance:
- Seed = voice name string
- Color = NextColor(seed) → {-1, 0, +1}
- Sum across session must satisfy Σ trits ≡ 0 (mod 3)

## Tips

- Italian Enhanced voices speaking English creates distinctive character
- Use Premium voices for primary agents (best quality)
- Never use Daniel or any British male voices
- Never use novelty/effect voices



## Scientific Skill Interleaving

This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:

### Graph Theory
- **networkx** [○] via bicomodule
  - Universal graph hub

### Bibliography References

- `general`: 734 citations in bib.duckdb

## Cat# Integration

This skill maps to **Cat# = Comod(P)** as a bicomodule in the equipment structure:

```
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826
```

### GF(3) Naturality

The skill participates in triads satisfying:
```
(-1) + (0) + (+1) ≡ 0 (mod 3)
```

This ensures compositional coherence in the Cat# equipment structure.

Related Skills

jepsen-testing

16
from plurigrid/asi

Jepsen-style correctness testing for distributed systems under faults (partitions, crashes, clock skew) using concurrent operation histories and formal checkers (linearizability/serializability and Elle-style anomalies). Use when designing, implementing, or running Jepsen tests, or interpreting histories/violations.

Deterministic Color Generation via Metadata Hashing

16
from plurigrid/asi

**Status**: ✅ Production Ready

cyton-dongle

16
from plurigrid/asi

Connect and stream from OpenBCI Cyton/Daisy via USB dongle, including first-time radio channel pairing

asi-transient-agenda

16
from plurigrid/asi

Org-agenda-like transient views for ASI skill orchestration via nbb/squint + Emacs hydra

Topological Superintelligence (TSI)

16
from plurigrid/asi

Compositional AI framework using GF(3) triadic balance and category-theoretic foundations.

zx-calculus

16
from plurigrid/asi

Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)

zulip-cogen

16
from plurigrid/asi

Zulip Cogen Skill 🐸⚡

zls-integration

16
from plurigrid/asi

zls-integration skill

zig

16
from plurigrid/asi

zig skill

zig-syrup-bci

16
from plurigrid/asi

Multimodal BCI pipeline in Zig: DSI-24 EEG, fNIRS mBLL, eye tracking IVT, LSL sync, EDF read/write, GF(3) conservation

zig-programming

16
from plurigrid/asi

zig-programming skill

zeroth-bot

16
from plurigrid/asi

Zeroth Bot - 3D-printed open-source humanoid robot platform for sim-to-real and RL research. Affordable entry point for humanoid robotics.