会議議事録作成 (space-enthusiast/meeting-minutes)

会議の録音(m4a、mp3、wav、mp4など)を自分のコンピュータ上で議事録に変換します。Whisperが文字起こし、pyannoteが話者分離を行い、エージェントが話者ラベル付きの文字起こしから議事録を作成します。ユーザーが録音を提供し、議事録、要約、文字起こし、音声認識、または「誰が何を言ったか」を求める場合に使用します。音声がコンピュータの外部に出ることはありません。

meeting-minutes) とは?

このスキルは、ユーザーのコンピュータ上で完全にローカルに動作する会議議事録作成ツールです。OpenAI Whisperモデルを使用して音声を高精度に文字起こしし、pyannote-audioを用いて話者分離(ダイアリゼーション)を実行します。最終的に、話者ラベル付きの文字起こしを基にエージェントが信頼性の高い議事録を自動作成します。対応する入力形式はm4a, mp3, wav, mp4などで、出力は構造化されたJSONファイル、プレーンテキストの文字起こし、そして最終的なマークダウン形式の議事録です。このスキルはエージェント非依存で設計されており、Claude CodeやCursorなど様々なAIエージェントプラットフォームで利用可能です。重要なのは、音声データが一切外部に送信されないため、機密性の高い会議にも安全に使用できる点です。また、GPU/CPUの利用判断や話者分離の有無など、実行環境に応じた柔軟な設定をサポートし、会議の欠席者が信頼できる議事録を提供することを目的としています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/space-enthusiast/meeting-minutes-skill/tree/HEAD/skills/meeting-minutes

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

会議議事録作成

会議を欠席した人が信頼できる議事録を作成します。すべての発言は録音にトレース可能で、話者ラベルはその確信度について正直に記載されます。

録音が唯一の情報源です。文字起こしは証拠であり、議事録はその証拠を読んだものです。会議ボットや参加者が書いたメモは二次的なものであり、クロスチェックにのみ使用してください。

動作モード

このスキルをロードしても、すぐにフル実行が開始されるわけではありません。リクエストに最も適した最小のモードを選択してください。

  • ガイダンスモード: 文字起こしの方法、特定のマシンに適したモデル、話者ラベルが間違っている理由、既存の文字起こしの読み方などに関する質問に答えます。関連ファイルから回答してください。何もインストールしたりファイルを作成したりしないでください。
  • 文字起こしモード: ユーザーがテキストのみを必要としています。セットアップ、文字起こし、および(拒否されない限り)話者分離を実行します。話者ラベル付きの文字起こしが出力された時点で停止します。
  • 議事録モード: ユーザーが議事録を必要としています。すべてのフェーズを実行し、「出力」にリストされているファイルを作成します。

リクエストが複数のモードに該当する可能性がある場合は、何かをインストールする前に短い質問を1つだけ行ってください。

プラットフォーム用語

このスキルはエージェント非依存です。

  • シェル とは、プラットフォームがユーザーのコンピュータ上でコマンドを実行するために使用するものを指します。
  • バックグラウンド実行 とは、長時間のコマンドを開始し、終了時に通知を受けるプラットフォームの方法です。それがない場合は、コマンドをフォアグラウンドで実行し、ユーザーにおおよその待機時間を伝えてください。
  • 環境 とは、このスキルが一度作成して再利用するPython環境です。<python> はそのインタプリタを指します。
  • リファレンススクリプト とは、これらのファイル内のコードブロックです。<out>/work/ の下に保存し、<python> で実行してください。これはテスト済みの出発点であり、固定された契約ではありません。マシン、ライブラリのバージョン、またはリクエストに応じて適応し、変更した点を説明してください。

原則

  1. 音声はローカルに留まります。 録音やその一部をリモートサービスにアップロードしないでください。文字起こしと話者分離はこのコンピュータ上で実行されます。
  2. テキストの行き先についてオープンにしてください。 文字起こしはテキストであり、議事録を作成するエージェントがそれを読みます。そのエージェントがクラウドモデルである場合、テキストはそのプロバイダに送信されます。会議が機密性の高いものである可能性がある場合は、最初の実行前に一度その旨を伝えてください。
  3. 言われたことだけを。 議事録には、文字起こしが裏付ける内容のみが含まれます。捏造された所有者、日付、数字、決定事項は含めません。
  4. 正直な話者ラベル。 数字は証拠がある場合にのみ名前になります。推測は推測としてマークされます。
  5. 一度に一つの負荷の高いジョブを、低優先度で。 音声モデルはマシン全体を使用します。文字起こしと話者分離を同時に実行しないでください。遅くても問題ありません。ユーザーはこのコンピュータで作業を続ける必要があります。
  6. インストール前に確認し、機密情報を扱わないでください。 プログラムをインストールする前にコマンドを表示してください。ユーザーがサインインし、モデルの利用規約に同意し、トークンを保存します。会話の中でパスワードやトークンを要求しないでください。
  7. 認識エラーは想定内です。 名前、数字、専門用語が弱点です。ごまかさずに、重要な部分を確認してください。

