name: alfred-team-calibrate description: "Analyze team execution patterns from observation logs. Propose TEAM.md calibration updates based on response times, completion rates, blind spots, and communication patterns. Use when: calibrate team, team eval, how is the team doing, update team model." allowed-tools: Read, Write, Edit, Glob, Grep
Alfred Team Calibrate
Reads accumulated team observations, identifies patterns, proposes TEAM.md updates. Only proposes updates when 3+ observations support a pattern. Master approves all changes.
Can be invoked standalone or from cowork-v2 Phase 6.
Inputs
outputs/team-observations.jsonl— observation log (appended by cowork-v2 Phase 3C)context/TEAM.md— current team model with existing calibration data
Step 1: Load Data
- Read
context/TEAM.md. Note existing calibration fields per member (Response, Channel, Strength, Gap, Last calibrated). - Read
outputs/team-observations.jsonl. If file doesn't exist, tell Master: "No observations logged yet. Run cowork-v2 first to start collecting data." - For each team member, filter observations since their
Last calibrateddate (or all observations if never calibrated). - If fewer than 3 observations for a member, note them but skip analysis — insufficient data.
Step 2: Per-Member Analysis
For each member with 3+ observations:
- Response time — Calculate from
assignedtodatewhen status changed todoneorin_progress. Note average, fastest, slowest. Consider timezone (TEAM.md has location). - Completion rate — Count: done, in_progress, stale, waiting. Calculate done percentage.
- Communication patterns — Which
sourcechannels do they respond on? Does it match TEAM.md routing? Note preferred channel for urgent vs. formal. - Blind spots surfaced — Scan
notesfor new information they brought that Alfred/Master didn't have. These are high-value signals. - Routing corrections — Scan
notesfor tasks they redirected ("this should go to Linda") or tasks outside their TEAM.md zone. - Stale patterns — Are stale items clustered around certain task types? Could indicate capacity limits or unclear ownership.
Step 3: Identify Patterns
- Only propose TEAM.md updates when 3+ observations support the same pattern. One data point is an anecdote, not a pattern.
- Flag anomalies that need Master's judgment — don't diagnose:
- "Linda has 2 stale tasks in the last week — unusual for her" (not "Linda is disengaged")
- "Wilson's response time increased from 4hrs to 12hrs" (not "Wilson is overloaded")
- Note routing corrections that suggest TEAM.md sender-to-label or topic-to-label rules need updating.
Step 4: Present Report
- Write
outputs/YYYY-MM-DD-HHmm-team-calibrate.md. - Present to Master per member:
## [Name] — [Role]
- Observations since last calibration: N
- Response time: avg X hours (range: Y-Z)
- Completion: N/M (X%)
- Communication: responds on [channels]
- Strengths observed: [patterns]
- Gaps observed: [patterns]
- Blind spots surfaced: [list of new info they brought]
- Anomalies: [anything unusual, flagged for Master judgment]
Proposed TEAM.md updates:
+ Response: [value]
+ Channel: [value]
+ Strength: [value]
+ Gap: [value]
+ Blind spot value: [value]
Step 5: Apply Updates
- Master reviews each proposed update. Can approve, reject, or modify.
- For approved updates, edit
context/TEAM.md:- Add calibration fields below the member's existing data
- Preserve all existing fields (email, label, zone, reports to)
- Set
Last calibrated: YYYY-MM-DD
- For corrections from Master, apply Master's version instead.
Calibration Fields
Added per team member in TEAM.md below existing data:
### [Name] — [Role]
- Email: ... | Gmail Label: ...
- Reports to: ...
- Zone: ...
- Response: 4-6 hours typical (TW timezone, 9am-6pm TPE)
- Channel: WhatsApp for urgent, email for formal
- Strength: Proactive on compliance, thorough documentation
- Gap: Open-ended asks deprioritized — needs explicit deadlines
- Blind spot value: Payroll system issues, tax filing changes
- Last calibrated: 2026-02-11
Output File
File: outputs/YYYY-MM-DD-HHmm-team-calibrate.md
STATUS: COMPLETE | PARTIAL (reason) | NEEDS INPUT (question)
# Team Calibration — YYYY-MM-DD
## Summary
- Members analyzed: N (of M total)
- Observations processed: N
- Skipped (insufficient data): [names]
- Updates proposed: N
- Updates applied: N
## [Per-member sections]
Rules
- 3+ observations minimum. Don't propose patterns from 1-2 data points.
- Master approves all changes. Never auto-update TEAM.md. This is about people.
- Observe, don't diagnose. Present data and flag anomalies. Let Master interpret.
- Preserve TEAM.md structure. Add calibration fields below existing data. Don't reorganize or remove existing fields.
- Don't spin. If team-observations.jsonl is empty or malformed, say so and stop.