Agent skill

Erm Tune

by dougcalobrisi in dougcalobrisi/erm

Diagnose and tune erm's output quality. An agent skill from dougcalobrisi/erm.

MITAuto-check: notesMedia & Creative

Install Erm Tune

skills CLI
$ npx skills add dougcalobrisi/erm --skill erm-tune -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dougcalobrisi/erm erm-tune --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dougcalobrisi/erm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/erm-tune .claude/skills/erm-tune && rm -rf skills-src

Use ~/.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/

Facts

Skill name
erm-tune
GitHub stars
112
Token cost
~1k tokens
SKILL.md length
407 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Diagnose and tune erm's output quality. An agent skill from dougcalobrisi/erm.

  • Works in 3 steps: Diagnose first — ask what's wrong → The five knob clusters → Iterate safely
  • An erm run is imperfect
  • SKILL.md covers Resolving documentation, 1. Diagnose first — ask what's…, 2. The five knob clusters and 3. Iterate safely
  • Calls uvx

What it does

Erm Tune is an agent skill from dougcalobrisi/erm. Diagnose and tune erm's output quality. Use when an erm run is imperfect or the user wants to adjust settings — fillers still audible, real words clipped, splices click or sound smeared/blurry, noise floor pumps or is audible, words run together, detection too aggressive or missing fillers, or questions about crossfade, pause spacing, denoise, room tone, models, or detection thresholds. For first-time install or a basic clean, use the erm skill instead.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative. It works with FFmpeg and Python. The repository describes itself as: Local CLI that strips disfluencies (um, uh, er, erm, ah, hmm, mhm, mm, uh-huh, etc) from recordings of English speech. The licence is MIT.

When your agent uses it

  • An erm run is imperfect
  • The user wants to adjust settings — fillers still audible
  • Real words clipped
  • Sound smeared/blurry

Example prompts

  • “/erm-tune”

Requirements

  • Pre-approved tools (allowed-tools): Bash, Read, AskUserQuestion

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Diagnose first — ask what's wrong
  2. The five knob clusters
  3. Iterate safely

What it can do on your machine

Read from SKILL.md and the folder at commit af2fe92. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uvx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • doug.sh

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Erm Tune loads about 1k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 407 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~117
When it runs · the whole SKILL.md, loaded when a task matches
~1k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, AskUserQuestion

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.

SKILL.md

The full file from dougcalobrisi/erm at commit af2fe92, republished under its MIT licence (© dougcalobrisi). 407 words, ~1,006 tokens.

