| name | standup-bot |
| description | Automated daily standup facilitation for remote and distributed teams |
Standup Bot
Automated daily standup facilitation for remote and distributed teams. Capture updates, blockers, and keep the team synchronized.
When to Use This Skill
Trigger when user says:
- "start standup"
- "daily standup"
- "team update"
- "what did we do yesterday"
- "standup report"
- "team status"
Best for:
- Remote teams
- Distributed teams across time zones
- Daily team synchronization
- Project progress tracking
- Blocker identification and resolution
- Async team communication
Tier 1: Guided Standup (Beginner)
Individual Standup
Capture Your Update
Let's capture your daily standup update:
**What did you accomplish yesterday?**
[List tasks completed, features shipped, meetings had]
**What are you working on today?**
[List tasks planned, priorities, focus areas]
**Are there any blockers?**
[List anything preventing progress, needs help]
**Anything else to share?**
[Announcements, wins, learnings]
Standup Template
# Daily Standup - [Date]
**Team Member:** [Name]
## Yesterday
- [Completed task 1]
- [Completed task 2]
- [Meeting or event attended]
## Today
- [Task to work on]
- [Priority to focus on]
- [Meeting or collaboration planned]
## Blockers
- [None] or
- [Blocker description]
- **Impact:** How it affects work
- **Need:** What help is needed
- **Owner:** Who is helping resolve
## Other Updates
- [Announcements, wins, learnings]
Team Standup Collection
Prompt Team Members
Gather standup updates from the team:
**Team Members:** [List team members]
**Time:** [Scheduled standup time]
**Method:** [Async/Sync, Slack, Email, In-person]
Template to send:
"Hi team! Time for daily standup.
๐ Please share:
1๏ธโฃ What did you accomplish yesterday?
2๏ธโฃ What are you working on today?
3๏ธโฃ Any blockers?
4๏ธโฃ Other updates?
Due by: [Time]
Thanks!"
Generate Standup Summary
Compile team standups into summary:
**Standup Date:** [Date]
**Team Members:** [Count]
**Completed Yesterday:** [Summary of accomplishments]
**Working on Today:** [Summary of today's priorities]
**Blockers:** [List of blockers and owners]
**Other Updates:** [Key announcements]
Tier 2: Confident Facilitation (Intermediate)
Structured Standup Format
Daily Standup Report
# Daily Standup Report - [Date]
## ๐ Quick Stats
- **Team Present:** [count]/[total]
- **Tasks Completed Yesterday:** [count]
- **Tasks Planned Today:** [count]
- **Active Blockers:** [count]
## โ
Completed Yesterday
[Member Name]: [Task]
[Member Name]: [Task]
## ๐ฏ Working on Today
[Member Name]: [Task]
[Member Name]: [Task]
## ๐ง Blockers
1. **[Blocker]** - [Member Name]
- **Impact:** [description]
- **Resolution:** [action plan]
- **ETA:** [when will it be resolved]
## ๐ข Other Updates
- [Update 1]
- [Update 2]
## ๐ Dependencies
- [Member A] waiting on [Member B] for [task]
- [Member C] needs review from [Member D]
## ๐ก Focus Areas for Today
1. [Priority 1]
2. [Priority 2]
3. [Priority 3]
Blocker Management
Blocker Tracking
blockers:
- id: unique_id
blocker: "API rate limiting issue"
reported_by: member_name
reported_date: date
severity: High|Medium|Low
impact: "Cannot complete integration testing"
owner: member_name
status: Active|Resolved|Escalated
resolution_plan: "Contact engineering team"
eta: date
followers: [list of interested team members]
- id: unique_id
blocker: "Waiting on design approval"
reported_by: member_name
reported_date: date
severity: Medium
impact: "Cannot start UI implementation"
owner: design_lead
status: Active
resolution_plan: "Review scheduled for tomorrow"
eta: date
Escalation Logic
def should_escalate_blocker(blocker):
"""Determine if blocker needs escalation"""
if blocker['severity'] == 'High' and blocker['days_active'] > 1:
return True
if blocker['severity'] == 'Medium' and blocker['days_active'] > 3:
return True
if len(blocker['waiting_on']) > 2:
return True
if not blocker['resolution_plan']:
return True
return False
Async Standup Workflow
Scheduled Standup
async_standup_schedule:
time: "09:00"
timezone: "America/New_York"
method: slack
reminder: "30 minutes before"
deadline: "12:00"
compilation_time: "13:00"
notification_channels:
- "team-standup"
- "#general"
participants:
- name: member1
role: Developer
required: true
- name: member2
role: Designer
required: false
on_vacation: [dates]
Follow-Up Prompts
def send_standup_reminders(team_members):
"""Send reminders for incomplete standups"""
for member in team_members:
if not member['standup_submitted']:
if time_until_deadline <= 30:
send_message(
channel=member['dm_channel'],
message=f"โฐ Standup due in 30 minutes!\n\nSubmit your update in #team-standup"
)
elif time_until_deadline == 60:
send_message(
channel=member['dm_channel'],
message=f"๐ Don't forget standup! Due in 1 hour.\n\n#team-standup"
)
Integration with Other Skills
- daily-agenda: Include standup in daily planning
- project-status: Update project metrics from standup data
- message-review: Review standup communication tone
Tier 3: Anticipatory Coordination (Advanced)
Standup Analytics
Team Velocity Tracking
def calculate_team_velocity(standups, period_days=7):
"""Calculate team velocity from standup data"""
completed_tasks = []
planned_tasks = []
blockers = []
for standup in standups:
completed_tasks.extend(standup['completed_yesterday'])
planned_tasks.extend(standup['planned_today'])
blockers.extend(standup['blockers'])
tasks_completed = len(completed_tasks)
tasks_planned = len(planned_tasks)
completion_rate = tasks_completed / tasks_planned if tasks_planned > 0 else 0
avg_completion_time = calculate_avg_completion(completed_tasks)
blocker_resolution_rate = calculate_blocker_resolution(blockers)
return {
'period': period_days,
'tasks_completed': tasks_completed,
'completion_rate': completion_rate * 100,
'avg_completion_time': avg_completion_time,
'blocker_count': len(blockers),
'blocker_resolution_rate': blocker_resolution_rate * 100,
'by_member': calculate_by_member(standups)
}
Trend Analysis
def analyze_trends(standups, days=30):
"""Analyze trends in standup data over time"""
daily_data = group_by_date(standups, days)
trends = []
for date, day_standups in daily_data.items():
trends.append({
'date': date,
'tasks_completed': count_completed(day_standups),
'tasks_planned': count_planned(day_standups),
'blockers': count_blockers(day_standups),
'participation_rate': calculate_participation(day_standups)
})
analysis = {
'velocity_trend': calculate_trend([t['tasks_completed'] for t in trends]),
'blocker_trend': calculate_trend([t['blockers'] for t in trends]),
'participation_trend': calculate_trend([t['participation_rate'] for t in trends]),
'most_productive_day': find_peak_day(trends, 'tasks_completed'),
'most_blocker_day': find_peak_day(trends, 'blockers'),
'recommendations': generate_recommendations(trends)
}
return analysis
Predictive Insights
Blocker Prediction
def predict_potential_blockers(member):
"""Predict potential blockers based on patterns"""
risk_factors = {
'high_workload': member['tasks_assigned'] > member['capacity'],
'dependency_count': len(member['dependencies']) > 2,
'recent_blockers': member['recent_blockers_count'] > 2,
'complex_tasks': any(t['complexity'] == 'high' for t in member['tasks']),
'new_team_member': member['tenure_days'] < 30
}
blocker_probability = 0
if risk_factors['high_workload']:
blocker_probability += 0.25
if risk_factors['dependency_count']:
blocker_probability += 0.20
if risk_factors['recent_blockers']:
blocker_probability += 0.30
if risk_factors['complex_tasks']:
blocker_probability += 0.15
if risk_factors['new_team_member']:
blocker_probability += 0.10
return {
'probability': blocker_probability * 100,
'risk_factors': risk_factors,
'recommendations': generate_prevention_recommendations(risk_factors)
}
Workload Balancing
def analyze_workload_balance(team_standups):
"""Analyze workload distribution across team"""
member_workload = {}
for standup in team_standups:
member = standup['member']
tasks = len(standup['planned_today'])
if member not in member_workload:
member_workload[member] = []
member_workload[member].append(tasks)
analysis = {}
for member, task_counts in member_workload.items():
avg_tasks = sum(task_counts) / len(task_counts)
analysis[member] = {
'avg_tasks_per_day': avg_tasks,
'max_tasks': max(task_counts),
'min_tasks': min(task_counts),
'variance': calculate_variance(task_counts),
'utilization': avg_tasks / member['capacity']
}
imbalances = identify_imbalances(analysis)
return {
'member_analysis': analysis,
'imbalances': imbalances,
'redistribution_suggestions': suggest_redistribution(imbalances)
}
Intelligent Standup Routing
Context-Aware Updates
def generate_contextual_standup_summary(standups):
"""Generate summary focused on what matters most"""
themes = extract_themes(standups)
prioritized_items = prioritize_by_impact(themes)
summary = {
'executive_summary': generate_executive_summary(prioritized_items),
'team_detailed': generate_team_summary(standups),
'blocker_focus': generate_blocker_summary(standups),
'highlights': generate_highlights(standups),
'risks': generate_risks(standups)
}
return summary
Smart Question Prompts
def generate_smart_questions(member, standup_history):
"""Generate targeted questions based on patterns"""
questions = []
if has_frequent_blockers(member):
questions.append(
"You've had 3 blockers this week. How can the team help prevent these?"
)
if has_delays(member):
questions.append(
"A few tasks are taking longer than expected. What's causing the delay?"
)
if low_collaboration_score(member):
questions.append(
"Would you like to pair with anyone on your current tasks?"
)
if aligns_with_priorities(member, team_priorities):
questions.append(
"Great progress on priority items! What's next?"
)
return questions
Automated Insights
Weekly Standup Report
# Weekly Standup Analysis - [Week]
## ๐ Team Performance
**Velocity:**
- Tasks Completed: [count]
- Average per Day: [number]
- Week over Week: [+X% / -X%]
**Participation:**
- Average Participation: [rate]%
- Late Submissions: [count]
- Missed Standups: [count]
**Blockers:**
- Total Blockers: [count]
- Average Resolution Time: [hours]
- Escalated Blockers: [count]
## ๐ฅ Individual Performance
| Member | Completed | Blocked | On Time | Trend |
|---|
| Member A | 12 | 2 | 95% | โฌ๏ธ |
| Member B | 8 | 5 | 80% | โฌ๏ธ |
| Member C | 15 | 1 | 100% | โก๏ธ |
## ๐ง Top Blockers This Week
1. **[Blocker]** - Affects [count] team members, [days] days active
2. **[Blocker]** - Affects [count] team members, [days] days active
## ๐ก Insights
**What's Working Well:**
- [Observation 1]
- [Observation 2]
**Areas for Improvement:**
- [Observation 1]
- [Observation 2]
**Recommendations:**
- [Recommendation 1]
- [Recommendation 2]
## ๐ฎ Predictions
**Next Week:**
- Expected velocity: [tasks]
- Potential risks: [description]
- Focus areas: [list]
**Long-term Trends:**
- Velocity trend: [direction]
- Team capacity: [assessment]
- Workload balance: [assessment]
Examples
Example 1: Individual Standup
User: "Start my standup"
Tier 1 Response:
Let's capture your daily standup update:
## ๐ Daily Standup
**Date:** March 27, 2026
**Your Name:** [Your name]
---
**What did you accomplish yesterday?**
Please list what you completed:
- [Task 1]
- [Task 2]
- [Task 3]
**What are you working on today?**
What's your focus for today?
- [Priority 1]
- [Priority 2]
**Any blockers?**
Is anything preventing your progress?
- [None]
- [Blocker description]
**Anything else to share?**
Wins, learnings, announcements?
---
Please respond with your update, or I can fill in from context if you'd like me to check recent work.
Example 2: Team Standup Summary
User: "Generate standup summary for today"
Tier 2 Response:
# Daily Standup Report - March 27, 2026
## ๐ Quick Stats
- **Team Present:** 5/5 (100%)
- **Tasks Completed Yesterday:** 18
- **Tasks Planned Today:** 22
- **Active Blockers:** 2
## โ
Completed Yesterday
**Sarah:** Shipped user authentication feature, fixed 3 bugs
**Alex:** Completed API integration, updated documentation
**Jordan:** Designed new dashboard, reviewed PRs
**Taylor:** Wrote unit tests, deployed to staging
**Sam:** Conducted user interviews, synthesized feedback
## ๐ฏ Working on Today
**Sarah:** Testing auth feature, preparing for demo
**Alex:** Performance optimization, bug fixes
**Jordan:** Implementing dashboard design
**Taylor:** Integration testing, code review
**Sam:** Writing feature spec, planning next sprint
## ๐ง Blockers
1. **API Rate Limiting** - Alex
- **Impact:** Cannot complete performance testing
- **Need:** Contact API provider for higher rate limit
- **Owner:** Alex
- **ETA:** Tomorrow
2. **Design Assets Missing** - Jordan
- **Impact:** Cannot complete dashboard implementation
- **Need:** Final assets from design team
- **Owner:** Jordan
- **ETA:** End of day
## ๐ข Other Updates
- **Sarah:** Won team hackathon! ๐
- **Alex:** Published blog post about API integration
- **Jordan:** New design system component library ready for review
- **Taylor:** Test coverage now at 85%
- **Sam:** Customer feedback positive on recent features
## ๐ Dependencies
- Alex waiting on Sam for feature spec before API integration finalization
- Jordan waiting on design team approval for dashboard assets
## ๐ก Focus Areas for Today
1. Unblock API rate limiting issue (Alex)
2. Complete dashboard implementation (Jordan)
3. Prepare for demo tomorrow (Sarah)
4. Continue testing (Taylor)
5. Write feature spec (Sam)
## ๐ Team Velocity Trend
- **Last 7 days:** 112 tasks completed (16/day avg)
- **Week before:** 104 tasks completed (15/day avg)
- **Trend:** โฌ๏ธ +7.7% improvement
---
**Action Items for Team Lead:**
- Check in on API rate limit issue (Alex)
- Follow up on design assets (Jordan)
- Review dashboard progress (Jordan)
- Prepare demo presentation (Sarah)
Example 3: Predictive Analysis
User: "Analyze our standup trends for this month"
Tier 3 Response:
# Monthly Standup Analysis - March 2026
## ๐ Executive Summary
**Team Velocity:** 458 tasks completed (19.9 tasks/day avg)
**Trend:** โฌ๏ธ +12% from February (409 tasks)
**Blocker Rate:** 23 blockers (0.97 blockers/day avg, -15% improvement)
**Participation:** 96% on-time submissions
---
## ๐ Performance Trends
### Velocity Analysis
Week 1: 102 tasks (20.4/day) โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Week 2: 98 tasks (19.6/day) โโโโโโโโโโโโโโโโโโโโโโโโโโ
Week 3: 112 tasks (22.4/day) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Week 4: 146 tasks (29.2/day) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Overall: 458 tasks (19.9/day)
**Insights:**
- Strongest week: Week 4 (+48% vs. Week 1)
- Consistent improvement: +12% month-over-month
- Peak day: Friday, March 21 (32 tasks completed)
### Blocker Analysis
Severity Breakdown:
High: 4 blockers (17%) โโโโโโ
Medium: 12 blockers (52%) โโโโโโโโโโโโโโโโโโโโ
Low: 7 blockers (30%) โโโโโโโโโโโ
Resolution Time:
0-24 hours: 13 blockers (57%) โโโโโโโโโโโโโโโโโโโ
24-48 hours: 7 blockers (30%) โโโโโโโโโโโโโ
48+ hours: 3 blockers (13%) โโโโโ
**Insights:**
- 70% of blockers resolved within 48 hours โ
- Top blocker categories: Technical (43%), External (35%), Resource (22%)
- Escalation rate: 22% (5 blockers escalated to leadership)
### Participation Analysis
| Member | On-Time Rate | Tasks Completed | Blockers | Trend |
|---|
| Sarah | 98% | 112 | 3 | โฌ๏ธ |
| Alex | 95% | 98 | 5 | โก๏ธ |
| Jordan | 100% | 105 | 2 | โฌ๏ธ |
| Taylor | 93% | 87 | 6 | โฌ๏ธ |
| Sam | 94% | 56 | 7 | โก๏ธ |
**Insights:**
- Jordan: Highest participation and fewest blockers (model performer)
- Taylor: Declining trend (+3 blockers this week) - recommend check-in
- Sam: High blocker count relative to tasks - investigate workload
---
## ๐ง Top Recurring Blockers
1. **API Rate Limiting** (5 occurrences)
- **Frequency:** Every 5-7 days
- **Impact:** Testing delays (avg. 8 hours lost)
- **Root Cause:** Third-party API limits
- **Recommended Action:** Implement request caching and queueing
2. **Design Asset Delays** (4 occurrences)
- **Frequency:** Weekly pattern
- **Impact:** Development delays (avg. 1 day per blocker)
- **Root Cause:** Design team workflow bottleneck
- **Recommended Action:** Establish design sprint planning with dev team
3. **Code Review Bottlenecks** (3 occurrences)
- **Frequency:** During sprint end
- **Impact:** Deployment delays (avg. 0.5 day per blocker)
- **Root Cause:** Limited reviewer availability
- **Recommended Action:** Expand reviewer pool, implement async review
---
## ๐ก AI Insights
### What's Working Well
โ
**Increasing velocity:** 12% month-over-month improvement
โ
**Blocker resolution:** 70% resolved within 48 hours
โ
**Team collaboration:** High participation rates (96%)
### Areas for Improvement
โ ๏ธ **Technical blockers:** 43% of blockers are technical (API, dependencies)
โ ๏ธ **Design workflow:** Recurring asset delays affecting development
โ ๏ธ **Code review velocity:** Sprint-end bottlenecks delaying deployments
### Predictive Analysis
**Next Month Forecast:**
- Expected velocity: 510 tasks (+11%)
- Predicted blockers: 20-25 (based on trend)
- Risk factors: Major feature launch (Week 2), Design team turnover
**Risk Indicators:**
๐ด **High Risk:** API rate limiting (recurring, increasing frequency)
๐ก **Medium Risk:** Design asset delays (recurring, stable frequency)
๐ก **Medium Risk:** Taylor's declining performance (new pattern)
### Recommendations
**Immediate Actions (This Week):**
1. Implement API request caching to reduce rate limit issues
2. Establish design-dev sync meetings (weekly, 30 minutes)
3. Check in with Taylor to understand performance decline
**Short-term (This Month):**
4. Expand code reviewer pool (train 2 additional reviewers)
5. Create blocker prevention checklist for common patterns
6. Implement workload balancing based on capacity analysis
**Long-term (Next Quarter):**
7. Build self-service design asset library for developers
8. Implement automated blocker detection and escalation
9. Establish continuous improvement process for workflow optimization
---
## ๐ฏ Next Week Priorities
1. **Resolve API rate limiting** (Alex)
- Implement caching layer
- Queue non-critical requests
- Monitor effectiveness
2. **Streamline design workflow** (Jordan + Design Lead)
- Weekly design-dev sync
- Asset library initiative
- Reduce delivery time to <24 hours
3. **Support team performance** (Team Lead)
- Check in with Taylor
- Review workload distribution
- Provide resources as needed
4. **Prepare for feature launch** (All)
- Final testing (Week 1)
- Documentation (Week 1)
- Launch plan execution (Week 2)
---
**Would you like me to:**
1. Create detailed blocker resolution plans?
2. Generate individual performance summaries?
3. Schedule follow-up meetings for key issues?
4. Set up automated blocker monitoring?
Best Practices
For Individuals
-
Be Consistent
- Submit standups at the same time daily
- Keep updates concise (2-3 minutes to read)
- Be honest about blockers
-
Be Specific
- Use clear, actionable language
- Quantify progress where possible
- Link blockers to specific tasks
-
Be Proactive
- Ask for help early
- Offer help to others
- Share learnings and wins
For Teams
-
Create Psychological Safety
- No blame for blockers
- Celebrate wins
- Support team members
-
Keep It Brief
- Target 2-3 minutes per person
- Focus on impact, not details
- Use async when time zones vary
-
Follow Up
- Address blockers promptly
- Track resolution
- Learn from patterns
Common Mistakes
Individual Mistakes
โ Too Vague: "Working on stuff"
โ
Specific: "Implementing user authentication API endpoints"
โ No Blockers Reported: "No blockers" when there are issues
โ
Honest: "Blocked on design approval, waiting 2 days"
โ Task Dumping: List of 20 tasks
โ
Prioritized: "Top 3 priorities: [tasks]"
Team Mistakes
โ Synchronous Across Time Zones: 2 AM standup for someone
โ
Async First: Allow flexible submission times
โ No Follow-Up: Blockers discussed but not resolved
โ
Action Tracking: Every blocker has owner and deadline
โ One-Way Communication: Updates submitted but never read
โ
Engagement: Team reads, comments, helps each other
Standup Templates
Email Standup Template
Subject: Daily Standup - [Date] - [Your Name]
Hi team,
Here's my standup update:
**Yesterday:**
โข [Completed task 1]
โข [Completed task 2]
โข [Attended meeting/event]
**Today:**
โข Working on [task/priority]
โข Focus: [area of focus]
โข Meeting/collaboration: [what's planned]
**Blockers:**
โข [None] or [Blocker description]
- Impact: [how it affects work]
- Need: [what help is needed]
**Other:**
โข [Announcements, wins, learnings]
Thanks,
[Your Name]
Slack Standup Template
๐ **Daily Standup** - [Date]
**Yesterday:**
~ [task]
~ [task]
**Today:**
๐ฏ [priority/task]
๐ฏ [priority/task]
**Blockers:**
๐ง [None] or [blocker + help needed]
**Other:**
๐ข [announcement]
Integration with Other Skills
Related Skills
- daily-agenda: Incorporate standup priorities into daily plan
- message-review: Review standup communication tone and clarity
- project-status: Update project metrics from standup data
Workflow Integration
-
Standup โ Daily Agenda
Submit standup โ Extract priorities โ Update daily agenda
-
Standup โ Project Status
Team standups โ Compile updates โ Refresh project dashboard
-
Daily Agenda โ Standup
Review daily agenda โ Identify accomplishments โ Prepare standup
Progressive Disclosure
Level 1 (Guided):
- Simple three-question format
- Basic blocker tracking
- Manual compilation of team updates
Level 2 (Confident):
- Structured team summaries
- Blocker escalation logic
- Async standup workflows
- Dependency tracking
Level 3 (Anticipatory):
- Standup analytics and trends
- Predictive blocker insights
- Workload balancing analysis
- Automated insights generation
Session Tracking
After using this skill, update personal-os/adaptation/skill-levels.md:
standup-bot:
level: 1
sessions_used: 1
last_used: [current_date]
progression_notes: "Completed first individual standup, captured blockers"