Resolve Audio
samuelgursky/davinci-resolve-mcp
Audio and Fairlight work in the DaVinci Resolve MCP. An agent skill from samuelgursky/davinci-resolve-mcp.
Check that a microphone is usable for Horizon dictation and report which layer is at fault — no signal, bad level, or a genuine model/accent limit.
$ npx skills add peters/horizon --skill horizon-speech -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install peters/horizon horizon-speech --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/peters/horizon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/assets/plugins/codex/skills/horizon-speech .claude/skills/horizon-speech && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "horizon-speech" agent skill from https://github.com/peters/horizon/tree/main/assets/plugins/codex/skills/horizon-speech into .claude/skills/horizon-speech/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "horizon-speech", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/peters/horizon/tree/main/assets/plugins/codex/skills/horizon-speechType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add peters/horizon --skill horizon-speech -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install peters/horizon horizon-speech --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peters/horizon.git skills-src && mkdir -p .agents/skills && cp -r skills-src/assets/plugins/codex/skills/horizon-speech .agents/skills/horizon-speech && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "horizon-speech" agent skill from https://github.com/peters/horizon/tree/main/assets/plugins/codex/skills/horizon-speech into .agents/skills/horizon-speech/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "horizon-speech", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add peters/horizon --skill horizon-speech -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install peters/horizon horizon-speech --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peters/horizon.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/assets/plugins/codex/skills/horizon-speech .cursor/skills/horizon-speech && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "horizon-speech" agent skill from https://github.com/peters/horizon/tree/main/assets/plugins/codex/skills/horizon-speech into .cursor/skills/horizon-speech/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "horizon-speech", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/peters/horizon.git --path assets/plugins/codex/skills/horizon-speech--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add peters/horizon --skill horizon-speech -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install peters/horizon horizon-speech --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peters/horizon.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/assets/plugins/codex/skills/horizon-speech .gemini/skills/horizon-speech && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "horizon-speech" agent skill from https://github.com/peters/horizon/tree/main/assets/plugins/codex/skills/horizon-speech into .gemini/skills/horizon-speech/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "horizon-speech", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install peters/horizon horizon-speechInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add peters/horizon --skill horizon-speech -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/peters/horizon.git skills-src && mkdir -p .github/skills && cp -r skills-src/assets/plugins/codex/skills/horizon-speech .github/skills/horizon-speech && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "horizon-speech" agent skill from https://github.com/peters/horizon/tree/main/assets/plugins/codex/skills/horizon-speech into .github/skills/horizon-speech/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "horizon-speech", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add peters/horizon --skill horizon-speech -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install peters/horizon horizon-speech --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/peters/horizon.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/assets/plugins/codex/skills/horizon-speech .opencode/skills/horizon-speech && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "horizon-speech" agent skill from https://github.com/peters/horizon/tree/main/assets/plugins/codex/skills/horizon-speech into .opencode/skills/horizon-speech/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "horizon-speech", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
horizon-speechCheck that a microphone is usable for Horizon dictation and report which layer is at fault — no signal, bad level, or a genuine model/accent limit.
Horizon Speech is an agent skill from peters/horizon. Check that a microphone is usable for Horizon dictation and report which layer is at fault — no signal, bad level, or a genuine model/accent limit. Use when dictation produces wrong, unrelated, or empty text.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `level.py`).
It sits in Media & Creative, covering Transcription. It works with Model Context Protocol. The repository describes itself as: GPU-accelerated terminal board that puts all your sessions on an infinite canvas. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e2e6058. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
ffmpegpython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Horizon Speech loads about 1.8k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 996 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from peters/horizon at commit e2e6058, republished under its MIT licence (© peters). 996 words, ~1,754 tokens.
.claude/skills/horizon-speech/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This skill uses local audio diagnostics. Horizon has no speech MCP tool. Do not treat dictation as an MCP-controlled capability.
Run this when a user says dictation "types the wrong thing", produces text they never said, or produces nothing.
Whisper-family models hallucinate fluent, plausible text when fed silence.
Given a digitally silent recording, NB-Whisper will confidently emit something
like Esther Smith, forfatter — grammatical, idiomatic, and completely
unrelated to the user. The output looks like a model, accent, or dialect
problem. It is almost always a capture problem.
So: measure the capture level before touching models, languages, or config. Never conclude "the model is bad at your accent" until step 3 shows real signal.
A user cannot tell these apart from the transcript alone. That is the whole reason this skill exists.
Horizon resolves its config by checking, in order, $HOME/.horizon/, then
$XDG_CONFIG_HOME/horizon/, then a relative horizon.yaml/horizon.yml in the
working directory. Resolution keys off HOME on every platform — Windows
included; USERPROFILE is never consulted, so a native Windows launch without
HOME set falls back to the relative path. Confirm which file is actually live
before trusting it, or you may inspect a config Horizon never loaded.
Read features.speech from that file:
input_device: "" means the system default input is used.If the configured name matches no present device, Horizon falls back to the system default and only logs a warning. The user never sees it. A config naming a microphone that is no longer plugged in therefore looks like it works. Check the name against the live device list before anything else.
List input devices:
wpctl status, or pactl list short sourcesarecord -lsystem_profiler SPAudioDataType, or
ffmpeg -f avfoundation -list_devices true -i ""ffmpeg -list_devices true -f dshow -i dummy, or
Get-PnpDevice -Class AudioEndpoint in PowerShellAlso confirm the device is not a Bluetooth headset in HSP/HFP mode. That profile is narrowband and heavily compressed; it degrades accuracy badly. Prefer a wired or USB microphone, or force the A2DP-era high-quality input if the stack offers one.
Ask the user to speak normally for about six seconds. Record mono at 16 kHz — that is what the models consume.
Record from the device step 1 matched, never the system default. When
input_device names a non-default microphone, sampling the default measures a
different device than Horizon uses and can yield the exact opposite diagnosis —
a silent default while the real microphone works, or the reverse.
arecord -D <device> -f S16_LE -r 16000 -c 1 -d 6 sample.wav,
where <device> is a name from arecord -Lpw-record --target <node-name-or-id> --rate 16000 --channels 1 sample.wavffmpeg -f avfoundation -i ":<device-index>" -ar 16000 -ac 1 -t 6 sample.wavffmpeg -f dshow -i audio="<device name>" -ar 16000 -ac 1 -t 6 sample.wavOnly fall back to the default device when input_device is empty, since that is
what Horizon itself then uses.
Tell the user when recording starts. If you launch the recorder as a background task, add a visible countdown first — otherwise the window elapses while they are still reading your message, and you will measure an empty room and misdiagnose it as a dead microphone.
level.py sits next to this SKILL.md. Invoke it by its full path — the
working directory is normally the user's workspace, not the installed skill
directory, so a bare level.py will not be found:
python3 <dir containing this SKILL.md>/level.py sample.wavOn Windows use the standard launcher: py -3 ...\level.py sample.wav.
It needs only the Python 3 standard library, and reports peak, RMS and clipped samples, each as a percentage of full scale so the numbers mean the same thing at every sample width:
| Reading | Meaning | Fix |
|---|---|---|
peak below 0.6% | No signal — capture muted, or no device | Unmute capture; confirm the right device is selected and present |
| clipped samples > 20 | Too hot — distortion | Lower gain; turn microphone boost off first |
rms above 25% | Hotter than necessary | Reduce gain slightly |
rms 5–25% | Ideal for ASR | Nothing to do |
rms 2–5% | Usable | A little more gain would help |
rms below 2% | Too quiet | Raise gain, or move closer |
Run the profile's model against sample.wav and compare with what the user
actually said. Horizon's models are transcribe.cpp GGUFs; if a transcribe-cli
build is available:
transcribe-cli -m <model>.gguf -l <lang> sample.wavOtherwise have the user dictate the same sentence in Horizon and compare.
Combine steps 3 and 4 — this is the part the user cannot do alone:
Report which of these it is explicitly. "Your microphone is fine, the model mis-heard a term" and "your microphone captured nothing" are opposite fixes and look identical in the transcript.
Turn microphone boost off before raising capture volume — boost amplifies the microphone's own noise floor as much as the voice.
wpctl set-volume <source-id> <0.0-1.0>. This maps onto the
ALSA hardware control. Boost lives in amixer -c <card>, e.g.
amixer -c <card> sset 'Mic Boost' 0.Re-run steps 2–3 after each change. Gain that sounds fine to a human can still be clipping.
© peters, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in assets/plugins/codex/skills/horizon-speech of peters/horizon.
Open the folder on GitHubat commit e2e6058
Horizon Speech next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Horizon Speech this skillpeters/horizon | 716 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Resolve Audiosamuelgursky/davinci-resolve-mcp | 3.5k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Premiere Captionsayushozha/AdobePremiereProMCP | 120 | — | ~724 | Automated safety check: Pass | MIT | |
| Proofreadsonilo-ai/skills | 115 | — | ~4.4k | Automated safety check: Notes | MIT | |
| Transloadit Media Processinggithub/awesome-copilot | 40k | 1 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Scenario Caption Studioscenario-labs/skills | 946 | — | ~3.4k | Automated safety check: Pass | MIT |
samuelgursky/davinci-resolve-mcp
Audio and Fairlight work in the DaVinci Resolve MCP. An agent skill from samuelgursky/davinci-resolve-mcp.
ayushozha/AdobePremiereProMCP
Import, verify, structurally validate, and export timed captions or subtitles in Adobe Premiere Pro.
sonilo-ai/skills
Transcribe a video with Sonilo and translate the transcript into editable .srt files — one per target language, plus the detected source language — so the wording can be read and corrected before…
github/awesome-copilot
Process media files (video, audio, images, documents) using Transloadit.
scenario-labs/skills
A skill your agent uses when a video needs its spoken words on screen through Scenario via MCP: burned-in styled captions for a TikTok, Reels, or Shorts cut, ad captions for sound-off feeds, YouTube…
scenario-labs/skills
A skill your agent uses when generated clips must become a finished video on Scenario via MCP: cutting a shot list together, laying a timeline, concatenating with transitions, overlaying a logo or…
peters/horizon
Manage Horizon native VNC Device panels and drive isolated local desktops for simulators and native application tests through devicepanel and the horizon-device CLI/MCP.
peters/horizon
Run or inspect declared iOS and Android native app tests through Horizon devicetestrun and app MCP tools.
peters/horizon
Cast Horizon panels, workspaces, cloud cards, or its main window to Apple TV through the public cast MCP tool.
peters/horizon
Control, inspect, or audit Horizon browser panels through public browser MCP tools.
peters/horizon
Inspect Horizon cloud offers and companions, read or act on the cloud list of your workspace, control explicitly authorized companion workers, use a worker Local Network Bridge, or ask for GitHub…
Works with
Categories
Check that a microphone is usable for Horizon dictation and report which layer is at fault — no signal, bad level, or a genuine model/accent limit. Horizon Speech is an agent skill from peters/horizon. Check that a microphone is usable for Horizon dictation and report which layer is at fault — no signal, bad level, or a genuine model/accent limit.
Horizon Speech fits situations like: dictation produces wrong; tasks that involve Transcription.
Run `npx skills add peters/horizon --skill horizon-speech -a claude-code`. Or copy the skill folder (assets/plugins/codex/skills/horizon-speech in peters/horizon) into .claude/skills/horizon-speech in your project. Claude Code loads it when a task matches its description.
Run `npx skills add peters/horizon --skill horizon-speech -a codex`. Or copy the skill folder (assets/plugins/codex/skills/horizon-speech in peters/horizon) into .agents/skills/horizon-speech in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add peters/horizon --skill horizon-speech -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/horizon-speech, .gemini/skills/horizon-speech, .github/skills/horizon-speech and .opencode/skills/horizon-speech in your project.
Going by SKILL.md and its folder, Horizon Speech needs Python for the scripts in its folder and the command-line tools its instructions call (ffmpeg and python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Horizon Speech is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Horizon Speech: Resolve Audio (samuelgursky/davinci-resolve-mcp, 3.5k stars), Premiere Captions (ayushozha/AdobePremiereProMCP, 120 stars), Proofread (sonilo-ai/skills, 115 stars) and Transloadit Media Processing (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
peters (a GitHub user) maintains it in peters/horizon, which has 716 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 11, 2026.
Source: peters/horizon on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.