mcpField
M
meeting-brief

meeting-brief

github.com/nikiandr生産性196 回インストール31 週間前に更新
リポジトリ

meeting-brief について

Meeting Briefは、カレンダーの会議を確認し、社外参加者を調査して個別のブリーフを作成する日次準備スキルです。会議前に相手の情報を把握したい人向けで、簡潔なメールや物語形式のSlack通知を送れます。

主な機能

  1. 01当日のカレンダー予定を取得
  2. 02社内参加者を除外
  3. 03人物や企業を調査
  4. 04メールとSlack向けブリーフを生成
  5. 05調査内容を個人CRMに保存
  6. 06送信済みブリーフを記録して重複を防止

活用シーン

  1. 01社外参加者との会議準備
  2. 02通話前の相手の経歴確認
  3. 03調査した連絡先の記録

MCP 対応

READMEにMCPの説明はありません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nikiandr/goose-skills --skill meeting-brief

インストール後、Claude Code で/meeting-briefを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
config.json.example
EXAMPLE.md
SETUP.md
skill.meta.json
scripts/
check_calendar.sh
format_for_slack.sh
generate_brief.js
research_person.js
run_daily.sh
send_slack.sh

詳細

会議ブリーフ

会議参加者について調査し、パーソナライズされたブリーフを送信する、毎日の会議準備を自動化するシステムです。

機能

毎朝(時刻は設定可能):

  1. 今日の会議をカレンダーで確認します(gcalcli 経由)
  2. 各会議の参加者を抽出します
  3. チームメンバーを除外します(設定可能)
  4. 各外部参加者について詳しく調査します:
    • LinkedIn プロフィール(ウェブ検索)
    • 会社情報
    • GitHub プロフィール(エンジニアの場合)
    • 過去のやり取り/メモ(メモリ検索)
    • 最近のニュース/活動
  5. AI が各人物のブリーフを生成します
  6. 人物ごとに 1 通のメールを受信トレイに送信します

セットアップ

1. チームメンバーを設定する

config.json を編集して、チームメンバー(スキップ対象)を指定します:

{
  "team_members": [
    "[email protected]",
    "[email protected]",
    "[email protected]"
  ],
  "team_domains": [
    "@yourcompany.com"
  ],
  "schedule": "0 7 * * *",
  "timezone": "America/Los_Angeles",
  "your_email": "[email protected]",
  "brief_from": "Meeting Brief <[email protected]>",
  "slack_webhook": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL",
  "send_email": true,
  "send_slack": true,
  "include_calendar_details": true,
  "research_depth": "standard"
}

設定オプション:

  • team_members:スキップするメールアドレス(完全一致)
  • team_domains:スキップするドメインパターン(例:@yourcompany.com の全員をスキップ)
  • schedule:毎日の実行時刻を指定する cron 式(デフォルト:午前 7 時)
  • timezone:スケジュールのタイムゾーン
  • your_email:ブリーフの送信先
  • brief_from:ブリーフの送信元アドレス
  • slack_webhook:Slack の受信 Webhook URL(任意)
  • send_email:メールブリーフを送信するかどうか(デフォルト:true)
  • send_slack:Slack 通知を送信するかどうか(デフォルト:false)
  • include_calendar_details:会議の時刻/場所をブリーフに含めるかどうか
  • research_depth:quick(ウェブのみ)、standard(ウェブ + GitHub)、deep(ウェブ + GitHub + 過去のメモ)
2. 毎日の cron ジョブを設定する

OpenClaw の cron ツールを使用して、毎日の実行をスケジュールします:

// Create cron job for daily meeting briefs
{
  name: "Meeting Brief - Daily",
  schedule: {
    kind: "cron",
    expr: "0 7 * * *",  // 7 AM daily (UTC)
    tz: "America/Los_Angeles"
  },
  payload: {
    kind: "agentTurn",
    message: "Run the meeting-brief skill for today's meetings",
    timeoutSeconds: 600
  },
  sessionTarget: "isolated"
}

