mirror of
https://github.com/wshobson/agents.git
synced 2026-03-18 17:47:16 +00:00
style: format all files with prettier
This commit is contained in:
@@ -9,10 +9,12 @@ Modern remote-first teams rely on async standup notes to maintain visibility, co
|
||||
## Requirements
|
||||
|
||||
**Arguments:** `$ARGUMENTS` (optional)
|
||||
|
||||
- If provided: Use as context about specific work areas, projects, or tickets to highlight
|
||||
- If empty: Automatically discover work from all available sources
|
||||
|
||||
**Required MCP Integrations:**
|
||||
|
||||
- `mcp-obsidian`: Vault access for daily notes and project updates
|
||||
- `atlassian`: Jira ticket queries (graceful fallback if unavailable)
|
||||
- Optional: Calendar integrations for meeting context
|
||||
@@ -20,12 +22,14 @@ Modern remote-first teams rely on async standup notes to maintain visibility, co
|
||||
## Data Source Orchestration
|
||||
|
||||
**Primary Sources:**
|
||||
|
||||
1. **Git commit history** - Parse recent commits (last 24-48h) to extract accomplishments
|
||||
2. **Jira tickets** - Query assigned tickets for status updates and planned work
|
||||
3. **Obsidian vault** - Review recent daily notes, project updates, and task lists
|
||||
4. **Calendar events** - Include meeting context and time commitments
|
||||
|
||||
**Collection Strategy:**
|
||||
|
||||
```
|
||||
1. Get current user context (Jira username, Git author)
|
||||
2. Fetch recent Git commits:
|
||||
@@ -45,22 +49,26 @@ Modern remote-first teams rely on async standup notes to maintain visibility, co
|
||||
## Standup Note Structure
|
||||
|
||||
**Standard Format:**
|
||||
|
||||
```markdown
|
||||
# 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]
|
||||
@@ -70,6 +78,7 @@ Modern remote-first teams rely on async standup notes to maintain visibility, co
|
||||
```
|
||||
|
||||
**Formatting Guidelines:**
|
||||
|
||||
- Use bullet points for scanability
|
||||
- Include links to tickets, PRs, docs for quick navigation
|
||||
- Bold blockers and key information
|
||||
@@ -80,6 +89,7 @@ Modern remote-first teams rely on async standup notes to maintain visibility, co
|
||||
## Yesterday's Accomplishments Extraction
|
||||
|
||||
**AI-Assisted Commit Analysis:**
|
||||
|
||||
```
|
||||
For each commit in the last 24-48 hours:
|
||||
1. Extract commit message and parse for:
|
||||
@@ -101,6 +111,7 @@ For each commit in the last 24-48 hours:
|
||||
```
|
||||
|
||||
**Obsidian Task Completion Parsing:**
|
||||
|
||||
```
|
||||
Search vault for completed tasks (last 24-48h):
|
||||
- Pattern: `- [x] Task description` with recent modification date
|
||||
@@ -110,6 +121,7 @@ Search vault for completed tasks (last 24-48h):
|
||||
```
|
||||
|
||||
**Accomplishment Quality Criteria:**
|
||||
|
||||
- Focus on delivered value, not just activity ("Shipped user auth" vs "Worked on auth")
|
||||
- Include impact when known ("Fixed bug affecting 20% of users")
|
||||
- Connect to team goals or sprint objectives
|
||||
@@ -118,6 +130,7 @@ Search vault for completed tasks (last 24-48h):
|
||||
## Today's Plans and Priorities
|
||||
|
||||
**Priority-Based Planning:**
|
||||
|
||||
```
|
||||
1. Urgent blockers for others (unblock teammates first)
|
||||
2. Sprint/iteration commitments (tickets in current sprint)
|
||||
@@ -128,12 +141,14 @@ Search vault for completed tasks (last 24-48h):
|
||||
```
|
||||
|
||||
**Capacity-Aware Planning:**
|
||||
|
||||
- Calculate available hours (8h - meetings - expected interruptions)
|
||||
- Flag overcommitment if planned work exceeds capacity
|
||||
- Include time for code reviews, testing, deployment tasks
|
||||
- Note partial day availability (half-day due to appointments, etc.)
|
||||
|
||||
**Clear Outcomes:**
|
||||
|
||||
- Define success criteria for each task ("Complete API integration" vs "Work on API")
|
||||
- Include ticket status transitions expected ("Move JIRA-123 to Code Review")
|
||||
- Set realistic completion targets ("Finish by EOD" or "Rough draft by lunch")
|
||||
@@ -143,33 +158,40 @@ Search vault for completed tasks (last 24-48h):
|
||||
**Blocker Categorization:**
|
||||
|
||||
**Hard Blockers (work completely stopped):**
|
||||
|
||||
- Waiting on external API access or credentials
|
||||
- Blocked by failed CI/CD or infrastructure issues
|
||||
- Dependent on another team's incomplete work
|
||||
- Missing requirements or design decisions
|
||||
|
||||
**Soft Blockers (work slowed but not stopped):**
|
||||
|
||||
- Need clarification on requirements (can proceed with assumptions)
|
||||
- Waiting on code review (can start next task)
|
||||
- Performance issues impacting development workflow
|
||||
- Missing nice-to-have resources or tools
|
||||
|
||||
**Blocker Escalation Format:**
|
||||
|
||||
```markdown
|
||||
## Blockers
|
||||
|
||||
• **[CRITICAL]** [Description] - Blocked since [date]
|
||||
- **Impact:** [What work is stopped, team/customer impact]
|
||||
- **Need:** [Specific action required]
|
||||
- **From:** [@person or @team]
|
||||
- **Tried:** [What you've already attempted]
|
||||
- **Next step:** [What will happen if not resolved by X date]
|
||||
|
||||
- **Impact:** [What work is stopped, team/customer impact]
|
||||
- **Need:** [Specific action required]
|
||||
- **From:** [@person or @team]
|
||||
- **Tried:** [What you've 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]
|
||||
|
||||
- **Need:** [What would unblock]
|
||||
- **Workaround:** [Current alternative approach if any]
|
||||
```
|
||||
|
||||
**Dependency Tracking:**
|
||||
|
||||
- Call out cross-team dependencies explicitly
|
||||
- Include expected delivery dates for dependent work
|
||||
- Tag relevant stakeholders with @mentions
|
||||
@@ -178,6 +200,7 @@ Search vault for completed tasks (last 24-48h):
|
||||
## AI-Assisted Note Generation
|
||||
|
||||
**Automated Generation Workflow:**
|
||||
|
||||
```bash
|
||||
# Generate standup notes from Git commits (last 24h)
|
||||
git log --author="$(git config user.name)" --since="24 hours ago" \
|
||||
@@ -198,6 +221,7 @@ obsidian_get_recent_periodic_notes --period daily --limit 2 | \
|
||||
```
|
||||
|
||||
**AI Summarization Techniques:**
|
||||
|
||||
- Group related commits/tasks under single accomplishment bullets
|
||||
- Translate technical commit messages to business value statements
|
||||
- Identify patterns across multiple changes (e.g., "Refactored auth module" from 5 commits)
|
||||
@@ -205,6 +229,7 @@ obsidian_get_recent_periodic_notes --period daily --limit 2 | \
|
||||
- Flag potential blockers or risks from context clues
|
||||
|
||||
**Manual Override:**
|
||||
|
||||
- Always review AI-generated content for accuracy
|
||||
- Add personal context AI cannot infer (conversations, planning thoughts)
|
||||
- Adjust priorities based on team needs or changed circumstances
|
||||
@@ -213,6 +238,7 @@ obsidian_get_recent_periodic_notes --period daily --limit 2 | \
|
||||
## Communication Best Practices
|
||||
|
||||
**Async-First Principles:**
|
||||
|
||||
- Post standup notes at consistent time daily (e.g., 9am local time)
|
||||
- Don't wait for synchronous standup meeting to share updates
|
||||
- Include enough context for readers in different timezones
|
||||
@@ -220,6 +246,7 @@ obsidian_get_recent_periodic_notes --period daily --limit 2 | \
|
||||
- Make blockers actionable (specific requests, not vague concerns)
|
||||
|
||||
**Visibility and Transparency:**
|
||||
|
||||
- Share wins and progress, not just problems
|
||||
- Be honest about challenges and timeline concerns early
|
||||
- Call out dependencies proactively before they become blockers
|
||||
@@ -227,6 +254,7 @@ obsidian_get_recent_periodic_notes --period daily --limit 2 | \
|
||||
- Include learning moments or process improvements
|
||||
|
||||
**Team Coordination:**
|
||||
|
||||
- Read teammates' standup notes before posting yours (adjust plans accordingly)
|
||||
- Offer help when you see blockers you can resolve
|
||||
- Tag people when their input or action is needed
|
||||
@@ -234,6 +262,7 @@ obsidian_get_recent_periodic_notes --period daily --limit 2 | \
|
||||
- Update throughout day if priorities shift significantly
|
||||
|
||||
**Writing Style:**
|
||||
|
||||
- Use active voice and clear action verbs
|
||||
- Avoid ambiguous terms ("soon", "later", "eventually")
|
||||
- Be specific about timeline and scope
|
||||
@@ -243,41 +272,49 @@ obsidian_get_recent_periodic_notes --period daily --limit 2 | \
|
||||
## Async Standup Patterns
|
||||
|
||||
**Written-Only Standup (No Sync Meeting):**
|
||||
|
||||
```markdown
|
||||
# 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](link) | [JIRA Sprint Board](link)
|
||||
```
|
||||
|
||||
**Thread-Based Standup:**
|
||||
|
||||
- Post standup as Slack thread parent message
|
||||
- Teammates reply in thread with questions or offers to help
|
||||
- Keep discussion contained, surface key decisions to channel
|
||||
- Use emoji reactions for quick acknowledgment (👀 = read, ✅ = noted, 🤝 = I can help)
|
||||
|
||||
**Video Async Standup:**
|
||||
|
||||
- Record 2-3 minute Loom video walking through work
|
||||
- Post video link with text summary (for skimmers)
|
||||
- Useful for demoing UI work, explaining complex technical issues
|
||||
- Include automatic transcript for accessibility
|
||||
|
||||
**Rolling 24-Hour Standup:**
|
||||
|
||||
- Post update anytime within 24h window
|
||||
- Mark as "posted" when shared (use emoji status)
|
||||
- Accommodates distributed teams across timezones
|
||||
@@ -286,6 +323,7 @@ obsidian_get_recent_periodic_notes --period daily --limit 2 | \
|
||||
## Follow-Up Tracking
|
||||
|
||||
**Action Item Extraction:**
|
||||
|
||||
```
|
||||
From standup notes, automatically extract:
|
||||
1. Blockers requiring follow-up → Create reminder tasks
|
||||
@@ -295,12 +333,14 @@ From standup notes, automatically extract:
|
||||
```
|
||||
|
||||
**Progress Tracking Over Time:**
|
||||
|
||||
- Link today's "Yesterday" section to previous day's "Today" plan
|
||||
- Flag items that remain in "Today" for 3+ days (potential stuck work)
|
||||
- Celebrate completed multi-day efforts when finally done
|
||||
- Review weekly to identify recurring blockers or process improvements
|
||||
|
||||
**Retrospective Data:**
|
||||
|
||||
- Monthly review of standup notes reveals patterns:
|
||||
- How often are estimates accurate?
|
||||
- Which types of blockers are most common?
|
||||
@@ -309,8 +349,10 @@ From standup notes, automatically extract:
|
||||
- Use insights for sprint planning and capacity estimation
|
||||
|
||||
**Integration with Task Systems:**
|
||||
|
||||
```markdown
|
||||
## 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 yesterday's post) - Due: Tomorrow
|
||||
- [ ] Document deployment process (from today's plan) - Due: End of week
|
||||
@@ -325,12 +367,14 @@ From standup notes, automatically extract:
|
||||
# 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 wasn't 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
|
||||
@@ -338,12 +382,15 @@ From standup notes, automatically extract:
|
||||
• **Code review:** Review @sarah's notification service refactor (PR #451)
|
||||
|
||||
## Blockers
|
||||
|
||||
• **Need:** QA environment refresh for profile testing - Database is 2 weeks stale
|
||||
- **From:** @qa-team or @devops
|
||||
- **Impact:** Can't test full user flow until refreshed
|
||||
- **Workaround:** Testing with mock data for now, but need real data before production
|
||||
|
||||
- **From:** @qa-team or @devops
|
||||
- **Impact:** Can't 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]
|
||||
|
||||
@@ -356,32 +403,39 @@ From standup notes, automatically extract:
|
||||
# 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
|
||||
|
||||
- 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)
|
||||
|
||||
- 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)
|
||||
|
||||
- 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.*
|
||||
|
||||
_Auto-generated from Git commits (24h) + Jira tickets. Reviewed and approved by human._
|
||||
```
|
||||
|
||||
### Example 3: Async Standup Template (Slack/Discord)
|
||||
@@ -402,13 +456,15 @@ From standup notes, automatically extract:
|
||||
|
||||
**🚧 Blockers**
|
||||
• ⚠️ Need @product approval on permissions UX before I can finish JIRA-501
|
||||
- I've posted in #product-questions, following up in standup if no response by 11am
|
||||
|
||||
- I've 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
|
||||
```
|
||||
|
||||
@@ -418,11 +474,13 @@ React with 👀 when read | Reply in thread with questions
|
||||
# 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
|
||||
@@ -432,27 +490,32 @@ React with 👀 when read | Reply in thread with questions
|
||||
**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 I've tried:**
|
||||
|
||||
- Submitted access request via IT portal (Ticket #12345) - No response
|
||||
- Asked in #database-help channel - Referred to IT portal
|
||||
- DM'd @john yesterday - Said he'd 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
|
||||
@@ -526,6 +589,7 @@ jira issues list --assignee currentUser() --status "In Progress"
|
||||
• [Active PRs](link) | [Sprint Board](link) | [Migration Runbook](link)
|
||||
|
||||
---
|
||||
|
||||
👀 = I've read this | 🤝 = I can help with something | 💬 = Reply in thread
|
||||
```
|
||||
|
||||
@@ -533,16 +597,21 @@ jira issues list --assignee currentUser() --status "In Progress"
|
||||
|
||||
```markdown
|
||||
# 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! I'll 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 - Tomorrow's setup
|
||||
|
||||
Add to tomorrow's "Today" section:
|
||||
• Deploy database migration to production (scheduled 9am maintenance window)
|
||||
• Monitor migration + rollback plan ready
|
||||
@@ -553,6 +622,7 @@ Add to tomorrow's "Today" section:
|
||||
|
||||
```markdown
|
||||
# Review week of standup notes
|
||||
|
||||
Patterns observed:
|
||||
• ✅ Completed all 5 sprint stories
|
||||
• ⚠️ Database blocker cost 1.5 days - need faster SRE response process
|
||||
|
||||
Reference in New Issue
Block a user