SkillsBench is a benchmark for measuring how effectively AI agents use modular skills—folders containing instructions, scripts, and resources—to complete specialized tasks. It helps researchers and developers evaluate both skill quality and agent behavior, including tasks that require combining multiple skills. The catalogue’s skills and instructions are evaluated as part of this workflow.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add benchflow-ai/skillsbench --skill openai-ttsgit clone --depth 1 https://github.com/benchflow-ai/skillsbenchWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/benchflow-ai/skillsbench/openai-tts)<a href="https://agentmods.dev/skills/benchflow-ai/skillsbench/openai-tts"><img src="https://agentmods.dev/badge/skills/benchflow-ai/skillsbench/openai-tts/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/benchflow-ai/skillsbench/openai-tts"><img src="https://agentmods.dev/badge/skills/benchflow-ai/skillsbench/openai-tts.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00033 | $0.00954 |
| Opus 5 | $0.00016 | $0.00477 |
| Sonnet 5 | $0.00007 | $0.00191 |
| Haiku 4.5 | $0.00003 | $0.00095 |
Grade A, and why
openai-tts scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- openai-tts — 100% identical, 5 lines differ
How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenAI Text-to-Speech
Generate high-quality spoken audio from text using OpenAI's TTS API.
Authentication
The API key is available as environment variable:
OPENAI_API_KEY
Models
gpt-4o-mini-tts- Newest, most reliable. Supports tone/style instructions.tts-1- Lower latency, lower qualitytts-1-hd- Higher quality, higher latency
Voice Options
Built-in voices (English optimized):
alloy,ash,ballad,coral,echo,fablenova,onyx,sage,shimmer,versemarin,cedar- Recommended for best quality
Note: tts-1 and tts-1-hd only support: alloy, ash, coral, echo, fable, onyx, nova, sage, shimmer.
Python Example
from pathlib import Path
from openai import OpenAI
client = OpenAI() # Uses OPENAI_API_KEY env var
# Basic usage
with client.audio.speech.with_streaming_response.create(
model="gpt-4o-mini-tts",
voice="coral",
input="Hello, world!",
) as response:
response.stream_to_file("output.mp3")
# With tone instructions (gpt-4o-mini-tts only)
with client.audio.speech.with_streaming_response.create(
model="gpt-4o-mini-tts",
voice="coral",
input="Today is a wonderful day!",
instructions="Speak in a cheerful and positive tone.",
) as response:
response.stream_to_file("output.mp3")
Handling Long Text
For long documents, split into chunks and concatenate:
from openai import OpenAI
from pydub import AudioSegment
import tempfile
import re
import os
client = OpenAI()
def chunk_text(text, max_chars=4000):
"""Split text into chunks at sentence boundaries."""
sentences = re.split(r'(?<=[.!?])\s+', text)
chunks = []
current_chunk = ""
for sentence in sentences:
if len(current_chunk) + len(sentence) < max_chars:
current_chunk += sentence + " "
else:
if current_chunk:
chunks.append(current_chunk.strip())
current_chunk = sentence + " "
if current_chunk:
chunks.append(current_chunk.strip())
return chunks
def text_to_audiobook(text, output_path):
"""Convert long text to audio file."""
chunks = chunk_text(text)
audio_segments = []
for chunk in chunks:
with tempfile.NamedTemporaryFile(suffix='.mp3', delete=False) as tmp:
tmp_path = tmp.name
with client.audio.speech.with_streaming_response.create(
model="gpt-4o-mini-tts",
voice="coral",
input=chunk,
) as response:
response.stream_to_file(tmp_path)
segment = AudioSegment.from_mp3(tmp_path)
audio_segments.append(segment)
os.unlink(tmp_path)
# Concatenate all segments
combined = audio_segments[0]
for segment in audio_segments[1:]:
combined += segment
combined.export(output_path, format="mp3")
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 143 lines · 33 tokens per session scan A 8620ac884cc3
openai-tts is a skill published in the GitHub repository benchflow-ai/skillsbench (1,757 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 33 tokens to every session and 954 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
opencv-template-matching
Use OpenCV for image processing, grayscale conversion, and template matching to detect objects in images.
exploded-view-illustration
Techniques for drawing isometric or orthographic exploded-view hardware diagrams programmatically using Pillow, with annotation leader lines and layer separation.
chinese-classical-poetry
A guide to writing a seven-character regulated poem in Classical Chinese, a traditional form with eight lines of seven Chinese characters each. It explains the required couplets, tone patterns, and rhymes.
python-pillow-graphics
Create technical graphics, diagrams, and posters using Python Pillow library with precise color control and typography.
image-generation-pillow
Technical image generation using Python's Pillow library. Use this when you need to programmatically create diagrams, posters, or technical drawings.
pillow-technical-drawing
Creating technical diagrams and exploded-view illustrations using Python Pillow with geometric primitives and text annotations.