会議の議事録を構造化して作成するスキル。音声文字起こしテキスト、メモ、Google Docs の会議メモなど、 様々な入力ソースから議事録を自動生成し、reports/minutes/ にマークダウンで出力する(ファイル入力は reports/minutes/input/ のみ)。 ネクストアクションの抽出・担当者と期限の整理まで一気通貫で行う。 以下のようなリクエストで必ずこのスキルを使用すること: - 「議事録を作って」「議事録を作成して」「ミーティングメモをまとめて」 - 「会議の記録をまとめて」「打ち合わせ内容を整理して」 - 「このメモから議事録を起こして」「文字起こしから議事録にして」 - 「meeting minutes」「create-minutes」 - 「MTG の内容をまとめて」「会議メモを整理して」「議事メモを作って」 - 「Google Docs のメモから議事録を起こして」 - 議事録・会議記録・ミーティングメモの作成・整理に関するあらゆるリクエスト
会議の記録を構造化された議事録として整理・出力するスキル。
ユーザーが提供する様々な形式の入力(テキスト貼り付け、ファイル、Google Docs 等)から
情報を抽出し、統一フォーマットの議事録を reports/minutes/ にマークダウンで保存する。
ファイル経由の入力は reports/minutes/input/ のみ(後述)。プロジェクト外パスは読み取らない。
重要なのは「決まったこと」と「次にやること」を明確にすること。 会議の価値は議論そのものではなく、そこから生まれるアクションにある。
ユーザーの入力を分析し、以下のパターンに応じて情報を取得する。
ユーザーがメッセージ内に会議メモや文字起こしテキストを直接貼り付けた場合。 そのまま STEP 1 に進む。
ユーザーがファイル入力を示した場合、リポジトリルートからの相対パスで reports/minutes/input/ 配下に置かれたファイルだけを Read ツールで読み取る。
.txt, .md, .csv, .json などreports/minutes/input/ 以外のパス(例: ~/Downloads/...、/Users/...、他ディレクトリ直下のファイル).. 等で正規化すると reports/minutes/input/ 外になるパス上記に当てはまる指定のときは Read を実行せず、次を伝える:
セキュリティと再現性のため、会議の元ファイルは
reports/minutes/input/にコピーまたは保存してください。
そのうえでreports/minutes/input/ファイル名のようにパスを指定(または@参照)してください。
フォルダが無ければ作成してよい。
Google Docs の URL または ID が指定された場合、gdocs スキルで内容を取得する。
bun run gdocs -- --id <DOC_ID_OR_URL>
会議の内容が提供されていない場合、AskUserQuestion で以下を確認する:
議事録を作成するための元情報を教えてください。以下のいずれかの方法で提供できます:
- 会議メモや文字起こしテキストをこのチャットに貼り付ける
- メモや文字起こしファイルを
reports/minutes/input/に保存し、リポジトリからの相対パスで伝える(例:reports/minutes/input/meeting-notes.txt)- Google Docs の URL を共有する
取得したテキストから以下の情報を抽出する。 テキストが雑然としていても、文脈から最大限読み取ること。
| 項目 | 抽出のポイント |
|---|---|
| 会議名 | タイトル、件名、冒頭の記載から判断 |
| 日時 | 日付・時刻の記載。なければ今日の日付を使用 |
| 参加者 | 名前、発言者、メンションされた人物 |
| アジェンダ | 議題、トピック、見出し |
| 議論内容 | 各議題ごとの発言要旨・論点 |
| 決定事項 | 「〜に決定」「〜で行く」「合意」等のキーワードから抽出 |
| ネクストアクション | 「〜する」「〜を確認」「〜までに」等のタスク表現から抽出 |
| 次回予定 | 次回の日程・議題に関する言及 |
ネクストアクションは議事録の中で最も重要な要素。以下を意識して抽出する:
音声文字起こしや自動生成メモが入力ソースに含まれる場合、STEP 2 に進む前に以下のチェックを必ず実施する。 文字起こしは同音異義語・専門用語・固有名詞の誤変換が頻発するため、文脈から疑わしい箇所を洗い出して修正または明示する。
| カテゴリ | 例 |
|---|---|
| 同音異義語・誤変換 | 「長寿被害」→「鳥獣被害」、「反則」→「販促」、「初杯」→「Shopify」等 |
| 固有名詞の誤認識 | 人名・社名・製品名・サービス名が不自然な表記になっていないか |
| 専門用語の崩れ | 業界用語・技術用語が意味の通らない表記になっていないか |
| 文脈と矛盾する語句 | 前後の議論の流れと明らかに合わない単語・フレーズ |
[※文字起こし不明瞭: 原文「○○」] のマーカーを付ける[※不明瞭] のマーカーを付けてそのまま残す以下のテンプレートに沿って議事録を生成する。
# {会議名} 議事録
| 項目 | 内容 |
|------|------|
| 日時 | YYYY年MM月DD日(曜日)HH:MM〜HH:MM |
| 場所 | (オンライン / 会議室名 等) |
| 参加者 | ○○、○○、○○ |
---
## アジェンダ
1. {議題1}
2. {議題2}
3. {議題3}
---
## 議論内容
### 1. {議題1}
- {要点・発言の要旨}
- {要点・発言の要旨}
### 2. {議題2}
- {要点・発言の要旨}
- {要点・発言の要旨}
---
## 決定事項
- [ ] {決定事項1}
- [ ] {決定事項2}
---
## ネクストアクション
| # | タスク | 担当 | 期限 | 備考 |
|---|--------|------|------|------|
| 1 | {タスク内容} | {担当者} | {期限} | {補足} |
| 2 | {タスク内容} | {担当者} | {期限} | {補足} |
---
## 次回予定
- 日時: {次回日時(未定の場合は「未定」)}
- 議題: {次回議題(あれば)}
reports/minutes/{会議名(英語・ケバブケース)}-{YYYYMMDD}.md
例:
reports/minutes/weekly-standup-20260320.mdreports/minutes/client-kickoff-20260320.mdreports/minutes/design-review-20260320.mdreports/minutes/ ディレクトリが存在しない場合は自動で作成する。
会議名が日本語のみの場合は、内容から適切な英語名を付ける。
ファイルに書き出す前に、議事録の内容を会話内に表示してユーザーに確認する。 修正の要望があれば反映してからファイルに保存する。
ファイル保存後、以下の 3 つを会話内に表示する。
議事録を作成しました: reports/minutes/{name}-{date}.md
【決定事項】{件数}件
【ネクストアクション】{件数}件(担当者別内訳: ○○ {N}件、○○ {N}件)
議事録内のネクストアクション一覧から、特定の担当者分だけを抜き出して提示する。 誰の分を表示するかは、保存サマリー提示後にユーザーへ確認する。
保存サマリー(4-1)を表示した直後に、AskUserQuestion ツールを使って選択肢 UI を表示する。
担当者の選択肢はネクストアクションに登場する担当者名から自動生成する。
// AskUserQuestion の呼び出し例(担当者が TAM引野・藤本 の場合)
{
"questions": [
{
"question": "ネクストアクションを担当者別にピックアップできます。どなたの分を表示しますか?",
"header": "担当者選択",
"multiSelect": true,
"options": [
{ "label": "TAM引野(8件)", "description": "TAM引野さんのネクストアクションを表示" },
{ "label": "藤本(4件)", "description": "藤本さんのネクストアクションを表示" },
{ "label": "全員分を表示", "description": "全担当者のネクストアクションをまとめて表示" },
{ "label": "スキップ", "description": "ピックアップせず次へ進む" }
]
}
]
}
multiSelect: true にして複数担当者の同時選択を可能にする選択された担当者ごとに、期限順でネクストアクションを表示する。
🔔 {担当者名} さんのネクストアクション({件数}件)
1. {タスク内容}|期限: {期限}
2. {タスク内容}|期限: {期限}
「全員分を表示」が選択された場合は、担当者ごとにブロックを分けて全員分を表示する。 「スキップ」が選択された場合は 4-3 に進む。
関係者へ議事録内容を共有するためのメッセージ下書きを提示する。 そのままコピー&ペーストで送信できる状態を目指す。
どのツールで共有するかによって文面のトーン・長さ・フォーマットが変わるため、
AskUserQuestion ツールで共有手段を確認する。
{
"questions": [
{
"question": "議事録の共有メッセージの下書きを作成します(送信は行いません)。どのツール向けの文面にしますか?",
"header": "共有手段",
"multiSelect": false,
"options": [
{ "label": "Slack / チャット", "description": "Slack Connect 等のチャットツール向けにカジュアルな文面を生成" },
{ "label": "メール", "description": "ビジネスメール形式で丁寧な文面を生成" },
{ "label": "スキップ", "description": "共有メッセージを作成せず終了" }
]
}
]
}
共有手段を問わず、以下の要素を含める。議論の詳細は含めず、決定事項とネクストアクションに絞る。
チャットに適したビジネスカジュアルなトーンで生成する。
{会議名}({MM/DD})のまとめを共有します。
📌 *決定事項*
・{決定事項1}
・{決定事項2}
✅ *ネクストアクション*
・{タスク内容}({担当者}さん/〜{期限})
・{タスク内容}({担当者}さん/〜{期限})
📅 *次回予定*
・{次回日時}({次回議題})
詳細な議事録は別途共有いたします。
*...*)で視認性を上げるビジネスメールとして簡潔・丁寧。敬体(です・ます調)を使用する。
件名: 【議事録】{会議名}({YYYY/MM/DD})
{宛先候補の名前} さん
お疲れさまです。
本日の{会議名}の内容を共有いたします。
■ 決定事項
・{決定事項1}
・{決定事項2}
■ ネクストアクション
・{タスク内容}(担当: {担当者}さん/期限: {期限})
・{タスク内容}(担当: {担当者}さん/期限: {期限})
■ 次回予定
・{次回日時}({次回議題})
詳細な議事録は別途共有いたします。
よろしくお願いいたします。
下書きの内容をユーザーに提示し、修正の要望があれば反映してから最終版を提示する。
文字起こしの精度が低い、メモが断片的など、入力テキストの品質が低い場合:
[※不明瞭] や [※要確認] のマーカーを付ける推測で情報を補完しない。不明な点は不明と明示することで、議事録の信頼性を保つ。