| name | linear-create-summary |
| description | Generate team activity reports - who's working on what, cleanup needed, summary stats. For standups and planning. |
Linear Create Summary
Usage
linear-create-summary for last 36 hours
linear-create-summary for last 7 days
Process
1. Load Context
board = read('../data/board.json')
staleThreshold = board.settings.stale_threshold_days
excludedTeams = board.settings.team_exclusions.stale_checks
2. Parse Period & Query
Calculate start date from user request ("last X hours/days/weeks").
issues = mcp__linear__list_issues({
updatedAt: startDate,
limit: 250
})
Paginate if needed (use after parameter).
3. Resolve Unknowns
For each issue, if assignee/project/label not in board.json:
- Use
resolveUser(),resolveProject(),resolveLabel()helpers - See
../utils/sync-helpers.md
4. Categorize
- Completed: status = "Done" or "Released"
- In Progress: status = "In Progress" or "In Review"
- Stale: Open + not Backlog + no update > staleThreshold days
- Created: createdAt in period
Group by reporting teams (use board.reporting_teams in display_order):
- For Engineering tickets: Look for "Mobile Team", "WebDev Team", or "Backend Team" labels
- For QA: Use role="qa" field
- For other teams: Use team field
- Display order: Mobile Team → WebDev Team → Backend Team → DevOps & Infra → Design → QA → Product & Analytics
- Skip AI & Research (excluded_from_reports)
Skip excluded teams from stale checks.
5. Generate Report
Executive Summary (at top)
- Total tickets moved, completed, created
- Top 3 contributors
- Key wins (1-2 bullets)
- Critical concerns (1-2 bullets)
- Net closure rate
Part 1: Who's Working on What
- By team, then person
- Show tickets with ID + TITLE: "ENG-1234: Fix checkout crash"
- Include: completed, in progress, in review, created
- Note inactive engineers (in team but no activity)
- Exclude QA members (role="qa", no subteam) from subteam groupings - they don't belong to specific subteams
- Exclude QA from inactive tracking - they create bugs, they don't resolve tickets
Part 2: Cleanup Needed
- Stale tickets: ID + title, days stale, problem, fix
- Missing labels/assignees: ID + title, problem, fix
- Skip AI & Research (excluded from all reports)
- Relax standards for DevOps (they operate differently)
Part 3: Statistics
- Overall: created, completed, bugs raised, bugs resolved
- By person: created, done, in progress
- By platform: bugs raised vs fixed
- By feature: created vs done
- Velocity: completion rate, bug resolution, stale rate
6. Save & Cleanup
If unknown_cache modified: saveUnknownCache()
Offer to save report (user specifies location).
Report Template
# Linear Activity: [Period]
**Generated:** [timestamp]
**Duration:** [X] hours/days
---
## Executive Summary
**Activity:** [X] tickets moved, [Y] completed, [Z] created
**Top Contributors:** [Person1] ([N] done), [Person2] ([M] done), [Person3] ([K] done)
**Wins:**
- [Key achievement 1]
- [Key achievement 2]
**Concerns:**
- [Critical issue 1]
- [Critical issue 2]
**Net Closure:** [X] completed vs [Y] created = [positive/negative] trend
---
## Part 1: Who's Working on What
### Mobile Team
**Nikhil Vaish** - 8 tickets
- ✅ Completed (6):
- ENG-1250: PDP variant selector fix
- ENG-1251: Checkout promo code validation
- [... with titles]
- 🔄 In Progress (2):
- ENG-1252: Consult booking date validation
- ENG-1253: OTP page stability fix
**Ashish Sharma** - Inactive (0 tickets moved)
### WebDev Team
**Ansh Jatana** - 5 tickets
- ✅ Completed (5):
- ENG-1260: Header navigation fixes
- [... with titles]
### Backend Team
**Puneet Srivastava** - 7 tickets
- ✅ Completed (4):
- ENG-1234: Redis migration to DB-0
- ENG-1235: Post-order DLQ setup
- ENG-1236: User profile API optimization
- ENG-1237: Inventory sync fix
- 🔄 In Progress (2):
- ENG-1238: Medusa deployment fixes
- ENG-1239: NewRelic integration
- 📝 In Review (1):
- ENG-1240: Redis replication setup
**Sahil Tagra** - 15 tickets
- ✅ Completed (15):
- ENG-1101: Backend staging bug fixes
- ENG-1102: User authentication flow
- [... list all with titles]
**Manav Jaral** - Inactive (0 tickets moved)
---
## Part 2: Cleanup Needed
### Stale (>14 days)
**ENG-1100: Checkout crash on iOS** (32 days)
- Status: In Progress
- Assignee: Nikhil
- Problem: No updates for 32 days
- Fix: Check status, document blocker or reassign
### New Bugs (Need Triage)
**10 PDP bugs** reported by QA (Arti) on Nov 4:
- ENG-1522: Pincode value changes but address doesn't update
- ENG-1523: Pincode change not updating saved address
- ENG-1524: Product quantity not selected on first click
- [... list all with titles]
- Problem: All in Backlog, need prioritization
- Fix: Mobile team review and prioritize
---
## Part 3: Statistics
[Same as before but with context]
---
## Insights
[Same format]
Rules
CRITICAL:
- Always show ticket ID + TITLE: "ENG-1234: Redis migration" not just "ENG-1234"
- Skip AI & Research entirely: They're excluded from all reports
- Exclude QA from subteam groupings: QA members (role="qa", no subteam) test across all Engineering - don't group them under Backend/Mobile/WebDev
- Exclude QA from inactive tracking: QA creates bugs, they don't resolve tickets - not "inactive" if they have no assigned work
- Identify inactive engineers: If someone in a subteam has 0 activity, call it out (but skip QA)
- Executive summary first: TL;DR before diving into details
- DevOps different standards: They operate independently, relax rules
- Longer is better: More context > brevity. List all tickets with full titles
- Ask save location at END: Generate full report first, then ask where to save
- Real data only: No placeholders, no invented stats
- Every concern = action: Don't just identify problems, suggest fixes