xuiltul

zoom-meeting-scribe

Zoom 회의 청취 담당 워크플로. RTMS를 통해 도착하는 회의 트랜스크립트를 조용히 이해·기록하고, 긴급 사항만 상사에게 에스컬레이션하며, 회의 종료 후 사람의 승인을 받은 뒤 리포트를 게시한다. Use when: source=zoom 인 inbox 메시지(「[Zoom会議実況 チャンク#N …]」 또는 「[Zoom会議終了 …]」 헤더 포함)를 수신했을 때.

xuiltul 254 45 Updated 2mo ago
GitHub

Install

npx skillscat add xuiltul/animaworks/templates-ko-common-skills-zoom-meeting-scribe

Install via the SkillsCat registry.

About this skill

Here's a thinking process: 1. **Analyze the Request:** - **Goal:** Write a 2-3 sentence plain-text summary in English. - **Subject:** An AI agent skill for a public software directory (based on the provided Zoom meeting scribe workflow). - **Key Points to Cover:** - What the skill does - What problem it solves - When an agent/developer should use it - **Constraints:** - Objective, factual tone - No marketing language, superlatives, calls to action - Natural prose, no bullet points, no headings, no markdown - No wrapping in quotes - At most 60 words - **Output:** ONLY the summary text. 2.

SKILL.md

스킬: Zoom 회의 스크라이브 (청취·요약·승인 기반 리포트)

Zoom RTMS 게이트웨이가 회의 트랜스크립트를 수 분마다 청크 단위로 당신의 inbox에 주입합니다. 당신의 역할은 청취 전용 참가자로서 내용을 이해·정리하고, 회의 종료 후 리포트를 정리한 뒤 사람의 승인을 받고 나서 게시하는 것입니다.

도착하는 메시지의 형식

아래 헤더 문자열은 게이트웨이 구현(server/zoom_gateway.py)이 현재 일본어로 출력하므로, 괄호 안에 한국어 의미를 병기합니다. 실제 매칭은 일본어 원문 그대로 수행하세요.

종류 헤더 의미
실황 청크 [Zoom会議実況 チャンク#N | 会議: {제목} ({회의 ID}) | {시작 시각}〜] (Zoom 회의 실황 청크) 회의 중 발화 (화자명: 발언 형식의 행이 이어짐)
종료 통지 [Zoom会議終了 | 会議: {제목} ({회의 ID}) | 全Nチャンク配信済み] (Zoom 회의 종료, 전 N청크 전송 완료) 회의 종료. 리포트 작성 신호
  • 같은 회의의 청크는 동일 스레드(zoom-{회의 UUID})로 도착합니다.
  • 청크 앞머리에 [接続断により一部欠落] (접속 끊김으로 일부 누락)이 있는 경우, 그 직전 발화가 소실되었을 가능성이 있습니다. 리포트에 누락 가능성을 주기하세요.
  • 화자명은 Zoom의 표시 이름입니다. 不明 (불명)은 화자를 특정하지 못한 발화입니다.

워크플로

1. 실황 청크 수신 시 — 침묵하며 파악한다

  • 내용을 읽고, 다음을 자신의 메모(작업 메모리·노트)에 순차 정리합니다:
    • 결정 사항 (누가 무엇을 결정했는지)
    • 액션 아이템 (담당·기한)
    • 미해결 논점·이월 사항
    • 회의 흐름의 요점
  • 답신·채널 게시·회의 개입은 일절 하지 않습니다. 당신은 청취자입니다.
  • 청크 번호의 결번을 발견하면, 누락 구간이 있는 것으로 취급합니다.

2. 긴급 사항의 즉시 에스컬레이션 (예외)

회의 중이라도 다음에 해당하는 내용을 감지하면 그 시점에 send_message로 상사(조직 컨텍스트에 표시되는 supervisor)에게 요점을 보고합니다:

  • 장애·사고·보안 문제 보고
  • 당일~익영업일이 기한인 결정 사항·의뢰
  • 당신 자신 또는 당신 팀 앞으로의 명시적인 액션 의뢰
  • 법무·금전에 관한 중대한 리스크 언급

상사가 없는(자신이 최상위인) 경우에는 call_human으로 사람에게 직접 통지합니다. 에스컬레이션한 사실은 메모에 남기고, 최종 리포트에도 기재합니다.

3. 회의 종료 시 — 리포트 작성

종료 통지를 받으면, 축적한 메모와 대화 이력으로부터 다음 구성으로 리포트를 작성합니다:

# 회의 리포트: {회의명}
- 일시: {시작~종료}
- 참가자: {발화자 목록}

## 결정 사항
- …

## 액션 아이템
| 항목 | 담당 | 기한 |

## 논의 요점
- …

## 에스컬레이션한 사항
- … (없으면 「없음」)

## 비고
- (트랜스크립트 누락 가능성 등)

발화가 거의 없거나 잡담뿐이어서 리포트로서 가치가 없는 경우에는, 그 취지를 짧게 기록하고 종료해도 됩니다(승인 플로 불필요).

4. 사람의 승인 — 승인 전에 게시하지 않는다

리포트 본문을 call_human으로 사람에게 제시하고 승인을 요청합니다:

call_human(
  subject="회의 리포트 승인 요청: {회의명}",
  body="{리포트 전문}",
  interactive=true,
  options=["approve", "reject", "comment"]
)
  • 승인(approve)이 돌아올 때까지 리포트를 어디에도 게시하지 않습니다.
  • call_human은 대기 불필요(fire-and-resume)입니다. 승인 요청을 낸 뒤에는 이번 턴을 종료해도 됩니다. 사람의 결정은 나중에 새로운 inbox 메시지로 도착합니다.
  • reject / comment가 돌아온 경우: 지적을 반영하여 리포트를 수정하고, 다시 call_human으로 승인을 요청합니다.

5. 승인 후 — 게시

승인이 도착하면, 운영 지시(injection 등)로 지정된 Board 채널post_channel로 리포트를 게시합니다:

post_channel(channel="{지정된 Board명}", content="{승인된 리포트}")

게시 대상 Board가 지시되지 않은 경우에는 게시하지 말고, 승인된 리포트가 수중에 있다는 사실을 상사(없으면 사람)에게 전하고 지시를 요청합니다.

금지 사항

  • 회의 중 청크에 대한 답신·실황·중간 경과 게시
  • 승인 전 리포트 게시·외부 공유
  • 트랜스크립트 본문의 무관한 채널로의 전재(회의 내용은 참가자의 프라이버시를 포함)

운영 측 설정 (참고)

이 스킬 자체는 게시 대상이나 담당자를 고정하지 않습니다. 다음은 각 Anima의 운영 설정으로 결정됩니다:

  • 어느 회의가 어느 Anima에 도착하는가: 서버 설정 external_messaging.zoom.meeting_mapping
  • 리포트 게시 대상 Board: 각 Anima에 대한 운영 지시(injection 등)로 지정
  • 에스컬레이션 대상: 조직 구조(supervisor)에 따름