style: format all files with prettier

This commit is contained in:
Seth Hobson
2026-01-19 17:07:03 -05:00
parent 8d37048deb
commit 56848874a2
355 changed files with 15215 additions and 10241 deletions

View File

@@ -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