From cc-meeting-highlight
회의 받아쓰기(transcript.json)와 회의록 요약 텍스트(예: Gemini Meet 요약, Teams 요약, 네이버 웍스 요약)를 입력으로 받아, 회의에서 다뤄진 주요 토픽을 추출해 transcript의 word-level 타임스탬프와 매칭한 topics.json을 생성합니다. "회의 토픽 뽑아줘", "topics.json 만들어줘", "회의 요약과 받아쓰기 매칭해줘" 같은 표현에서 발동됩니다. cc-meeting-highlight 파이프라인의 Phase 3.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cc-meeting-highlight:topics-extractorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
회의 받아쓰기(transcript)와 회의록 요약(summary)을 결합해, 토픽별 시작/종료 타임스탬프를 가진 `topics.json`을 만듭니다. 이후 highlights-selector 스킬이 이 결과에서 60초 분량을 선정합니다.
회의 받아쓰기(transcript)와 회의록 요약(summary)을 결합해, 토픽별 시작/종료 타임스탬프를 가진 topics.json을 만듭니다. 이후 highlights-selector 스킬이 이 결과에서 60초 분량을 선정합니다.
| 파일 | 역할 |
|---|---|
transcript.json | mlx-whisper word-level 받아쓰기. segments[].words[]에 word, start, end. |
회의요약.txt (또는 geminiまとめ.txt) | 회의록 요약. 토픽 단위로 줄/단락 구분된 텍스트. 어떤 도구가 만든 것이든 무관 (Gemini Meet, Teams, 네이버 웍스, 카카오워크, 수기 메모도 가능). |
Meeting Chat.sbv (선택) | Google Meet 채팅 로그. 시각 앵커 보조. |
transcript.json → segments[].text를 시간 순서로 이어 붙인 "full transcript" 생성
회의요약.txt → 토픽 단위 단락으로 분할 (보통 빈 줄, 들여쓰기, 또는 헤딩으로 구분됨)
회의요약 텍스트에서 다음 단서로 토픽을 분리합니다.
##, ■, ▶, 1., [토픽1] 등)최대 토픽 수: 7개. 그보다 많으면 중요도가 낮은 것을 합치거나 제외.
각 토픽에 대해 transcript에서 매칭되는 구간을 찾습니다.
매칭 원리 (키워드 매칭이 아닌 의미적 매칭):
startend시각 보조 단서:
{
"meeting_date": "2025_12_04",
"totalDurationSec": 3612.5,
"topics": [
{
"id": 1,
"title": "12월 출시 일정 확정",
"summary": "QA 마감일을 12/18 → 12/22로 조정. PM/엔지니어 합의.",
"startSec": 245.3,
"endSec": 412.8,
"anchorTexts": [
"그래서 QA 마감을 12월 22일로 미루는 게 어떻겠냐는...",
"엔지니어 입장에서 12/18은 너무 빠듯해서..."
],
"speakers": ["PM", "엔지니어 A"],
"importance": 0.9
}
]
}
필드 설명:
id: 1부터 시작하는 정수title: 1줄 토픽명 (자막에 그대로 쓸 수 있게)summary: 1-2문장 요약startSec / endSec: transcript의 word-level 타임스탬프 기준anchorTexts: transcript에서 이 토픽을 대표하는 발언 1-3개 (디버깅/검증용)speakers: 발언자가 식별 가능하면 배열, 아니면 빈 배열 또는 ["미상"]importance: 0.0~1.0. 회의 결과에 미치는 영향, 후속 액션 동반 여부, 의견 대립의 정도로 판단출력 직전에 다음을 자체 점검합니다.
startSec < endSecendSec <= totalDurationSecendSec - startSec이 30초 이상 (그보다 짧으면 의미 있는 클립이 안 나옴)anchorTexts가 transcript에 실제 존재하는 표현인지 (LLM 환각 방지)검증 실패 항목은 출력 후 사용자에게 명시적으로 보고합니다.
기본: meeting_rec/transcribe/topics.json
호출자가 명시적 경로를 지정한 경우 그쪽을 우선합니다.
summary 끝에 (요약에 없음)을 표기.anchorTexts에는 transcript의 원문 그대로 적되 title/summary는 요약 기준으로 정정합니다.title/summary는 회의의 주 언어를 따릅니다.topics.json 작성이 끝나면 highlights-selector 스킬을 호출해 60초 분량의 highlights.json을 만듭니다.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub gaebalai/gaebalai-marketplace --plugin cc-meeting-highlight