trim-fillerlisted
Install: claude install-skill jperrello/C0BALT_CUT
# trim-filler
Tightens a podcast clip by stripping low-value words, not just silence. Where `tighten-pace` cuts inter-word gaps `> gap_max`, `trim-filler` cuts whole spans of speech that don't carry the point — "uh", "um", "you know what I mean", false starts, and the brief tangents speakers fall into mid-sentence.
Example: `"I opened a restaurant that was like uhm — I love restaurants haha — yeah me too anyways it sold burgers"` → `"I opened a restaurant that sold burgers"`.
## Invoke
```
.claude/skills/trim-filler/trim-filler.sh <in_transcript> <out_keeps> <out_transcript> [pad=0.05]
```
- `in_transcript` — clip-local word-timed transcript JSON (output of `transcribe` rebased to the clip)
- `out_keeps` — written `keeps.json` containing the keep ranges and removal rationale
- `out_transcript` — written clip-local transcript JSON with only kept words and shifted timestamps
- `pad` — kept padding around each retained span (sec)
## Output shape — keeps.json
```json
{
"source": "<original transcript path>",
"keeps": [[0.0, 4.21], [5.83, 12.04], ...],
"removed": [
{"t0": 4.21, "t1": 5.83, "words": "uhm — I love restaurants haha — yeah me too anyways", "reason": "filler + digression"}
],
"removed_total": 1.62
}
```
## How
1. Build a numbered transcript (one word per line: `<idx>\t<t0>\t<t1>\t<word>`).
2. Ask Claude (`claude -p`) which index ranges to REMOVE because they are filler, trail-offs, false starts, or short asides that don't carry the speaker's poin