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 简报
    • 输入:调查数据 + 会议背景
    • 输出两种格式:
      • 邮件:简洁的项目符号简报
      • Slack:内容丰富的段落式故事,包含更深入的背景和叙述
  5. 发送简报

    • 邮件:使用 Gmail 技能(send_email: true)
    • Slack:使用 Webhook(send_slack: true、scripts/send_slack.sh)
    • 主题:“会议简报:[人员姓名] - [会议标题]”
    • 正文:根据调查生成的 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 生成的简报有两种格式:

邮件格式(简明要点)
  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:查询过往互动(深度模式)
  • gmail 技能:发送简介邮件
  • sessions_spawn:生成 AI 简介
  • cron:安排每日任务

隐私与安全

  • 调研数据缓存在本地的 data/research/ 中
  • 不使用外部 API(使用 web_search、GitHub CLI、memory_search)
  • 简介仅发送至已配置的邮箱
  • 团队成员筛选可防止内部信息泄露
  • 所有数据都存储在技能目录中(不使用云存储)

评论

支持 Markdown