または、手動で実行します:

cd skills/meeting-brief
./scripts/run_daily.sh

動作の仕組み

メインワークフロー(scripts/run_daily.sh)
  1. 今日の会議を取得(scripts/check_calendar.sh)

    • gcalcli を使用して今日の予定を取得します
    • 会議の時刻、タイトル、参加者を解析します
    • 会議の詳細を含む JSON を出力します
  2. 外部参加者を絞り込む(run_daily.sh に組み込み)

    • config.json を読み込みます
    • チームメンバーとチームのドメインを除外します
    • 調査対象者のリストを作成します
  3. 各人物を調査(scripts/research_person.js)

    • ウェブ検索:LinkedIn プロフィール、会社情報
    • GitHub 検索:プロフィールとリポジトリ(該当する場合)
    • メモリ検索:過去のやり取り/メモ
    • ニュース検索:最近の活動
    • 構造化された調査結果 JSON を出力します
  4. ブリーフを生成(scripts/generate_brief.js)

    • OpenClaw セッションを使用して AI ブリーフを生成します
    • 入力:調査データ + 会議のコンテキスト
    • 次の 2 つの形式で出力します:
      • メール:簡潔な箇条書きのブリーフ
      • Slack:より深い背景情報とストーリー性を含む、充実した段落形式の文章
  5. ブリーフを送信

    • メール:Gmail スキルを使用します(send_email: true)
    • Slack:Webhook を使用します(send_slack: true、scripts/send_slack.sh)
    • 件名:「Meeting Brief: [Person Name] - [Meeting Title]」
    • 本文:調査結果をもとに AI が生成したブリーフ
  6. 個人 CRM に保存(supernotes/people/)

    • 調査した人物ごとに Markdown ファイルとして保存します
    • 内容:調査データ、会議のコンテキスト、日付
    • 時間とともに個人の人間関係データベースを構築します
  7. 送信済みブリーフを記録(data/sent/YYYY-MM-DD.json にログを保存)

    • 重複を防ぎます
    • 分析を可能にします

調査プロセス

外部参加者ごとに、システムは次の内容を調査します:

ウェブ検索(常時)
  • LinkedIn プロフィール(名前 + 会社)
  • 会社情報
  • 最近のニュース掲載
  • 職歴
GitHub(research_depth が standard または deep の場合)
  • GitHub プロフィールの検索(名前/メールアドレスで検索)
  • 最近のリポジトリとコントリビューション
  • 技術的な注力分野
メモリ/過去のメモ(research_depth が deep の場合)
  • MEMORY.md と日次メモを検索
  • 過去の会議メモ
  • 以前のやり取り
  • 過去の会話のコンテキスト
出力形式

調査結果は JSON として構造化されます:

{
  "person": {
    "name": "Jane Doe",
    "email": "[email protected]",
    "company": "Example Corp",
    "title": "VP Engineering"
  },
  "linkedin": {
    "url": "...",
    "bio": "...",
    "experience": [...]
  },
  "github": {
    "username": "janedoe",
    "profile_url": "...",
    "recent_repos": [...]
  },
  "company": {
    "name": "Example Corp",
    "industry": "...",
    "recent_news": [...]
  },
  "past_interactions": [
    "Met at conference in 2024",
    "Discussed partnership opportunity"
  ]
}

ブリーフの生成

AI が生成するブリーフは、2 つの形式で出力されます:

メール形式(簡潔な箇条書き)
  1. 概要

    • 相手の情報(氏名、役職、会社)
    • 面談の目的(面談のタイトル/説明)
  2. 背景

    • 職歴(LinkedIn)
    • 会社の概要
    • 技術的な専門知識(該当する場合はGitHub)
  3. 会話のきっかけ

    • 最近の活動に基づく話題
    • 共通の関心事やつながり
    • 関連する話題
  4. アクション項目/メモ

    • 過去のやり取り(あれば)
    • 覚えておくこと
    • フォローアップ項目
Slack形式(ストーリー仕立て)

