From claude-transcription
Concatenate multiple transcript variants (raw, cleaned, structured, blog, summary, notes) into a single combined document — markdown with variant headers, or Typst-rendered PDF with page numbers and variant name in the footer. Use when the user asks to combine versions, merge transcript variants, or produce a single multi-version document.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-transcription:combine-versionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Merge multiple variants of the same transcript into one document so the user can compare or archive them together.
Merge multiple variants of the same transcript into one document so the user can compare or archive them together.
Detect available variants for a given source stem by checking for:
<stem>.raw.txt<stem>.cleaned.md<stem>.structured.md<stem>.blog.md<stem>.summary.md<stem>.notes.mdUser may specify which to include; default is "all available".
<stem>.combined.md — each variant under an H1 header with metadata:
# Transcript: <stem>
_Generated: YYYY-MM-DD_
_Source: <source audio filename>_
---
# Variant: Raw transcript
_Source file: <stem>.raw.txt_
_Produced by: transcribe-gemini-raw_
<content>
---
# Variant: Cleaned
_Source file: <stem>.cleaned.md_
_Produced by: clean-transcript_
<content>
---
# Variant: Structured
<content>
...
<stem>.combined.pdf — styled PDF via Typst.
Typst template:
#set document(title: "Transcript: <stem>")
#set page(
paper: "a4",
margin: (x: 2.5cm, y: 2cm),
header: [#h(1fr) <stem>],
footer: context [
#h(1fr)
Variant: #variant-name #h(2em) Page #counter(page).display()
],
)
#set text(font: "IBM Plex Sans", size: 10pt)
#show heading.where(level: 1): it => [
#pagebreak(weak: true)
#set text(size: 16pt, weight: "bold")
#it
]
// For each variant:
#let variant-name = "Raw transcript"
= Raw transcript
<content converted from md to typst>
#let variant-name = "Cleaned"
= Cleaned
...
Note: the variant-name state needs to be tracked per-section so the footer updates correctly — use Typst's state() or per-page context resolution.
Render:
typst compile <stem>.combined.typ <stem>.combined.pdf
Use IBM Plex Sans if available; otherwise fall back to the default Typst font.
For the PDF path, convert markdown content to Typst:
# H1 → = H1 (but we're already using = for variant headers; demote markdown H1 within content to ==)## H2 → ==**bold** → *bold**italic* → _italic_- list → - list (Typst supports markdown-like lists)raw() blocksFor complex markdown, consider piping through pandoc -t typst if available.
--variants raw,cleaned,structured — pick subset--format md|pdf|both — output format(s)--output <path> — custom pathnpx claudepluginhub danielrosehill/claude-code-plugins --plugin claude-transcriptionCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.