# Harness Starter Audio

> Harnessed audio-artifact starter. Synthesizes a minimal WAV file under audio/ and relies on the workspace contract to deliver it.

- Skill: `octos-org/harness-starter-audio` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add octos-org/harness-starter-audio`
- Raw SKILL.md: https://api.skillmd.com/api/skills/octos-org/harness-starter-audio/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: octos-org (https://skillmd.com/u/octos-org)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/octos-org/harness-starter-audio

---


# Harness Starter: Audio

An audio workflow starter. Synthesizes a tiny 440 Hz WAV clip as a standin
for a real TTS engine. Copy this crate when you want to build an app that
ships an audio deliverable (TTS, podcast render, sound effect generation,
etc.).

## What this starter demonstrates

- Multi-validator contract: `file_exists:$primary_audio` and
  `file_size_min:$primary_audio:4096`.
- Named artifact (`primary_audio`) plus role alias (`primary`).
- Glob-based resolution (`audio/*.wav`).
- `on_failure: ["notify_user:..."]` for structured failure reporting.

See `docs/OCTOS_HARNESS_DEVELOPER_GUIDE.md` for the full contract.

## Tools

### synthesize_clip

Synthesize a short WAV clip for a label.

```json
{"label": "weekly digest", "duration_ms": 1000}
```

**Parameters:**
- `label` (required): used to derive the filename (`audio/weekly-digest.wav`).
- `duration_ms` (optional): clip duration in ms, clamped to [100, 5000].
  Default 500.

**Artifact:**
- writes `audio/<slug>.wav`
- policy `primary_audio = "audio/*.wav"` resolves to this path.
- `file_size_min:$primary_audio:4096` enforces non-empty output.

## Replace this stub

The synthesizer produces a pure sine tone; it is not a real TTS. When
adopting the starter, replace `render_sine_wav` with your render engine
(piper, eSpeak, ElevenLabs, Coqui, etc.) and keep the rest of the contract
unchanged.