より深く、ストーリーを軸にした概要です。以下を含みます。

  • その人についての段落形式の紹介
  • その人の経歴や最近の仕事に関する背景
  • 興味を引くきっかけや会話の切り口
  • より豊富な背景情報と詳細
  • 箇条書きよりも強いストーリー展開

概要の例:

Subject: Meeting Brief: Jane Doe - Product Partnership Discussion

Hi,

You're meeting with Jane Doe today at 2pm.

## Quick Overview
Jane is VP of Engineering at Example Corp, a B2B SaaS company in the dev tools space. She's been there for 3 years and previously worked at GitHub and Microsoft.

## Background
- Strong background in developer tooling and infrastructure
- Recently led Example Corp's API platform overhaul (launched Q4 2025)
- Active on GitHub (janedoe) - maintains several open-source CLI tools
- Technical blog focuses on API design and developer experience

## Conversation Starters
- Their new API platform (just launched, getting good traction)
- Recent blog post on GraphQL vs REST (published last week)
- Shared interest in developer experience (noted in her LinkedIn)

## Notes
- You met briefly at DevTools Summit 2024
- She mentioned interest in partnering on integration opportunities

---
Meeting: Product Partnership Discussion
Time: Today at 2:00 PM
Location: Zoom (link in calendar)

手動での使用方法

特定の相手について実行します。

# Research a person
node scripts/research_person.js "Jane Doe" "[email protected]" "Example Corp"

# Generate brief
node scripts/generate_brief.js research_output.json meeting_context.json

# Send brief
./scripts/send_brief.sh brief.html "Jane Doe"

今日の面談について実行します。

./scripts/run_daily.sh

データとログ

meeting-brief/
├── data/
│   ├── sent/              # Sent brief logs (by date)
│   │   └── 2026-02-21.json
│   ├── research/          # Research cache (by person)
│   │   └── jane-doe.json
│   └── meetings/          # Meeting data (by date)
│       └── 2026-02-21.json
└── logs/
    └── run.log            # Execution logs

ヒント

  1. まずドライランでテストする:run_daily.shでDRY_RUN=trueを設定すると、送信せずにプレビューできます
  2. 調査の深さを調整する:まずquickから始め、必要に応じてstandardまたはdeepに切り替えます
  3. チームフィルターを調整する:ドメインやメールアドレスを追加して、社内会議を除外します
  4. 概要を確認する:data/sent/ログを確認して、送信内容を確認します
  5. プロンプトを調整する:generate_brief.jsを編集して、AIプロンプトをカスタマイズします

トラブルシューティング

概要が送信されない場合:

  • gcalcliの認証を確認します(gcalcli agenda today tomorrow)
  • カレンダーに社外の参加者がいる予定があることを確認します
  • logs/run.logのログを確認します

概要に情報が不足している場合:

  • config.jsonのresearch_depthを増やします
  • web_searchとGitHub CLIが動作していることを確認します
  • data/research/の調査データを確認します

概要が重複する場合:

  • 送信済みの記録があるか、data/sent/を確認します
  • cronジョブが複数回実行されていないことを確認します

OpenClawとの連携

このスキルでは以下を使用します。

  • gcalcli-calendar:今日の面談を取得します
  • web_search:LinkedInと会社について調査します
  • GitHub CLI(gh):GitHubプロフィールを検索します
  • memory_search:過去のやり取りを検索します(deepモード)
  • gmail skill:概要メールを送信します
  • sessions_spawn:AIによる概要の生成に使用します
  • cron:毎日のスケジュール設定に使用します

プライバシーとセキュリティ

  • 調査データはdata/research/にローカル保存されます
  • 外部APIは使用しません(web_search、GitHub CLI、memory_searchを使用します)
  • 概要の送信先は設定済みのメールアドレスのみです
  • チームメンバーのフィルタリングにより、社内情報の漏えいを防ぎます
  • すべてのデータはスキルのディレクトリに保存されます(クラウドストレージは使用しません)

コメント