---
name: "Last 1:1"
slug: last-1-1
category: Data
description: "Last 1:1 shows the most recent 1:1 date for each direct report or peer, sorted by recency and flagged when someone is overdue. Use it to spot who you have not met with in a few weeks."
github: "https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/last-1on1"
language: JavaScript
stars: 165
forks: 13
install: "npx degit https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/last-1on1 ~/.claude/skills/last-1on1"
installs_to: ~/.claude/skills/last-1on1
source_path: .agents/skills/last-1on1/SKILL.md
collection_size: 24
category_size: 812
collection_url: "https://dirskills.com/collections/benoror/obsidianos_work"
added: 2026-09-08T05:35:04.840Z
last_synced: 2026-09-08T05:35:04.840Z
canonical_url: "https://dirskills.com/skills/last-1-1"
---

# Last 1:1

Last 1:1 shows the most recent 1:1 date for each direct report or peer, sorted by recency and flagged when someone is overdue. Use it to spot who you have not met with in a few weeks.

**Install:**

```bash
npx degit https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/last-1on1 ~/.claude/skills/last-1on1
```

## README

# Last 1:1

## Usage

- `/last-1on1` — Show last 1:1 date per person across all of your 1:1s. Default flag threshold: 2 weeks (anything older highlighted).
- `/last-1on1 <weeks>` — Custom flag threshold (e.g. `/last-1on1 3`).
- `/last-1on1 @Name` — Just for one person.

## Why this skill exists

Direct-report 1:1s and peer syncs are easy to skip when calendars get busy. This skill surfaces the gap — "haven't talked to [[@Alex Kim]] in 3 weeks" — so the next scheduling round prioritizes them.

## Workflow

### Step 1: Pull the source data

Query `obsidian base:query path=Meetings.base view=OneOnOnes format=json`. Returns every meeting under `Meetings/One-on-ones/` and `Meetings/Tech Syncs/` with `file.ctime` and `Participants` columns.

### Step 2: Aggregate by person

For each meeting, extract the participant name(s) from `Participants` (skipping `[[@Me]]` and team links like `[[+Engineering]]`). For each participant, track the most recent `file.ctime`.

Edge case: the file ctime is when the note was *created*, which is usually the day of the meeting — but for older imported notes it may be the import date. If a meeting filename has a `YYYY-MM-DD` suffix, prefer that over file.ctime.

### Step 3: Present sorted table

Sort by `last_date ASC` (oldest first — most overdue at the top):

```
| # | Person | Last 1:1 | Days ago | Status |
|---|--------|----------|----------|--------|
| 1 | [[@Jane Doe]] | 2026-02-05 | 117 | 🔴 overdue |
| 2 | [[@John Smith]] | 2026-04-09 | 54 | 🔴 overdue |
| 3 | [[@Alex Kim]] | 2026-05-06 | 27 | 🟡 due soon |
| 4 | [[@Sam Rivera]] | 2026-05-26 | 7 | ✅ recent |
| 5 | [[@Pat Lee]] | 2026-05-27 | 6 | ✅ recent |
```

- 🔴 overdue: `days_ago > threshold * 2` (default >28 days)
- 🟡 due soon: `threshold < days_ago <= threshold * 2`
- ✅ recent: `days_ago <= threshold`

### Step 4: Offer next action

After the table, suggest:
- "Schedule a 1:1 with the top-3 overdue: [[@Jane Doe]], [[@John Smith]], [[@Alex Kim]]?"
- For each, optionally `/meeting <Name> x Me` to create a stub for the upcoming meeting.

This skill is **read-only** — it doesn't write to the vault.

## Important Notes

- Skip `[[+Engineering]]` and other team links in Participants — those aren't 1:1s, they're group meetings that happen to live in Tech Syncs / One-on-ones (rare but exists).
- Skip people whose `@Name.md` has an `End Date` set (they left the team — no need to schedule a 1:1).
- If a person appears in OneOnOnes but has no `Teams/People/@Name.md` file, surface it as a hint (likely a candidate for `/people-stubs`).
- No commit step — read-only skill.
