OpenParable
Skip to content
← Back to skills

Harness Starter Audio

Documents
harness-starter-audio

Harness Starter Audio is an Agent Skill for documents published in the octos-org/octos repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

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

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/octos-org/octos/blob/HEAD/crates/app-skills/harness-starter-audio/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/harness-starter-audio, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

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.

{"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.