Borrowing it
Nothing to install: this file belongs to quangdang46/openproxy. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/quangdang46/openproxy/main/.agents/skills/openproxy-tts/SKILL.mdgit clone --depth 1 https://github.com/quangdang46/openproxyWrote 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/quangdang46/openproxy/openproxy-tts)<a href="https://agentmods.dev/skills/quangdang46/openproxy/openproxy-tts"><img src="https://agentmods.dev/badge/skills/quangdang46/openproxy/openproxy-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/quangdang46/openproxy/openproxy-tts"><img src="https://agentmods.dev/badge/skills/quangdang46/openproxy/openproxy-tts.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00120 | $0.05906 |
| Opus 5.5 | $0.00048 | $0.02362 |
| Sonnet 5.5 | $0.00024 | $0.01181 |
| Haiku 4.5 | $0.00012 | $0.00591 |
Grade A, and why
openproxy-tts scanned grade A with 1 finding 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 29d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -sS http://127.0.0.1:4623/health How it starts
The opening of the file, as written. The whole thing — 347 lines — stays where its author put it; the contents beside it link to each section on GitHub.
openproxy-tts — text to speech
OpenProxy exposes an OpenAI-compatible TTS surface on 127.0.0.1:4623 and routes each request to whichever TTS provider you name in the model field. This skill covers:
- Registering a TTS provider
- Synthesizing audio over HTTP, and reading the response
- Addressing model + voice (they share one field)
- Provider-specific parity notes (Gemini, Fish Audio, OpenAI, OpenRouter, ElevenLabs, MiniMax, AWS Polly, self-hosted)
- Combo fallback and account rotation
- The
openproxy media ttsCLI
Every step is non-interactive and safe to run unattended. If the server is not up yet, follow .agents/skills/openproxy/SKILL.md first.
0 · Preconditions
curl -sS http://127.0.0.1:4623/health
# A proxy API key. Any key works, including the admin key from `server init`.
export OPENPROXY_API_KEY="$(openproxy key add tts-agent --auto --robot | jq -r '.data.key')"
# Which TTS providers have credentials right now
openproxy media providers list --kind tts
/v1/* is gated by the require_api_key setting (falling back to require_login). When it is on, every call needs Authorization: Bearer $OPENPROXY_API_KEY.
The openproxy media … commands need that key exported too. They talk to the running server rather than reading db.json directly, so an unset OPENPROXY_API_KEY surfaces as a confusing server returned 401 Unauthorized: {"code":"invalid_api_key","message":"Invalid API key"} — the key is usually simply missing, not wrong. Export it in the same shell as the curl calls, and use --api-key (or --url) when talking to a non-default server.
1 · Register a TTS provider
TTS credentials live in the media-provider registry, keyed by a provider id. The id is what you put in front of the model field.
cat > /tmp/tts.json <<'JSON'
{ "apiKey": "sk-...", "isActive": true }
JSON
openproxy media providers add \
--provider openai --kind tts --name "OpenAI TTS" \
--from-file /tmp/tts.json
--from-file merges on top of {provider, kind, name}, so it only carries the extra fields. - reads stdin. Edit with openproxy media providers edit <id> --from-file -; remove with openproxy media providers delete <id> --kind tts.
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.
- 29d ago First seen · 347 lines · 120 tokens per session scan A 4a0e8a2618f5
openproxy-tts is a skill published in the GitHub repository quangdang46/openproxy (29 stars, last pushed 5d ago), licensed MIT. It adds 120 tokens to every session and 5,906 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-29.
Other skills, from other repositories
implementing-api-schema-validation-security
Implement API schema validation using OpenAPI specifications and JSON Schema to enforce input/output contracts and prevent injection, data exposure, and mass assignment attacks.
keirouter-chat
Chat / code generation via KeiRouter using OpenAI /v1/chat/completions or Anthropic /v1/messages format with streaming + auto-fallback combos. Use when the user wants to ask an LLM, generate code, summarize text, or run prompts through KeiRouter.
keirouter-embeddings
Generate vector embeddings via KeiRouter /v1/embeddings using OpenAI / Mistral / Cohere / Voyage / NVIDIA / AWS Bedrock and other embedding models for RAG, semantic search, similarity. Use when the user wants embeddings, vectors, RAG, semantic search, or to embed text.
10router
Entry point for 10Router — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch. Use when the user mentions 10Router, TENROUTERURL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability…
post-processing
Extract, analyze, and summarize simulation output data — pull spatial fields at specific timesteps, compute time-series trends and detect steady state, extract line profiles through the domain, generate statistical summaries and distributions, calculate derived quantities (gradients, fluxes, volume fractions…
linear-solvers
Select and configure linear solvers for Ax=b systems arising in numerical simulations — choose between direct (LU, Cholesky) and iterative (CG, GMRES, BiCGSTAB, MINRES) methods, analyze sparsity patterns and matrix conditioning, recommend preconditioners (AMG, ILU, IC), apply row/column scaling, and diagnose…