Download SKILL.mdSave it as .claude/skills/erm-tune/SKILL.md (or your agent's skills folder).
name
erm-tune
description
Diagnose and tune erm's output quality. Use when an erm run is imperfect or the user wants to adjust settings — fillers still audible, real words clipped, splices click or sound smeared/blurry, noise floor pumps or is audible, words run together, detection too aggressive or missing fillers, or questions about crossfade, pause spacing, denoise, room tone, models, or detection thresholds. For first-time install or a basic clean, use the erm skill instead.
allowed-tools
Bash, Read, AskUserQuestion

erm — tune and troubleshoot

erm exposes ~30 flags that cluster into five knob groups. Tune by symptom, change one cluster at a time, and re-check with --dry-run + validate.

Launcher convention. This skill assumes erm is already runnable (set up by the erm skill). In the commands below, erm means that launcher: uvx erm … if you ran it via uv, or plain erm … after activating the venv where it's installed.

Resolving documentation

Resolve detail in this order (broadest compatibility last):

  1. erm --help — definitive flag names, defaults, and units.
  2. Public docs: https://doug.sh/docs/erm/ — troubleshooting, detection, render-pipeline, denoise-and-room-tone.
  3. Bundled docs (Claude plugin only): ${CLAUDE_PLUGIN_ROOT}/docs/*.md; flag defaults in ${CLAUDE_PLUGIN_ROOT}/src/erm/cli.py.

Never guess values — read one of the above before recommending a setting.

1. Diagnose first — ask what's wrong

Use AskUserQuestion to pin the symptom (each maps to a different cluster), unless the user already described it:

  • Fillers still audible / missed → detection
  • A specific word should also be cut, or a default word is over-matching → detection word list (--add-fillers / --remove-fillers)
  • Real words clipped or chopped → detection (too aggressive) / refinement
  • Splices click, pop, or sound smeared/blurry → crossfade / refinement
  • Noise floor pumps, audible level changes at edits → denoise / room tone
  • Words run together with no breath → splice spacing
  • Too slow → detection (--model/--device)

Then read the troubleshooting doc for the symptom→knob fix.

Show full SKILL.md (192 more words)Show less

2. The five knob clusters

Read the linked doc page for good-value ranges before changing anything.

  1. Detection aggressiveness (what gets cut) — --model (biggest lever), --detect-gaps, --confirm-pitch, --gap-min-ms, --gap-min-voiced-ms, --gap-max-voiced-ms, --intraword-min-ms, --fillers. → detection doc.
    • Word list (pass 1): --add-fillers "word,word" adds words on top of the defaults; --remove-fillers "word" drops a default that over-matches (removal wins). Prefer these over --fillers, which replaces the whole set.
  2. Refinement / merge (clean splice points) — --search-ms, --merge-gap-ms. → render-pipeline doc.
  3. Splice spacing (remove mode breathing room) — --pad-pause-factor, --pad-min-ms, --pad-max-ms, --min-gap-ms. → render-pipeline doc.
  4. Crossfade (splice smoothness) — --crossfade-factor, --min-crossfade-ms, --max-crossfade-ms, --crossfade-ms. → render-pipeline doc.
  5. Denoise / room tone (uniform floor) — --denoise none|pre|post|hybrid, --denoise-nr, --denoise-nf, --room-tone/--no-room-tone, --room-tone-level-db, --room-tone-source. → denoise-and-room-tone doc.

3. Iterate safely

  1. Tune detection against the cut list first: erm IN.wav --dry-run and inspect the JSON — cheaper than re-rendering audio.
  2. Change one cluster, re-render, and erm validate IN.wav OUT.wav.
  3. Compare against the previous output before changing anything else.
Optional: parallel A/B (enhancement)

When several settings are plausible, you may render a few variants with different knob values in parallel, validate each, and compare — instead of serial guess-and-check. Keep variants labeled by the flag that changed.

© dougcalobrisi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/erm-tune of dougcalobrisi/erm.

Open the folder on GitHubat commit af2fe92

Compare with similar skills

Erm Tune 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.

Erm Tune compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Erm Tune this skilldougcalobrisi/erm112—~1kAutomated safety check: NotesMIT
Vlog Auto Editznyupup/ai-video-editing-skill150—~6.8kAutomated safety check: PassMIT
Watchmathiaschu/watch142—~4kAutomated safety check: WarnMIT
Render Myth Vs Factgooseworks-ai/goose-skills1.2k—~2.2kAutomated safety check: PassMIT
Watch Video Q&Abradautomates/claude-video18k—~4.3kAutomated safety check: NotesMIT
Vox DirectorAlisa0808/vox-director2.2k—~5.6kAutomated safety check: PassMIT

Similar skills

  • Vlog Auto Edit

    znyupup/ai-video-editing-skill

    AI Agent自动剪辑旅行Vlog的完整工作流。从原始素材到成品视频,系统级只需ffmpeg,其余在Python venv内完成。by nyx研究所 (GitHub @znyupup · B站/小红书 @nyx研究所)

    150 GitHub stars~6.8k tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed
  • Watch

    mathiaschu/watch

    Watch a video from YouTube, Instagram, X/Twitter, Vimeo, TikTok or any of ~1800 yt-dlp sites (or a local path).

    142 GitHub stars~4k tokensUpdated 4 mo ago
    Media & CreativeAuto-check: warnings
  • Render Myth Vs Fact

    gooseworks-ai/goose-skills

    Assemble a myth-vs-fact kinetic-typography explainer video ad (≈29.5s, 9:16) from N myth/fact pairs + hook / turn / punch copy + palette + a brand end-card PNG + a VO track — a hook, 3 red-strike…

    1.2k GitHub stars~2.2k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Watch Video Q&A

    bradautomates/claude-video

    Lets the agent answer questions about a video from a URL or local file by downloading it, extracting frames and a transcript, or by sending it to Gemini's video model.

    18k GitHub stars~4.3k tokensUpdated 16 days ago
    Media & CreativeAuto-check: notes
  • Vox Director

    Alisa0808/vox-director

    Turn ONE topic into a finished Vox-style paper-collage explainer / ad video, end to end on the Atlas Cloud API + local ffmpeg — script, collage keyframes, motion, voice-over, music, captions, all…

    2.2k GitHub stars~5.6k tokensUpdated 5 days ago
    Media & CreativeAuto-check passed
  • Youtube Clipper

    op7418/Youtube-clipper-skill

    YouTube 视频智能剪辑工具。下载视频和字幕,AI 分析生成精细章节(几分钟级别), 用户选择片段后自动剪辑、翻译字幕为中英双语、烧录字幕到视频,并生成总结文案。

    2.2k GitHub stars~1.6k tokensUpdated 8 mo ago
    Media & CreativeAuto-check: notes

More from dougcalobrisi/erm

  • Erm

    dougcalobrisi/erm

    Install and run erm, the local CLI that removes filler words / disfluencies (um, uh, er, erm, ah, hmm, mhm, mm, uh-huh and elongations) from spoken-audio recordings.

    112 GitHub stars~1.3k tokensUpdated 1 mo ago
    Auto-check: notes

Works with

Questions about Erm Tune

What does Erm Tune do?

Diagnose and tune erm's output quality. An agent skill from dougcalobrisi/erm. Erm Tune is an agent skill from dougcalobrisi/erm. Diagnose and tune erm's output quality.

When should I use Erm Tune?

Erm Tune fits situations like: an erm run is imperfect; the user wants to adjust settings — fillers still audible; real words clipped; sound smeared/blurry.

How do I install Erm Tune in Claude Code?

Run `npx skills add dougcalobrisi/erm --skill erm-tune -a claude-code`. Or copy the skill folder (skills/erm-tune in dougcalobrisi/erm) into .claude/skills/erm-tune in your project. Claude Code loads it when a task matches its description.

How do I install Erm Tune in Codex?

Run `npx skills add dougcalobrisi/erm --skill erm-tune -a codex`. Or copy the skill folder (skills/erm-tune in dougcalobrisi/erm) into .agents/skills/erm-tune in your project. Codex loads it when a task matches its description.

Can I use Erm Tune in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dougcalobrisi/erm --skill erm-tune -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/erm-tune, .gemini/skills/erm-tune, .github/skills/erm-tune and .opencode/skills/erm-tune in your project.

What does Erm Tune need to run?

Going by SKILL.md and its folder, Erm Tune needs the command-line tools its instructions call (uvx). Its frontmatter pre-approves these tools: Bash, Read, AskUserQuestion.

Does Erm Tune access the network?

SKILL.md names 1 domain. As links in the text: doug.sh. This is read from the text; nothing was executed.

Is Erm Tune safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Erm Tune use?

Erm Tune is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Erm Tune use?

About 1k tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Erm Tune?

Skills that share tags, products or a category with Erm Tune: Vlog Auto Edit (znyupup/ai-video-editing-skill, 150 stars), Watch (mathiaschu/watch, 142 stars), Render Myth Vs Fact (gooseworks-ai/goose-skills, 1.2k stars) and Watch Video Q&A (bradautomates/claude-video, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Erm Tune?

dougcalobrisi (a GitHub user) maintains it in dougcalobrisi/erm, which has 112 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on August 23, 2026.

Source: dougcalobrisi/erm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.