Daily and weekly briefings with calendar, tasks, and people context. Handles "Daily briefing", "What's my day look like?", "Weekly planning", "Plan my week". Morning and weekly planning workflows.
Generates personalized daily and weekly briefings by parallel-fetching calendar, tasks, and memory context.
npx claudepluginhub ajayjohn/tars-work-assistantThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Unified protocol for daily and weekly briefings. Mode is determined by the request signal.
Parallelization: Data gathering (calendar, tasks, memory) runs as three parallel sub-agents using the Task tool. This reduces wall-clock time for briefing generation, since calendar queries, task queries, and memory lookups are independent operations.
Generate a focused morning briefing for clarity and prioritization.
journal/YYYY-MM/reference/integrations.md to determine available integrations and their status2-4. Parallel data gathering (sub-agents)
Spawn three parallel sub-agents using the Task tool. Launch all three in a single message using multiple Task tool calls.
Read reference/integrations.md Calendar section for provider details.
Check calendar integration status; if not configured, return {"status": "not_configured"}.
Resolve {target_date} to YYYY-MM-DD format.
Execute the list_events operation with {target_date} and offset=1.
For each event extract: time, title, attendee names.
Return JSON:
{
"status": "ok" | "not_configured" | "error",
"events": [{"time": "...", "title": "...", "attendees": ["..."]}],
"error": null | "description"
}
Read reference/integrations.md Tasks section for provider details.
Execute the list operation for the primary task list (default: Active).
Identify tasks due {target_date} or highest priority.
Execute the overdue operation to check for overdue tasks.
Return JSON:
{
"status": "ok" | "not_configured" | "error",
"tasks_due_today": [{"title": "...", "due": "...", "list": "..."}],
"overdue": [{"title": "...", "due": "...", "list": "..."}],
"top_priority": [{"title": "...", "due": "...", "list": "..."}],
"error": null | "description"
}
Read memory/people/_index.md.
Look up profiles for these meeting attendees: {attendee_names_if_known}
Read memory/initiatives/_index.md and find relevant initiative context.
Read reference/schedule.md if it exists; identify [RECURRING] and [ONCE] items due {target_date}.
Read inbox/pending/ and count pending items.
Read reference/.housekeeping-state.yaml for last housekeeping run.
Read reference/maturity.yaml for maturity level.
Return JSON:
{
"people_context": [{"name": "...", "summary": "...", "open_items": ["..."]}],
"initiative_context": [{"name": "...", "status": "..."}],
"scheduled_items": [{"type": "recurring|once", "description": "..."}],
"inbox_count": 0,
"housekeeping_last_run": "YYYY-MM-DD",
"maturity": {"level": 1, "people": 0, "meetings_processed": 0}
}
Note on attendee names: If calendar data is not yet available when spawning sub-agents (common case), spawn the memory sub-agent without attendee names. After the calendar sub-agent returns, do a quick targeted lookup for any attendees not covered. Alternatively, the memory sub-agent can load the full people index for cross-referencing after calendar results arrive.
| Sub-agent | Input | Output | Failure mode |
|---|---|---|---|
| Calendar | integrations.md, target date | JSON: events list with times, titles, attendees | Return status: error, briefing proceeds without calendar data |
| Tasks | integrations.md, target date | JSON: due today, overdue, top priority tasks | Return status: error, briefing proceeds without task data |
| Memory | people index, initiatives index, schedule.md, inbox/, maturity.yaml | JSON: people context, initiative context, scheduled items, system status | Return partial data, briefing uses what is available |
After all three sub-agents complete, collect their JSON results and proceed to synthesis.
Cross-reference and enrich
Check inbox
Generate briefing
### Today's schedule
- Chronological list with time, title, prep needed
### Scheduled items due today
- Recurring and one-time items from reference/schedule.md
### Priority tasks
- Top 3-5 tasks for today
- Flag tasks that should be done before specific meetings
### People I'm meeting
- Brief context for each person
- Open items or follow-ups with them
- Questions to ask or responses owed
### Focus opportunities
- Open time slots for deep work
- Suggested task for each slot
### System status
- TARS maturity: Level [N] ([X] people, [Y] meetings). Next: [milestone]
- Inbox: [N] items pending
- Last housekeeping: [date]
journal/YYYY-MM/YYYY-MM-DD-daily-briefing.mdGenerate a comprehensive weekly briefing for strategic planning.
journal/YYYY-MM/reference/integrations.md to determine available integrations and their status2-4. Parallel data gathering (sub-agents)
Spawn three parallel sub-agents using the Task tool. Launch all three in a single message.
Read reference/integrations.md Calendar section for provider details.
Check calendar integration status; if not configured, return {"status": "not_configured"}.
Resolve {monday_date} to YYYY-MM-DD format.
Execute the list_events operation with {monday_date} and offset=7.
Identify high-priority meetings (executives, leadership, key stakeholders).
Identify open time slots.
Return JSON:
{
"status": "ok" | "not_configured" | "error",
"events": [{"date": "...", "time": "...", "title": "...", "attendees": ["..."], "priority": "high|normal"}],
"open_slots": [{"date": "...", "start": "...", "end": "...", "duration_minutes": 0}],
"error": null | "description"
}
Read reference/integrations.md Tasks section for provider details.
Execute the list operation for all configured lists (default: Active, Delegated, Backlog).
Execute the overdue operation.
Identify tasks due this week ({monday_date} through {sunday_date}).
Identify tasks related to meeting topics if known.
Return JSON:
{
"status": "ok" | "not_configured" | "error",
"tasks_due_this_week": [{"title": "...", "due": "...", "list": "...", "owner": "..."}],
"overdue": [{"title": "...", "due": "...", "list": "..."}],
"backlog_stale": [{"title": "...", "created": "...", "days_old": 0}],
"completed_last_week": [{"title": "...", "completed": "..."}],
"error": null | "description"
}
Read memory/people/_index.md + profiles of frequent meeting attendees.
Read memory/initiatives/_index.md + active initiative details.
Identify responses owed and follow-ups needed.
Read journal/{last_week_month}/_index.md for last week entries.
Read reference/schedule.md if it exists; identify items due this week.
Read inbox/pending/ and count pending items.
Read reference/.housekeeping-state.yaml for last housekeeping and index rebuild dates.
Read reference/maturity.yaml for maturity level.
Return JSON:
{
"people_context": [{"name": "...", "summary": "...", "responses_owed": ["..."], "follow_ups": ["..."]}],
"initiatives": [{"name": "...", "status": "...", "milestones_this_week": ["..."]}],
"last_week_entries": [{"date": "...", "type": "...", "title": "..."}],
"scheduled_items": [{"type": "recurring|once", "description": "...", "due": "..."}],
"inbox_count": 0,
"housekeeping_last_run": "YYYY-MM-DD",
"last_index_rebuild": "YYYY-MM-DD",
"maturity": {"level": 1, "people": 0, "meetings_processed": 0}
}
| Sub-agent | Input | Output | Failure mode |
|---|---|---|---|
| Calendar | integrations.md, monday date, offset=7 | JSON: events, open slots, priority flags | Return status: error, briefing proceeds without calendar |
| Tasks | integrations.md, date range | JSON: due this week, overdue, stale backlog, completed last week | Return status: error, briefing proceeds without tasks |
| Memory/Context | people index, initiatives index, journal index, schedule, inbox, system state | JSON: people context, initiatives, last week summary, system status | Return partial data, briefing uses what is available |
After all three sub-agents complete, collect their JSON results and proceed to synthesis.
Cross-reference and enrich
Generate briefing
### Last week summary
- Achievements (completed tasks, delivered items)
- Planned but incomplete (with reasons if known)
### This week's meetings
- **High-priority**: Leadership, clients, board meetings (flag)
- **All meetings**: Chronological with date/time, title, purpose
### Open tasks
- **Due this week**: Tasks with explicit due dates
- **Meeting-related**: Tasks connected to meeting topics
- **Preparation needed**: Items requiring work before meetings
### Milestones and initiatives
- Current week milestones
- Upcoming milestones needing advance preparation
- Initiative status updates
### People context
- **Responses owed**: Promises or follow-ups to people I'm meeting
- **Questions to ask**: Follow-up items or open threads
### Recommended focus time
- Open slots matched with highest priority tasks
- Specific time blocks with suggested assignments
### Backlog review
- Backlog items older than 90 days (flag as stale)
- Suggest: keep, reprioritize, or remove
### System status
- TARS maturity: Level [N] ([X] people, [Y] meetings). Next: [milestone]
- Inbox: [N] items pending
- Last housekeeping: [date]
- Last index rebuild: [date]
journal/YYYY-MM/YYYY-MM-DD-weekly-briefing.mdUse the TodoWrite tool to give the user real-time visibility into briefing generation. Create the todo list at the start and update as steps complete:
Daily mode:
1. Determine date and read integrations [in_progress → completed]
2. Fetch calendar data (parallel sub-agent) [pending → completed]
3. Fetch task data (parallel sub-agent) [pending → completed]
4. Query memory and context (parallel sub-agent) [pending → completed]
5. Cross-reference and enrich data [pending → completed]
6. Generate and save briefing [pending → completed]
Weekly mode:
1. Determine date range and read integrations [in_progress → completed]
2. Fetch calendar data (parallel sub-agent) [pending → completed]
3. Fetch task data (parallel sub-agent) [pending → completed]
4. Query memory and context (parallel sub-agent) [pending → completed]
5. Cross-reference and enrich data [pending → completed]
6. Generate and save briefing [pending → completed]
Parallelization note: Steps 2, 3, and 4 run concurrently as sub-agents. Mark ALL THREE as in_progress when spawning them. Mark each completed as its sub-agent returns. Do not wait for all three before updating individual statuses.
---
date: YYYY-MM-DD
title: Daily Briefing | Weekly Briefing
type: briefing-daily | briefing-weekly
---
_index.md for people and initiatives + up to 5 targeted fileslist operation for Active (+ all lists for weekly mode)list_events operation for today (daily) or full week (weekly)_index.md for last week summary (weekly only)inbox/pending/ file listreference/.housekeeping-state.yaml and reference/maturity.yamlYYYY-MM-DD format before any calendar queryoverdue operation)Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.