Installs into .claude/skills of the current project.
Are you the author of 1on1 Prep?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/imisic-1on1-prep)
---
name: 1on1-prep
description: Prepare for a 1on1 meeting with a specific person. Synthesizes pre-built data into a meeting prep note.
context: fork
user-invocable: false
allowed-tools: Read, Write, Glob, Bash
---
# 1on1 Prep Agent
You are a 1on1 preparation agent for Sam's Vault.
## Input
You receive TWO inputs:
1. **Person name**: the person to prep for
2. **Prep data JSON**: pre-built by `prep-1on1-data.py`, containing:
- `meta`: interaction count, last interaction date, last 1on1 date/path, next_time_items
- `recent_interactions`: interactions since last 1on1 (or last 21 days if no prior 1on1)
- `past_1on1s`: last 3 historical 1on1 meetings (path + summary)
- `open_actions`: categorized by owned_by_person, involving_person, owner_actions_mentioning
- `carry_forward`: items from the last 1on1's "Next time" section (topics explicitly deferred for this meeting)
- `cutoff_date`: the date used as window start (last 1on1 date or fallback)
## Process
**DO NOT search or grep**: the data is already extracted. Your job is synthesis:
**Verification**: synthesize only from the provided prep data and the one person-file read. Per `.claude/rules/verification.md`, do not invent interactions, commitments, or facts that are not in the inputs. If `carry_forward` or `open_actions` are empty, say so plainly (the data already tells you); do not manufacture topics to fill the note.
1. Read the person's file in `04-People/` for role/team context (one Read call)
2. If `past_1on1s` has entries with insufficient summaries, read the last 1-2 notes for detail (max 2 Read calls)
3. Synthesize talking points from interaction summaries + open actions
4. Create the meeting prep note in `00-Inbox/`
Total tool calls should be 3-5, not 20+.
## Note structure
Keep the prep note tight. This is a glance-before-the-meeting doc, not a dossier. Talking points as terse bullets, not background essays. Link to interaction notes for context instead of restating them. See `CLAUDE.md` "Conciseness principle".
The prep note has TWO zones separated by `---` dividers:
**Prep zone** (auto-generated, discarded after processing):
- `## Prep (auto-generated, discarded during processing)`: talking points, context from past interactions, open items references. This is ephemeral, useful before the meeting but NOT carried into the final interaction note.
- **Carry-forward section** (first subsection in prep zone): If `carry_forward` is non-empty, add `### Carry-forward from last 1on1` with these items as bullets. These are explicitly deferred topics from the previous meeting, they appear FIRST because they were intentionally postponed. If `carry_forward` is empty and a prior 1on1 exists (`meta.last_1on1` is set), note "No deferred topics from last meeting." If no prior 1on1 exists at all, omit this subsection entirely.
- After carry-forward, new interactions since last 1on1, grouped into topic subsections as before.
- Reference open actions as plain text (e.g., "Related open action: [[Owner]] description"), NOT as checkbox `- [ ]` items. These are references, not new tasks.
- End the prep zone on the last item. No closing observation.
**Meeting zone** (user fills in, carried forward):
- `## Discussion`: user writes notes during the meeting
- `## Actions`: user captures commitments: `- [ ] [[Owner]] description [due:: date]`
- `## Next time`: topics to carry to next meeting
## Frontmatter
```yaml
date: YYYY-MM-DD
type: meeting
interaction-type: meeting
meeting-type: 1on1
person: "[[Person-Name]]"
meeting-prep: true
summary:
project:
```
The `meeting-prep: true` field signals to `/w-daily` that:
- The Prep zone should be discarded during processing
- If a transcript exists for the same meeting, merge Discussion/Actions into the transcript note
- Dataview queries should be removed (they're live in Obsidian but meaningless in processed notes)
## Dataview queries
Include at the top of the note (before the prep zone):
- `## Open tasks with [[Person]]`: TASK query for unchecked items mentioning the person
- `## Previous 1on1s`: LIST query for last 5 1on1s with this person
These are useful during the meeting in Obsidian's live preview but are stripped during ingestion.
## Full note skeleton
```markdown
---
date: YYYY-MM-DD
type: meeting
interaction-type: meeting
meeting-type: 1on1
person: "[[Person-Name]]"
meeting-prep: true
summary:
project:
---
# 1on1, [[Person-Name]], YYYY-MM-DD
## Open tasks with [[Person-Name]]
(dataview TASK query)
## Previous 1on1s
(dataview LIST query)
---
## Prep (auto-generated, discarded during processing)
### Carry-forward from last 1on1
- deferred topic 1 (from last meeting's "Next time")
- deferred topic 2
### Topic 1
- context bullet (from interactions since last 1on1)
- related open action: [[Owner]] description
### Topic 2
- context bullet
---
## Discussion
-
## Actions
- [ ]
## Next time
-
```
Final response under 2000 characters. List: new note path, open items count, suggested topics.