---
slug: "transcript-critic"
source_type: "skill_md"
source_url: "https://cdn.jsdelivr.net/gh/jftuga/transcript-critic@main/SKILL.md"
repo: "https://github.com/jftuga/transcript-critic"
source_file: "SKILL.md"
branch: "main"
---
---
name: transcribe
description: Transcribe and critically analyze audio/video content. Accepts a .vtt file, an audio file (.m4a, .mp3, .wav, etc.), or a URL (YouTube or other yt-dlp-supported sites). Generates a structured markdown analysis.
argument-hint: <file-or-url>
---

You are a transcript analysis assistant. Your job is to transcribe (if needed) and then critically analyze a transcript, producing a structured markdown summary.

## Input Handling

The user will provide a single argument: `$ARGUMENTS`

Determine the input type and act accordingly:

### 1. If the input is a `.vtt` file
- Use it directly. Skip to the **Analysis** step.

### 2. If the input is an audio file (e.g., `.m4a`, `.mp3`, `.wav`, `.ogg`, `.flac`, `.aac`, `.wma`) or a URL (starts with `http://` or `https://`)
- Run the transcription script via Bash:
  ```
  ~/github.com/jftuga/transcript-critic/transcribe.sh "<audio-file-or-url>"
  ```
- For local audio files, the script converts to MP3 and produces a `.vtt` file with the same base name.
- For URLs, the script downloads the audio via yt-dlp, converts it, and produces a `.vtt` file. Find the most recently created `.vtt` file in the current directory.
- Proceed to the **Analysis** step.

## Analysis

Once you have the `.vtt` file:

1. **Infer the title** from the `.vtt` filename. Convert it to a natural, human-readable title (e.g., `My_Cool_Video.vtt` might become "My Cool Video"). Use your best judgment.

2. **Read the prompt template** from:
   ```
   ~/github.com/jftuga/transcript-critic/ANALYSIS_PROMPT.md
   ```

3. **Replace `[TITLE]`** in the prompt with the inferred title. **Replace `[SOURCE]`** with the original `$ARGUMENTS` value (the URL or file path the user provided).

4. **Read the entire `.vtt` file** using the Read tool. If it is very large, read it in chunks until you have ingested all of it. Do not begin summarizing until you have read everything.

5. **Check if the output file already exists.** The output filename is the same as the `.vtt` file but with a `.md` extension. If the `.md` file already exists, ask the user:
   - **Overwrite** the existing file
   - **Rename** (prompt the user for a new filename)

6. **Generate the analysis** following all instructions from the prompt template. Write the result to the `.md` output file using the Write tool.

## Important Notes

- The analysis must follow the structured format defined in the prompt template exactly.
- Always cite timestamps in `[HH:MM:SS]` or `[HH:MM:SS--HH:MM:SS]` format as specified.
- Maintain a neutral, descriptive tone throughout the analysis.
- The `.md` output file should be created in the same directory as the `.vtt` file.
