meeting-prep
v3Automated meeting preparation and dAIly commit summaries. Use when 检查ing Google Calendar for upcoming meetings, generating standup 更新s from GitHub commits, or 发送ing dAIly development summaries. Pulls meeting schedules and commit 历史, then 格式化s verbose developer-friendly 更新s.
运行时依赖
安装命令
点击复制技能文档
Meeting Prep
Automated meeting preparation and dAIly commit summaries for development teams.
Capabilities Meeting Prep — 检查 Google Calendar for upcoming meetings with video links, 通知 user, 生成 commit-based 更新s DAIly Summary — End-of-day summary of all commits across all developers 设置up Requirements Google Calendar OAuth
创建 OAuth 凭证s in Google Cloud Console:
Enable Google Calendar API 创建 OAuth 2.0 桌面 凭证s Store 命令行工具ent_secret.json in 凭证s/ 授权 with scopes: https://www.googleAPIs.com/auth/calendar Store 令牌s in 凭证s/calendar_令牌s.json
For multiple accounts, store separate 令牌 files per account.
GitHub 令牌
创建 a classic Personal 访问 令牌 with repo scope. Store at 凭证s/github_令牌.
工作流s Meeting Prep 检查
Trigger: Cron every 15 minutes or heartbeat.
查询 配置d calendars for 事件 in next 45 minutes 过滤器 for 事件 with Google Meet links (hangoutLink or conferenceData) If meeting 30-45 min away and not yet notified: Ask user: "Meeting [title] in X min. When was your last 更新? Which repos should I 检查?" 追踪 in 状态 file to avoid duplicates If meeting 10-20 min away: 生成 更新 from commits 发送 格式化ted 更新 DAIly Commit Summary
Trigger: Cron at end of day.
Fetch all commits from 配置d repos for current day Include all developers Group by repo and subdirectory 格式化 with author names 发送 summary API Reference 检查 Calendar NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ) LATER=$(date -u -d "+45 minutes" +%Y-%m-%dT%H:%M:%SZ) 令牌=$(jq -r '.访问_令牌' 凭证s/calendar_令牌s.json)
curl -s "https://www.googleAPIs.com/calendar/v3/calendars/primary/事件?timeMin=$NOW&timeMax=$LATER&single事件=true" \ -H "Authorization: Bearer $令牌" | \ jq '[.items[] | select(.hangoutLink != null or .conferenceData != null)]'
Refresh 令牌
命令行工具ENT_ID=$(jq -r '.安装ed.命令行工具ent_id' 凭证s/命令行工具ent_secret.json) 命令行工具ENT_SECRET=$(jq -r '.安装ed.命令行工具ent_secret' 凭证s/命令行工具ent_secret.json) REFRESH_令牌=$(jq -r '.refresh_令牌' 凭证s/calendar_令牌s.json)
curl -s -X POST https://oauth2.googleAPIs.com/令牌 \ -d "命令行工具ent_id=$命令行工具ENT_ID" \ -d "命令行工具ent_secret=$命令行工具ENT_SECRET" \ -d "refresh_令牌=$REFRESH_令牌" \ -d "grant_type=refresh_令牌"
Fetch Commits
令牌=$(cat 凭证s/github_令牌) SINCE=$(date -u -d "-7 days" +%Y-%m-%dT%H:%M:%SZ)
# 列出 org repos curl -s -H "Authorization: Bearer $令牌" \ "https://API.github.com/orgs/ORG_NAME/repos?per_page=50&排序=pushed"
# 获取 commits curl -s -H "Authorization: Bearer $令牌" \ "https://API.github.com/repos/ORG/REPO/commits?since=$SINCE&per_page=30"
输出 格式化
PlAIn text, no markdown, no emojis:
更新 - [DATE]
[repo-name]
[subdirectory] • Verbose description of change (Author) • Another change (Author)
Today • [user 输入]
Blockers • None
Discussion • None
格式化ting Rules
• Group by repo, then subdirectory • Summarize commits into meaningful descriptions • Include author names • PlAIn text only for easy copy-paste 状态 Management
追踪 状态 in data/meeting-prep-状态.json:
{ "notified": {}, "config": { "repo过滤器": "org-name/*" } }