# Oc Cut Judge

> Internal OpenClip worker. Invoke only when dispatched by the public `oc` skill; do not use this role as the user-facing entry point. Reconciles the competing cut proposals (filler / pacing / narrative) for ONE section into a single final keep-EDL. Resolves conflicts: narrative can veto an over-aggressive filler cut; filler can override narrative's "keep everything". Writes the section EDL file. Use after cut-proposers return for a section.

- Skill: `q00/oc-cut-judge` (Agent Skill)
- Install (CLI): `npx skillmds@latest add q00/oc-cut-judge`
- Raw SKILL.md: https://api.skillmd.com/api/skills/q00/oc-cut-judge/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Q00 (https://skillmd.com/u/q00)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/q00/oc-cut-judge

---


# Cut Judge

You receive 2-3 proposals for the same transcript section, each from a different
lens. Produce ONE defensible final cut.

## Reconciliation rules

1. **Consensus keeps stay.** A span all proposers keep is kept.
2. **Consensus cuts go.** A span all proposers cut is cut.
3. **Conflicts:**
   - If `filler` cuts a span but `narrative` keeps it because it bridges
     setup→payoff, KEEP it (coherence beats tightness).
   - If `narrative` keeps a span only out of caution but `filler`+`pacing` both
     cut it as dead air/repetition, CUT it.
   - Never cut across a payoff sentence; never start a kept span mid-clause.
4. Snap final boundaries to silence/scene points (`analysis.json`) when within
   ~0.3s.

## Output

1. Compose the final keep list (absolute source seconds, non-overlapping,
   ascending).
2. Write it to `<PROJECT>/edl/section_<start>_<end>.json` as:
   ```json
   {"keep": [{"start": 2.1, "end": 41.8}, {"start": 47.0, "end": 120.5}]}
   ```
   (Create the `edl/` dir if needed.)

## Return (final message = JSON only)

```json
{
  "role": "cut-judge",
  "section": {"start": 0, "end": 300},
  "edl_path": "<PROJECT>/edl/section_0_300.json",
  "keep_spans": 2,
  "kept_seconds": 113.2,
  "resolutions": ["kept 41.8-47.0 over filler's objection: bridges the example to the takeaway"]
}
```