セットアップ値

最初のフェーズの前にこれらを解決してください。自分で確認できないことだけをユーザーに尋ねてください。

  • スキルディレクトリ: この SKILL.md を含む絶対ディレクトリ。
  • 録音: 音声または動画ファイルの絶対パス。
  • 出力ディレクトリ <out>: デフォルトは録音の隣の新しいフォルダで、録音ファイル名に -minutes を追加したもの。ユーザーが別の場所を指定した場合、または録音が同期フォルダや共有フォルダにあるために作業ファイルがそこにあってはならない場合は、別の場所を使用します。
  • 言語: ユーザーに尋ねるか、モデルに検出させます。
  • 参加者: 名前、および可能であればチームや役割。話者に名前を割り当て、議事録のヘッダーに必要です。ユーザーがわからない場合は、番号付きの話者で続行します。
  • タイトル、日時、目的: ヘッダー用。ユーザーまたはファイル名とメタデータから取得します。推測からは決して取得しません。

出力

すべてのパスは <out> 内にあります。

ファイル作成フェーズ内容
transcript.jsonフェーズ2単語レベルのタイムスタンプ付きセグメント。以後編集しない
transcript.txtフェーズ2同じテキストを、セグメントごとにタイムスタンプ付きの1行で。未補正の記録
diarization.jsonフェーズ3誰がいつ話したか。話者は1から番号付け
speakers.jsonフェーズ4話者番号から名前へのマッピング。不確実性マーク付き
corrections.tsvフェーズ4繰り返し発生する認識エラーとその修正
transcript-speakers.txtフェーズ4話者ラベル付き、補正済みの文字起こし。議事録の基礎
minutes.mdフェーズ5議事録。話者ラベル付きの文字起こしを付録として含む
work/すべて実行されたリファレンススクリプトとログ

ワークフロー

フェーズ参照ファイル成果物
1. セットアップSETUP.md動作する環境、GPU/CPUと話者分離に関する決定
2. 文字起こしTRANSCRIPTION.mdtranscript.json, transcript.txt
3. 話者分離DIARIZATION.mddiarization.json
4. 話者と補正SPEAKERS.mdspeakers.json, corrections.tsv, transcript-speakers.txt
5. 議事録MINUTES.mdminutes.md

フェーズ1はコンピュータごとに1回実行され、以降の実行では確認のみ行います。フェーズ2と3は長時間かかります。バックグラウンド実行を使用し、終了時に続行してください。フェーズ3は、ユーザーが1回限りのモデルアクセスを拒否した場合にスキップされます。その場合でも、残りの処理は名前なしで動作します。

各フェーズの結果を確認してから次のフェーズを開始してください。各ファイルの末尾には「チェック」セクションがあります。

ユーザーへの報告

実行が終了したら、ユーザーに次のことを伝えてください。

  • minutes.md の場所
  • 確定した話者名と推測の話者名
  • デフォルトからスキップまたは変更した内容とその理由
  • この実行における既知の弱点(不明瞭な名前や数字、重複した発言、音質の悪い部分など)

アンチパターン

  • 録音が利用可能な場合に、会議ボットが書いたメモを要約すること。そのようなメモは会議の一部を省略し、すべての声を1つにまとめます。
  • 「時間を節約するため」に文字起こしと話者分離を同時に実行すること。両方が遅くなり、GPUメモリを枯渇させる可能性があります。
  • 音声モデルに参加者名のリストをヒントとして与えること。モデルは無音部分にそれらの名前を書き込み、実際の発話を落とします。
  • 名前が「合う」という理由で話者に名前を付けること。共有された議事録における誤った帰属は、「話者3」というラベル10個よりも大きな損害をもたらします。
  • 文を書き換えて文字起こしを修正すること。繰り返し発生する聞き間違いは corrections.tsv を通じて修正し、文言はそのままにしてください。
  • 誰も述べていない所有者と日付の付いた行動項目を書くこと。
  • 結果を確認せずに成功を報告すること。文字起こしの最初と最後の分を読み、話者数と参加者数を比較してください。

関連スキル