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을 만듭니다.
npx claudepluginhub gaebalai/gaebalai-marketplace --plugin cc-meeting-highlightCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.