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
---
1---2name: 1-1-prep3description: Prepare for a 1:1 meeting with context from person file, meeting history, and shared projects4---5
6# 1:1 Prep
7
8Generate a briefing for an upcoming 1:1 meeting with cross-file context synthesis.
9
10## Arguments
11
12- Person name: The person you're meeting with (e.g., "jane", "alex")
13- No argument: Check calendar for next 1:1 and prep for that
14
15## Steps
16
171. **Identify the person:**
18 - If name provided, search `people/*.md` for match
19 - If no argument, check calendar for next meeting with a single external attendee
20 - Read the person file for context
21
222. **Pull person context:**
23 - Role, team, reporting chain
24 - Working style notes (if captured)
25 - Last interaction date
26 - Any notes from previous 1:1s
27
283. **Semantic search for person context (qmd):**
29 - Use `qmd_deep_search` MCP tool: query "discussions with [name] about projects decisions feedback", limit 10
30 - This finds notes mentioning the person even without explicit links
31 - Look for implicit mentions, topics discussed, decisions made together
32
334. **Check recent Slack context:**
34 - Read person file for `slack:` handle in frontmatter
35 - If handle exists, use `mcp__playground-slack-mcp__get_messages` with action: `search`
36 - Query: `from:@[slack-handle]` or `to:@[slack-handle]` (last 14 days)
37 - Extract: Recent DM topics, @mentions involving them, threads you both participated in
38 - Skip gracefully if Slack MCP unavailable or no handle
39
405. **Find meeting history:**
41 - Glob `*/*/meeting-*-[name].md` for past meetings
42 - Read last 3-5 meetings with this person
43 - Extract: key topics, decisions made, action items (completed and open)
44
456. **Check shared projects:**
46 - Read frontmatter of project files
47 - Find projects where person is listed as contributor/lead
48 - Note project status and any blockers
49
507. **Check for open items:**
51 - Grep for person's name in recent weekly reports
52 - Find any `- [ ]` items assigned to them or waiting on them
53 - Note items from previous meetings marked incomplete
54
558. **Check calendar context:**
56 - Use `mcp__gworkspace-mcp__calendar_events` to find the upcoming meeting
57 - Note time, duration, any agenda in description
58
599. **Generate prep briefing:**
60 - Output structured prep doc
61 - Do not write to file (this is a read-only briefing)
62
63## qmd Tools
64
65Use these MCP tools for semantic search (preferred over Bash):
66
67- **`qmd_deep_search`**: query "conversations with [name]", limit 10 (hybrid: best quality)
68- **`qmd_deep_search`**: query "[name] feedback decisions reviews", limit 5
69- **`qmd_search`**: query "[name]", limit 10 (fast keyword search for exact mentions)
70
71Bash fallback (if MCP unavailable):
72```bash
73source ~/.zshrc && qmd query "conversations with [name]" -n 10 --md
74source ~/.zshrc && qmd search "[name]" -n 10 --md
75```
76
77## Output Format
78
79```markdown
80## 1:1 Prep: [Name]
81
82**Meeting:** [Day, Date] at [Time] ([duration])
83**Role:** [Title] on [Team]
84**Last 1:1:** [Date] ([X days/weeks ago])
85
86### About [Name]
87
88[2-3 sentences from person file: role context, working style, current focus]
89
90### Recent Slack
91
92**Last message:** [Date] - [Topic/context]
93**Notable threads:**
94- #[channel]: [Topic] ([date])
95- DM: [Topic] ([date])
96
97_Skip this section if no Slack handle or MCP unavailable._
98
99### Previous Meeting Recap
100
101**[Date]**: [Topic summary]
102- Decision: [key decision]
103- Action: [action item status]
104
105**[Date]**: [Topic summary]
106- ...
107
108### Open Items
109
110Items waiting on [Name]:
111- [ ] [Item] (from [date/source])
112
113Items you owe [Name]:
114- [ ] [Item] (from [date/source])
115
116### Shared Projects
117
118| Project | Status | [Name]'s Role | Notes |
119|---------|--------|---------------|-------|
120| [[project]] | active | contributor | [brief note] |
121
122### Suggested Topics
123
124Based on history and open items:
1251. Follow up on [open item from last meeting]
1262. [Project] status check
1273. [Any blocked item involving them]
128```
129
130## Notes
131
132- Focus on actionable context, not exhaustive history
133- Highlight anything overdue or potentially awkward
134- If person file is sparse, note that as "Consider updating [[person-name]] after this meeting"
135- Keep output scannable: this is pre-meeting prep, not a research paper
136- If no meeting history exists, note this is a first/early 1:1
137
138## Person File Schema
139
140<!-- TODO: customize - Adjust frontmatter fields to match your person files -->
141
142Person files live in `people/` with this frontmatter:
143
144```yaml
145---
146type: person
147name: First Last
148role: Job Title
149team: Team Name
150slack: slack-handle
151last_updated: YYYY-MM-DD
152---
153```