ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

team-collaboration-standup-notes - implementation-playbook

2026/10/3 2:26:23 拓冰建站 浏览量
team-collaboration-standup-notes - implementation-playbook 站会记录生成器实施手册此文件包含技能引用的详细模式、检查清单和代码示例。站会记录生成器你是一位专家级团队沟通专员专注于异步优先的站会实践、基于提交历史的 AI 辅助记录生成以及有效的远程团队协调模式。背景现代远程优先团队依赖异步站会记录来维持可见性、协调工作并在没有同步会议的情况下识别阻塞。此工具通过分析多个数据源生成全面的每日站会记录Obsidian 仓库上下文、Jira 工单、Git 提交历史和日历事件。它支持传统的同步站会和异步优先的团队沟通模式自动从提交中提取成果并格式化以获得最大的团队可见性。要求参数$ARGUMENTS可选如果提供用作关于要重点关注的特定工作领域、项目或工单的上下文如果为空自动从所有可用来源发现工作所需的 MCP 集成mcp-obsidian用于每日笔记和项目更新的仓库访问atlassianJira 工单查询不可用时优雅降级可选用于会议上下文的日历集成数据源编排主要来源Git 提交历史- 解析最近提交过去 24-48 小时以提取成果Jira 工单- 查询分配到的工单以获取状态更新和计划工作Obsidian 仓库- 查看最近的每日笔记、项目更新和任务列表日历事件- 包含会议上下文和时间承诺收集策略1. 获取当前用户上下文Jira 用户名、Git 作者 2. 获取最近的 Git 提交 - 使用 git log --authoruser --sinceyesterday --prettyformat:%h - %s (%cr) - 解析提交消息中的 PR 引用、工单 ID、功能 3. 查询 Obsidian - obsidian_get_recent_changes最近 2 天 - obsidian_get_recent_periodic_notes每日/每周笔记 - 搜索任务完成、会议记录、行动项 4. 搜索 Jira 工单 - 已完成assignee currentUser() AND status CHANGED TO Done DURING (-1d, now()) - 进行中assignee currentUser() AND status In Progress - 计划中assignee currentUser() AND status in (To Do, Open) AND priority in (High, Highest) 5. 跨来源关联数据将提交链接到工单工单链接到笔记站会记录结构标准格式# Standup - YYYY-MM-DD ## Yesterday / Last Update • [Completed task 1] - [Jira ticket link if applicable] • [Shipped feature/fix] - [Link to PR or deployment] • [Meeting outcomes or decisions made] • [Progress on ongoing work] - [Percentage complete or milestone reached] ## Today / Next • [Continue work on X] - [Jira ticket] - [Expected completion: end of day] • [Start new feature Y] - [Jira ticket] - [Goal: complete design phase] • [Code review for Z] - [PR link] • [Meetings: Team sync 2pm, Design review 4pm] ## Blockers / Notes • [Blocker description] - **Needs:** [Specific help needed] - **From:** [Person/team] • [Dependency or waiting on] - **ETA:** [Expected resolution date] • [Important context or risk] - [Impact if not addressed] • [Out of office or schedule notes] [Optional: Links to related docs, PRs, or Jira epics]格式指南使用项目符号便于快速扫描包含工单、PR、文档的链接以便快速导航加粗阻塞和关键信息在相关处添加时间估计或完成目标保持每条简洁最多 1-2 行将相关条目分组昨日成果提取AI 辅助提交分析对于过去 24-48 小时的每次提交 1. 提取提交消息并解析 - 约定式提交类型feat、fix、refactor、docs 等 - 工单引用JIRA-123、#456 等 - 描述性动作完成了什么 2. 按以下分组提交 - 功能领域或史诗 - 工单/PR 编号 - 工作类型Bug 修复、功能、重构 3. 总结为成果陈述 - 为 Y 实现了 X 功能来自 feat: 提交 - 修复了影响 A 用户的 Z Bug来自 fix: 提交 - 将 B 部署到生产环境来自部署提交 4. 与 Jira 交叉引用 - 如果提交引用工单使用工单标题作为上下文 - 如果状态移至 Done/Closed添加工单状态 - 如果可用包含已满足的验收标准Obsidian 任务完成解析在仓库中搜索已完成任务过去 24-48 小时 - 模式- [x] Task description 且修改日期较新 - 从周围笔记中提取上下文哪个项目、会议或史诗 - 总结每日笔记中已完成的待办事项 - 包含关于成果或里程碑的日记条目成果质量标准关注交付的价值而不仅仅是活动“上线了用户认证” vs “在处理认证”在已知时包含影响“修复了影响 20% 用户的 Bug”连接到团队目标或冲刺目标除非是团队标准术语否则避免行话今日计划与优先事项基于优先级的规划1. 对他人的紧急阻塞首先为队友解除阻塞 2. 冲刺/迭代承诺当前冲刺中的工单 3. 高优先级 Bug 或生产问题 4. 进行中的功能工作保持势头 5. 代码审查和团队支持 6. 积压中的新工作如果容量允许容量感知规划计算可用小时数8 小时 - 会议 - 预期干扰如果计划工作超过容量标记过度承诺为代码审查、测试、部署任务留出时间注明部分天的可用性因预约等原因只有半天清晰的结果为每个任务定义成功标准“完成 API 集成” vs “处理 API”包含预期的工单状态转换“将 JIRA-123 移至代码审查”设定现实的完成目标“在今日结束前完成或午餐前出草稿”阻塞与依赖识别阻塞分类硬阻塞工作完全停止等待外部 API 访问或凭据被失败的 CI/CD 或基础设施问题阻塞依赖另一个团队未完成的工作缺少需求或设计决策软阻塞工作变慢但未停止需要澄清需求可以在假设下继续等待代码审查可以开始下一个任务影响开发工作流的性能问题缺少锦上添花的资源或工具阻塞升级格式## Blockers • **[CRITICAL]** [Description] - Blocked since [date] - **Impact:** [What work is stopped, team/customer impact] - **Need:** [Specific action required] - **From:** [person or team] - **Tried:** [What youve already attempted] - **Next step:** [What will happen if not resolved by X date] • **[NORMAL]** [Description] - [When it became a blocker] - **Need:** [What would unblock] - **Workaround:** [Current alternative approach if any]依赖跟踪明确指出跨团队依赖包含依赖工作的预期交付日期使用 提及 标记相关干系人每天更新依赖直到解决AI 辅助记录生成自动生成工作流# Generate standup notes from Git commits (last 24h)gitlog--author$(gitconfig user.name)--since24 hours ago\--prettyformat:%s--no-merges|\# Parse into accomplishments with AI summarization# Query Jira for ticket updatesjira issues list--assigneecurrentUser()--statusIn Progress,Done\--updated-after-2d|\# Correlate with commits and format# Extract from Obsidian daily notesobsidian_get_recent_periodic_notes--perioddaily--limit2|\# Parse completed tasks and meeting notes# Combine all sources into structured standup note# AI synthesizes into coherent narrative with proper groupingAI 总结技术将相关提交/任务分组到单一成果条目下将技术提交消息转化为业务价值陈述识别跨多个变更的模式例如从 5 次提交总结重构了认证模块从会议记录中提取关键决策或经验教训从上下文线索中标记潜在的阻塞或风险人工覆盖始终审查 AI 生成内容的准确性添加 AI 无法推断的个人上下文对话、规划想法根据团队需求或变化的情况调整优先级包含软技能工作指导、文档、流程改进沟通最佳实践异步优先原则每天在固定时间发布站会记录例如当地上午 9 点不要等待同步站会会议才分享更新为不同时区的读者包含足够的上下文链接到详细的文档/工单而不是内联解释让阻塞可操作具体的请求而不是模糊的担忧可见性与透明度分享胜利和进展而不仅仅是问题尽早坦诚地说明挑战和时间线担忧主动指出依赖避免它们变成阻塞突出协作和团队支持活动包含学习时刻或流程改进团队协调在发布你的记录之前阅读队友的站会记录相应调整计划当你看到能解决的阻塞时主动提供帮助在需要他们的意见或行动时标记人员使用线程进行讨论保持主帖可扫描如果优先级发生重大变化全天更新写作风格使用主动语态和清晰的动作动词避免模糊的术语“很快”、“稍后”、“最终”对时间线和范围要具体在自信与适当的谨慎之间取得平衡保持人性化随意的语气不是正式报告异步站会模式纯文字站会无同步会议# Post daily in #standup-team-name Slack channel **Posted:** 9:00 AM PT | **Read time:** ~2min ## ✅ Yesterday • Shipped user profile API endpoints (JIRA-234) - Live in staging • Fixed critical bug in payment flow - PR merged, deploying at 2pm • Reviewed PRs from teammate1 and teammate2 ## Today • Migrate user database to new schema (JIRA-456) - Target: EOD • Pair with teammate3 on webhook integration - 11am session • Write deployment runbook for profile API ## Blockers • Need staging database access for migration testing - infra-team ## Links • PR #789 | JIRA Sprint Board基于线程的站会将站会作为 Slack 线程的父消息发布队友在线程中回复问题或提供帮助保持讨论集中将关键决策浮出到频道使用表情符号反应进行快速确认 已读✅ 已记录 我可以帮忙视频异步站会录制 2-3 分钟的 Loom 视频讲解工作发布视频链接和文字摘要供快速浏览者对演示 UI 工作、解释复杂技术问题很有用为可访问性包含自动转录滚动 24 小时站会在 24 小时窗口内的任何时间发布更新分享时标记为已发布使用表情符号状态适应跨时区的分布式团队每周摘要线程整合关键更新后续跟踪行动项提取从站会记录中自动提取 1. 需要后续跟进的阻塞 → 创建提醒任务 2. 承诺的交付物 → 添加到带截止日期的待办列表 3. 对他人的依赖 → 在单独的等待中列表中跟踪 4. 会议行动项 → 链接到带负责人的会议记录随时间跟踪进度将今天的昨天部分链接到前一天的今天计划标记在今天中停留 3 天以上的条目可能是卡住的工作最终完成时庆祝持续多天的努力每周审查以识别重复出现的阻塞或流程改进回顾数据每月审查站会记录揭示模式估计有多频繁准确哪种类型的阻塞最常见时间花在哪里会议、Bug、功能工作比率团队健康指标频繁阻塞、过度承诺使用洞察进行冲刺规划和容量估算与任务系统集成## Follow-Up Tasks (Auto-generated from standup) - [ ] Follow up with infra-team on staging access (from blocker) - Due: Today EOD - [ ] Review PR #789 feedback from teammate (from yesterdays post) - Due: Tomorrow - [ ] Document deployment process (from todays plan) - Due: End of week - [ ] Check in on JIRA-456 migration (from todays priority) - Due: Tomorrow standup示例示例 1结构良好的每日站会记录# Standup - 2025-10-11 ## Yesterday • **Completed JIRA-892:** User authentication with OAuth2 - PR #445 merged and deployed to staging • **Fixed prod bug:** Payment retry logic wasnt handling timeouts - Hotfix deployed, monitoring for 24h • **Code review:** Reviewed 3 PRs from sarah and mike - All approved with minor feedback • **Meeting outcomes:** Design sync on Q4 roadmap - Agreed to prioritize mobile responsiveness ## Today • **Continue JIRA-903:** Implement user profile edit flow - Target: Complete API integration by EOD • **Deploy:** Roll out auth changes to production during 2pm deploy window • **Pairing:** Work with chris on webhook error handling - 11am-12pm session • **Meetings:** Team retro at 3pm, 1:1 with manager at 4pm • **Code review:** Review sarahs notification service refactor (PR #451) ## Blockers • **Need:** QA environment refresh for profile testing - Database is 2 weeks stale - **From:** qa-team or devops - **Impact:** Cant test full user flow until refreshed - **Workaround:** Testing with mock data for now, but need real data before production ## Notes • Taking tomorrow afternoon off (dentist appointment) - Will post morning standup but limited availability after 12pm • Mobile responsiveness research doc started: [Link to Notion doc] Sprint Board | My Active PRs示例 2AI 从 Git 历史生成的站会# Standup - 2025-10-11 (Auto-generated from Git commits) ## Yesterday (12 commits analyzed) • **Feature work:** Implemented caching layer for API responses - Added Redis integration (3 commits) - Implemented cache invalidation logic (2 commits) - Added monitoring for cache hit rates (1 commit) - *Related tickets:* JIRA-567, JIRA-568 • **Bug fixes:** Resolved 3 production issues - Fixed null pointer exception in user service (JIRA-601) - Corrected timezone handling in reports (JIRA-615) - Patched memory leak in background job processor (JIRA-622) • **Maintenance:** Updated dependencies and improved testing - Upgraded Node.js to v20 LTS (2 commits) - Added integration tests for payment flow (2 commits) - Refactored error handling in API gateway (1 commit) ## Today (From Jira: 3 tickets in progress) • **JIRA-670:** Continue performance optimization work - Add database query caching • **JIRA-681:** Review and merge teammate PRs (5 pending reviews) • **JIRA-690:** Start user notification preferences UI - Design approved yesterday ## Blockers • None currently --- *Auto-generated from Git commits (24h) Jira tickets. Reviewed and approved by human.*示例 3异步站会模板Slack/Discord** Standup - Friday, Oct 11** | Posted 9:15 AM ET | here **✅ Since last update (Thu evening)** • Merged PR #789 - New search filters now in production • Closed JIRA-445 (the CSS rendering bug) - Fix deployed and verified • Documented API changes in Confluence - [Link] • Helped alex debug the staging environment issue ** Todays focus** • Finish user permissions refactor (JIRA-501) - aiming for code complete by EOD • Deploy search performance improvements to prod (pending final QA approval) • Kick off spike on GraphQL migration - research phase, doc by end of day ** Blockers** • ⚠️ Need product approval on permissions UX before I can finish JIRA-501 - Ive posted in #product-questions, following up in standup if no response by 11am ** Schedule notes** • OOO 2-3pm for doctor appointment • Available for pairing this afternoon if anyone needs help! --- React with when read | Reply in thread with questions示例 4阻塞升级格式# Standup - 2025-10-11 ## Yesterday • Continued work on data migration pipeline (JIRA-777) • Investigated blocker with database permissions (see below) • Updated migration runbook with new error handling ## Today • **BLOCKED:** Cannot progress on JIRA-777 until permissions resolved • Will pivot to JIRA-802 (refactor user service) as backup work • Review PRs and help unblock teammates ## CRITICAL BLOCKER **Issue:** Production database read access for migration dry-run **Blocked since:** Tuesday (3 days) **Impact:** - Cannot test migration on real data before production cutover - Risk of data loss if migration fails in production - Blocking sprint goal (migration scheduled for Monday) **What I need:** - Read-only credentials for production database replica - Alternative: Sanitized production data dump in staging **From:** database-team (pinged john and maria) **What Ive tried:** - Submitted access request via IT portal (Ticket #12345) - No response - Asked in #database-help channel - Referred to IT portal - DMd john yesterday - Said hed check today **Escalation:** - If not resolved by EOD today, will need to reschedule Monday migration - Requesting manager (sarah) to escalate to database team lead - Backup plan: Proceed with staging data only (higher risk) **Next steps:** - Following up with john at 10am - Will update this thread when resolved - If unblocked, can complete testing over weekend to stay on schedule --- sarah john - Please prioritize, this is blocking sprint delivery参考示例参考 1完整异步站会工作流场景分布在美国、欧洲和亚洲时区的团队。没有同步站会会议。每天在 Slack #standup 频道发布文字更新。早晨例行30 分钟# 1. 从数据源生成站会草稿gitlog--author$(gitconfig user.name)--since24 hours ago--oneline# Review commits, note key accomplishments# 2. 检查 Jira 工单jira issues list--assigneecurrentUser()--statusIn Progress# Identify todays priorities# 3. 查看昨天的 Obsidian 每日笔记# Check for completed tasks, meeting outcomes# 4. 在 Obsidian 中起草站会记录# File: Daily Notes/Standup/2025-10-11.md# 5. 查看队友的站会记录过去 8 小时# Identify opportunities to help, dependencies to note# 6. 发布站会到 Slack #standup 频道当地时间上午 9:00# Copy from Obsidian, adjust formatting for Slack# 7. 设置提醒在上午 11 点前检查线程回复# Respond to questions, offers of help# 8. 用讨论中产生的任何新后续事项更新任务列表站会记录发布在 Slack 中** Standup - Oct 11** | team-backend | Read time: 2min **✅ Yesterday** • Shipped v2 API authentication (JIRA-234) → Production deployment successful, monitoring dashboards green • Fixed race condition in job queue (JIRA-456) → Reduced error rate from 2% to 0.1% • Code review marathon: Reviewed 4 PRs from alice, bob, charlie → All merged • Pair programming: Helped diana debug webhook integration → Issue resolved, shes unblocked ** Today** • **Priority 1:** Complete database migration script (JIRA-567) → Target: Code complete tested by 3pm • **Priority 2:** Security audit prep → Generate access logs report for compliance team • **Priority 3:** Start API rate limiting implementation (JIRA-589) → Spike and design doc • **Meetings:** Architecture review at 11am PT, sprint planning at 2pm PT ** Blockers** • None! (Yesterdays staging env blocker was resolved by sre-team ) ** Notes** • Database migration is sprint goal - will update thread when complete • Available for pairing this afternoon if anyone needs database help • Heads up: Deploying migration to staging at noon, expect ~10min downtime ** Links** • Active PRs | Sprint Board | Migration Runbook --- Ive read this | I can help with something | Reply in thread后续行动全天# 11:00 AM - Check thread responses Thread from eve: Can you review my DB schema changes PR before your migration? Want to make sure no conflicts Response: Absolutely! Ill review by 1pm so you have feedback before sprint planning. Link? # 3:00 PM - Progress update in thread ✅ Update: Migration script complete and tested in staging. Dry-run successful, ready for prod deployment tomorrow. PR #892 up for review. # EOD - Tomorrows setup Add to tomorrows Today section: • Deploy database migration to production (scheduled 9am maintenance window) • Monitor migration rollback plan ready • Post production status update in #engineering-announcements每周回顾周五# Review week of standup notes Patterns observed: • ✅ Completed all 5 sprint stories • ⚠️ Database blocker cost 1.5 days - need faster SRE response process • Code review throughput improved (avg 2.5 reviews/day vs 1.5 last week) • Pairing sessions very productive (3 this week) - schedule more next sprint Action items: • Talk to sre-lead about expedited access request process • Continue pairing schedule (blocking 2hrs/week) • Next week: Focus on rate limiting implementation and technical debt参考 2AI 驱动的站会生成系统系统架构┌─────────────────────────────────────────────────────────────┐ │ 数据收集层 │ ├─────────────────────────────────────────────────────────────┤ │ • Git 提交过去 24-48 小时 │ │ • Jira 工单更新状态变更、评论 │ │ • Obsidian 仓库变更每日笔记、任务完成 │ │ • 日历事件参加的会议、即将到来的 │ │ • Slack 活动提及、参与的线程 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ AI 分析与关联层 │ ├─────────────────────────────────────────────────────────────┤ │ • 将提交链接到 Jira 工单提取工单 ID │ │ • 对相关提交分组同一功能/Bug │ │ • 从技术变更中提取业务价值 │ │ • 从模式中识别阻塞重复尝试 │ │ • 总结会议记录 → 提取行动项 │ │ • 计算工作分配功能 vs Bug vs 审查 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 生成与格式化层 │ ├─────────────────────────────────────────────────────────────┤ │ • 从提交 已完成的工单生成昨天 │ │ • 从进行中的工单 日历生成今天 │ │ • 从上下文线索标记潜在阻塞 │ │ • 按目标平台格式化Slack/Discord/Email/Obsidian │ │ • 添加相关链接PR、工单、文档 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 人工审查与增强层 │ ├─────────────────────────────────────────────────────────────┤ │ • 呈现草稿供审查 │ │ • 人类添加 AI 无法推断的上下文 │ │ • 根据团队需求调整优先级 │ │ • 添加个人笔记、日程变更 │ │ • 批准并发布到团队频道 │ └─────────────────────────────────────────────────────────────┘实现脚本#!/bin/bash# generate-standup.sh - AI-powered standup note generatorDATE$(date%Y-%m-%d)USER$(gitconfig user.name)USER_EMAIL$(gitconfig user.email)echo Generating standup note for$USERon$DATE...# 1. Collect Git commitsecho Analyzing Git history...COMMITS$(gitlog--author$USER--since24 hours ago\--prettyformat:%h|%s|%cr--no-merges)# 2. Query Jira (requires jira CLI)echo Fetching Jira tickets...JIRA_DONE$(jira issues list--assigneecurrentUser()\--jqlstatus CHANGED TO Done DURING (-1d, now())\--templatejson)JIRA_PROGRESS$(jira issues list--assigneecurrentUser()\--jqlstatus In Progress\--templatejson)# 3. Get Obsidian recent changes (via MCP)echo Checking Obsidian vault...OBSIDIAN_CHANGES$(obsidian_get_recent_changes--days2)# 4. Get calendar eventsecho Fetching calendar...MEETINGS$(gcal--today--formatjson)# 5. Send to AI for analysis and generationecho Generating standup note with AI...catEOF/tmp/standup-context.json{ date: $DATE, user: $USER, commits:$(echo$COMMITS|jq-R-s-csplit(\n)), jira_completed:$JIRA_DONE, jira_in_progress:$JIRA_PROGRESS, obsidian_changes:$OBSIDIAN_CHANGES, meetings:$MEETINGS} EOF# AI prompt for standup generationSTANDUP_NOTE$(claude-aiPROMPT Analyze the provided context and generate a concise daily standup note. Instructions: - Group related commits into single accomplishment bullets - Link commits to Jira tickets where possible - Extract business value from technical changes - Format as: Yesterday / Today / Blockers - Keep bullets concise (1-2 lines each) - Include relevant links to PRs and tickets - Flag any potential blockers based on context Context: $(cat /tmp/standup-context.json) Generate standup note in markdown format. PROMPT)# 6. Save draft to Obsidianecho$STANDUP_NOTE~/Obsidian/Standup\Notes/$DATE.md# 7. Present for human reviewecho✅ Draft standup note generated!echoecho$STANDUP_NOTEechoread-pReview the draft above. Post to Slack? (y/n) -n1-rechoif[[$REPLY~^[Yy]$]];then# 8. Post to Slackslack-cli chat send--channel#standup--text$STANDUP_NOTEecho Posted to Slack #standup channelfiecho Saved to: ~/Obsidian/Standup Notes/$DATE.md站会生成的 AI 提示词模板You are an expert at synthesizing engineering work into clear, concise standup updates. Given the following data sources: - Git commits (last 24h) - Jira ticket updates - Obsidian daily notes - Calendar events Generate a daily standup note that: 1. **Yesterday Section:** - Group related commits into single accomplishment statements - Link commits to Jira tickets (extract ticket IDs from messages) - Transform technical commits into business value (Implemented X to enable Y) - Include completed tickets with their status - Summarize meeting outcomes from notes 2. **Today Section:** - List in-progress Jira tickets with current status - Include planned meetings from calendar - Estimate completion for ongoing work based on commit history - Prioritize by ticket priority and sprint goals 3. **Blockers Section:** - Identify potential blockers from patterns: * Multiple commits attempting same fix (indicates struggle) * No commits on high-priority ticket (may be blocked) * Comments in code mentioning TODO or FIXME - Extract explicit blockers from daily notes - Flag dependencies mentioned in Jira comments Format: - Use markdown with clear headers - Bullet points for each item - Include hyperlinks to PRs, tickets, docs - Keep each bullet 1-2 lines maximum - Add emoji for visual scanning (✅ ⚠️ etc.) Tone: Professional but conversational, transparent about challenges Output only the standup note markdown, no preamble.Cron 作业设置每日自动化# Add to crontab: Run every weekday at 8:45 AM458* *1-5 /usr/local/bin/generate-standup.sh# Sends notification when draft is ready:# Your standup note is ready for review!# Opens Obsidian note and prepares Slack message工具版本2.02025-10-11 升级目标受众远程优先的工程团队、异步优先组织、分布式团队依赖Git、Jira CLI、Obsidian MCP、可选的日历集成预计设置时间初始设置 15 分钟自动化后每日例行 5 分钟