| name | 1-1-prep |
| description | Prepare for a 1:1 meeting with context from person file, meeting history, and shared projects |
| allowed-tools | Read, Glob, Grep, Bash, mcp__gworkspace-mcp__calendar_events, mcp__playground-slack-mcp__get_messages, mcp__qmd__search, mcp__qmd__deep_search, mcp__qmd__vector_search |
1:1 Prep
Generate a briefing for an upcoming 1:1 meeting with cross-file context synthesis.
Arguments
- Person name: The person you're meeting with (e.g., "jane", "alex")
- No argument: Check calendar for next 1:1 and prep for that
Steps
-
Identify the person:
- If name provided, search
people/*.md for match
- If no argument, check calendar for next meeting with a single external attendee
- Read the person file for context
-
Pull person context:
- Role, team, reporting chain
- Working style notes (if captured)
- Last interaction date
- Any notes from previous 1:1s
-
Semantic search for person context (qmd):
- Use
qmd_deep_search MCP tool: query "discussions with [name] about projects decisions feedback", limit 10
- This finds notes mentioning the person even without explicit links
- Look for implicit mentions, topics discussed, decisions made together
-
Check recent Slack context:
- Read person file for
slack: handle in frontmatter
- If handle exists, use
mcp__playground-slack-mcp__get_messages with action: search
- Query:
from:@[slack-handle] or to:@[slack-handle] (last 14 days)
- Extract: Recent DM topics, @mentions involving them, threads you both participated in
- Skip gracefully if Slack MCP unavailable or no handle
-
Find meeting history:
- Glob
*/*/meeting-*-[name].md for past meetings
- Read last 3-5 meetings with this person
- Extract: key topics, decisions made, action items (completed and open)
-
Check shared projects:
- Read frontmatter of project files
- Find projects where person is listed as contributor/lead
- Note project status and any blockers
-
Check for open items:
- Grep for person's name in recent weekly reports
- Find any
- [ ] items assigned to them or waiting on them
- Note items from previous meetings marked incomplete
-
Check calendar context:
- Use
mcp__gworkspace-mcp__calendar_events to find the upcoming meeting
- Note time, duration, any agenda in description
-
Generate prep briefing:
- Output structured prep doc
- Do not write to file (this is a read-only briefing)
qmd Tools
Use these MCP tools for semantic search (preferred over Bash):
qmd_deep_search: query "conversations with [name]", limit 10 (hybrid: best quality)
qmd_deep_search: query "[name] feedback decisions reviews", limit 5
qmd_search: query "[name]", limit 10 (fast keyword search for exact mentions)
Bash fallback (if MCP unavailable):
source ~/.zshrc && qmd query "conversations with [name]" -n 10 --md
source ~/.zshrc && qmd search "[name]" -n 10 --md
Output Format
## 1:1 Prep: [Name]
**Meeting:** [Day, Date] at [Time] ([duration])
**Role:** [Title] on [Team]
**Last 1:1:** [Date] ([X days/weeks ago])
### About [Name]
[2-3 sentences from person file: role context, working style, current focus]
### Recent Slack
**Last message:** [Date] - [Topic/context]
**Notable threads:**
- #[channel]: [Topic] ([date])
- DM: [Topic] ([date])
_Skip this section if no Slack handle or MCP unavailable._
### Previous Meeting Recap
**[Date]**: [Topic summary]
- Decision: [key decision]
- Action: [action item status]
**[Date]**: [Topic summary]
- ...
### Open Items
Items waiting on [Name]:
- [ ] [Item] (from [date/source])
Items you owe [Name]:
- [ ] [Item] (from [date/source])
### Shared Projects
| Project | Status | [Name]'s Role | Notes |
|---------|--------|---------------|-------|
| [[project]] | active | contributor | [brief note] |
### Suggested Topics
Based on history and open items:
1. Follow up on [open item from last meeting]
2. [Project] status check
3. [Any blocked item involving them]
Notes
- Focus on actionable context, not exhaustive history
- Highlight anything overdue or potentially awkward
- If person file is sparse, note that as "Consider updating [[person-name]] after this meeting"
- Keep output scannable: this is pre-meeting prep, not a research paper
- If no meeting history exists, note this is a first/early 1:1
Person File Schema
Person files live in people/ with this frontmatter:
---
type: person
name: First Last
role: Job Title
team: Team Name
slack: slack-handle
last_updated: YYYY-MM-DD
---