name: alfred-team-briefings description: > [Alfred] Align team to 100% productivity. Synthesize all signals, track continuity from previous briefings, draft update for Master approval. Typically invoked from cowork Phase 5 (Team Alignment) after triages and conversation are done. Use when: "send team briefing", "brief the team", "team email", "align the team". allowed-tools: Read, Write, Edit, Glob, Grep, Bash(git:), Task, mcp__claude-in-chrome__
Alfred Team Briefings
Mental model: Team members are subagents. This skill collects their status updates, identifies blockers, and dispatches new work. The briefing email is the dispatch mechanism — the goal is 100% team productivity with zero ambiguity about who owns what.
Required Context
context/TEAM.md— team roster, ownership zones, email addresses- Today's triage outputs — already loaded if running from cowork Phase 5
- Today's conversation decisions — new tasks, delegations, blockers surfaced during cowork
When invoked from cowork, triage data and conversation context are already in memory. When invoked standalone, read today's triage outputs first. If none exist, warn Master that data may be stale.
Process
Step 1: Build Team Status from Email Thread
The email thread IS the memory system. The briefing threads contain all assignments, replies, updates, and Master's notes.
- Search Gmail:
subject:"Worca Team Briefings" from:me - Find the most recent thread and read the ENTIRE thread — all replies from team AND Master
- Look for "--- STEVEN ADDS ---" sections in Master's replies
- Extract ALL items — every task assigned, every reply, every note Master added
Determine item states:
- Pending — assigned, no reply yet → keep tracking
- In Progress — "Will do", "Working on it" → keep tracking (not resolved)
- Blocked — team member reported blocker → keep tracking, flag it
- Resolved — confirmed complete with specific outcome → stop tracking
"Will do" ≠ Resolved. Only specific outcomes resolve items:
- "Done", "Sent", "Invoice revised", "Meeting scheduled for Tuesday" → Resolved
- "Will do", "On it", "I'll handle it", "Working on this" → NOT resolved
Step 2: Per-Member Email Activity Search
The briefing thread misses the full picture. Team members email Steven directly. Steven resolves items via direct email.
For each team member in TEAM.md:
- Search their sent emails:
from:{member@worca.io}(since last briefing) - Search Steven's emails to them:
from:me to:{member@worca.io}(since last briefing) - Build per-member activity summary:
- Email count (from them + to them)
- Key topics/themes
- Activity level: Active (5+), Moderate (2-4), Quiet (0-1)
- Items needing Steven's attention
- Items that are FYI only
Step 3: Cross-Reference and Resolve
Cross-reference email activity against open briefing items:
- Steven already emailed about an open item → mark "Resolved (via direct email)"
- Team member sent update outside thread → capture update, link to open item
- New work items in email activity not in briefing → add as new items
- Steven gave direction via direct email → don't re-ask in briefing
If Steven already communicated something via direct email, the briefing should NOT re-ask it.
Step 4: Cross-Reference Calendar & Meeting Prep
Meetings resolve open items that emails don't capture.
- Read today's meeting prep output:
Glob: outputs/*-meeting-prep.md - Check recent calendar for completed meetings since last briefing
- Cross-reference against open items:
- Meeting already happened for an open item → ask for outcomes, not scheduling status
- Scheduled meeting relates to an open item → note meeting date
- Meeting prep shows upcoming meeting → track as "In Progress — meeting scheduled"
If a meeting already happened for an open item, don't ask if it's been scheduled. Ask for outcomes instead.
Step 5: Draft Email
Write to: outputs/YYYY-MM-DD-HHmm-team-briefings.md (local time)
Draft email rules:
- TODAY'S UPDATES uses real email activity data (not just briefing thread)
- Items Steven already addressed via direct email are NOT re-asked
- New work items from email activity ARE included
- OPEN ITEMS only lists genuinely open items
Use plain text format — no markdown tables (Gmail doesn't render them).
Step 6: Present Draft
Show Master:
- Continuity summary — what was assigned, who replied, what's still open
- Team Activity Summary — per-member email activity since last briefing
- Stale items — anything 3+ days without update
- The email draft
- Recipients list
- Missing team members — no updates = skip or include?
Ask: "Ready to send, or any changes?"
Step 7: Incorporate Feedback
If Master provides feedback:
- Update the draft in the logged file
- Record feedback in "Changes Made" section
- Present revised draft
- Repeat until approved
Step 8: Send
After Master approval:
- Open Gmail (steven@worca.io)
- Compose → To: team members with updates
- Subject:
YYYY-MM-DD Worca Team Briefings - Paste body
- Confirm with Master before clicking Send
- Send
- Update log file:
Status: Sent
Anti-Patterns
- Don't treat email as the goal — goal is 100% team productivity
- Don't read only the last briefing — read the ENTIRE thread including all replies
- Don't miss Master's reply-adds — Master often adds tasks via reply
- Don't mark "will do" as resolved — only confirmed outcomes
- Don't skip continuity check — email thread is source of truth
- Don't send without full picture — know what was assigned, who replied
- Don't send without approval — always confirm before send
- Don't skip team members silently — note who has no updates
- Don't re-ask items Master resolved via direct email
- Don't only read briefing thread — search per-member emails
- Don't ask if a meeting is scheduled when it already happened — check calendar
Email Template
Subject: YYYY-MM-DD Worca Team Briefings
Hi team,
Quick sync to start the week.
=== HOW TO REPLY ===
- Reply-all with your name header (--- YOURNAME ---)
- For each item: [DONE], [IN PROGRESS], or [BLOCKED]
- Add new items you're working on
- Keep thread clean — one reply per person per briefing
=== OPEN ITEMS ===
Items still tracked from previous briefings:
- Alvin: [Item] [STATUS]
- Alec: [Item] [STATUS]
=== TODAY'S UPDATES ===
--- ALVIN ---
- Item 1 — context
Action: [Specific action needed]
--- ALEC ---
- Item 1 — context
--- IVAN ---
- Item 1 — context
--- LINDA ---
- Item 1 — context
--- LYDIA ---
- Item 1 — context
--- WILSON ---
- Item 1 — context
Steven
Reply Parsing
When reading the email thread, extract status from replies:
- "[DONE]" or "Done" or "Completed" or "Sent" → Resolved
- "[IN PROGRESS]" or "Working on" or "Will do" → In Progress
- "[BLOCKED]" or "Waiting on" or "Can't proceed" → Blocked
- No reply to assigned item → Pending
Absence of explicit [DONE] = still tracked.
Master Reply-Add Format
Master adds tasks via reply:
--- STEVEN ADDS ---
@Alvin:
- INV-1995 Tactic Growth — revise invoice for Mae Faith credit [NEW]
@Linda:
- TSMC AZ contact — prioritize this week [PRIORITY]
Alfred must scan for "--- STEVEN ADDS ---" in thread replies and capture all items.
Output Template
STATUS: DRAFT (pending approval)
# Team Briefings — YYYY-MM-DD HH:mm
**Recipients:** [names]
## Continuity Check
### From Previous Briefing (YYYY-MM-DD)
- [Person]: [Assigned task] → [Their reply] → [Current status]
### Stale Items (3+ days)
- [Person]: [Item] — [N] days old — last update: [status]
## Team Activity Summary (emails since YYYY-MM-DD)
### {Name} ({N} emails — Active/Moderate/Quiet)
- Topic 1
- Topic 2
- Items needing Steven's attention: X
- Items resolved via direct email: Y
### Items Resolved via Direct Email
- [Person]: [Open item] → [How resolved] — [date]
### New Items from Email Activity
- [Person]: [Item] — source: [from:{member} email on date]
## Draft Email
[Email content]
## Changes Made
- [Feedback] → [Action taken]