Agent skill

Organize Meetings

by benoror in benoror/obsidianos_work

Triage Meetings/inbox/ — move each file to the correct subfolder by finding adjacent/similar notes via qmd, applying learned routing conventions from memory, and confirming with the user.

MITAuto-check passedProductivity & Automation

Install Organize Meetings

skills CLI
$ npx skills add benoror/obsidianos_work --skill organize-meetings -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install benoror/obsidianos_work organize-meetings --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/benoror/obsidianos_work.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/organize-meetings .claude/skills/organize-meetings && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
organize-meetings
GitHub stars
165
Token cost
~1.8k tokens
SKILL.md length
759 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
MIT

At a glance

Triage Meetings/inbox/ — move each file to the correct subfolder by finding adjacent/similar notes via qmd, applying learned routing conventions from memory, and confirming with the user.

  • Works in 7 steps: Discover candidates → Read memory for learned conventions → For each candidate, propose a destination → …
  • Tasks that involve Email management
  • SKILL.md covers Usage, Why this skill exists, Frontmatter Conventions and Workflow, plus 2 more sections
  • Calls git

What it does

Organize Meetings is an agent skill from benoror/obsidianos_work. Triage Meetings/inbox/ — move each file to the correct subfolder by finding adjacent/similar notes via qmd, applying learned routing conventions from memory, and confirming with the user.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires Obsidian CLI (base:query) with Obsidian running, Meetings.base (Inbox view), and qmd (CLI or MCP) for similarity search. Optional integration with…

It sits in Productivity & Automation, covering Email management. The repository describes itself as: ObsidianOS - Work Vault. The licence is MIT.

When your agent uses it

  • Tasks that involve Email management

Example prompts

  • “/organize-meetings”

Requirements

  • Compatibility (from SKILL.md): Requires Obsidian CLI (base:query) with Obsidian running, Meetings.base (Inbox view), and qmd (CLI or MCP) for similarity search. Optional integration with `.scripts/gmail_ai_transcripts_to_meetings.py`.

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Discover candidates
  2. Read memory for learned conventions
  3. For each candidate, propose a destination
  4. Present proposals to the user — MANDATORY CONFIRMATION
  5. Apply moves
  6. Capture corrections to memory
  7. Commit

What it can do on your machine

Read from SKILL.md and the folder at commit 3c7923e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Obsidian CLI (base:query) with Obsidian running, Meetings.base (Inbox view), and qmd (CLI or MCP) for similarity search. Optional integration with `.scripts/gmail_ai_transcripts_to_meetings.py`.

    From compatibility in the SKILL.md frontmatter.

Context cost

Organize Meetings loads about 1.8k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 759 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from benoror/obsidianos_work at commit 3c7923e, republished under its MIT licence (© benoror). 759 words, ~1,828 tokens.

Download SKILL.mdSave it as .claude/skills/organize-meetings/SKILL.md (or your agent's skills folder).
name
organize-meetings
description
Triage Meetings/_inbox/ — move each file to the correct subfolder by finding adjacent/similar notes via qmd, applying learned routing conventions from memory, and confirming with the user.
compatibility
Requires Obsidian CLI (base:query) with Obsidian running, Meetings.base (Inbox view), and qmd (CLI or MCP) for similarity search. Optional integration with `.scripts/gmail_ai_transcripts_to_meetings.py`.
license
MIT

Organize Meetings

Usage

  • /organize-meetings — Sweep Meetings/_inbox/ and propose destinations for every file.
  • /organize-meetings <path> — Categorize a single file (in or out of _inbox/).
  • /organize-meetings --auto — Apply only high-confidence proposals (≥ 4/5 majority); leave the rest in _inbox/ for next sweep.
When to run
CallerWhen
StandaloneWhenever you want to drain Meetings/_inbox/ (e.g. after /mail-transcripts created some stubs).
/meeting wrap pendingStep 1.5 — between /mail-transcripts and pending discovery, so triaged files are included in the pending scan.

Why this skill exists

The Gemini-emailed archiver (.scripts/gmail_ai_transcripts_to_meetings.py) only knows deterministic patterns: daily standups, sprint ceremonies, recurring team meetings, etc. Everything name-dependent — 1:1s with anyone, cross-team syncs, novel meeting titles — lands in Meetings/_inbox/ and waits here for triage.

Routing is agent-driven, not script-driven: similarity (via qmd-vector_search) finds where the new note's siblings live; memory (feedback_meeting-routing.md) captures learned exceptions so future runs apply them automatically.

Frontmatter Conventions

Files in _inbox/ are normal meeting notes with Notes: and created: frontmatter. The skill does not modify frontmatter — it only moves files (git mv) and updates the H1 inside when renaming.

Workflow

Step 1: Discover candidates

See vault-context for vault discovery conventions.

  • No args: query the live Base view — obsidian base:query path=Meetings.base view=Inbox format=paths. Returns every file under Meetings/_inbox/ (the .gitkeep is excluded automatically since it's not a .md).
  • <path> arg: single-file mode — operate on that path.
  • If the candidate list is empty, print Nothing to organize. and exit.
Step 2: Read memory for learned conventions

Check memory/feedback_meeting-routing.md (if present). It contains routing hints the user has confirmed over time, e.g.:

Titles with both "<name-a>" and "<name-b>" → Meetings/Tech Syncs/ (not One-on-ones/), filename <Name A> x <Name B> Sync - YYYY-MM-DD.md.

Apply these before qmd similarity so they always win.

Step 3: For each candidate, propose a destination

For each candidate file:

  1. Extract the title: filename minus the trailing - YYYY-MM-DD.md (or use the H1 inside the body if cleaner).
  2. Apply memory overrides (Step 2). If a memory rule matches confidently, skip to Step 4 with confidence = high (memory).
  3. Otherwise, run qmd-vector_search on the title — return top 5 most similar meeting paths.
  4. Aggregate:
    • Count how many of the 5 matches live in each folder. Pick the mode.
    • Inspect filenames in that folder to infer naming pattern:
      • All siblings end in - YYYY-MM-DD.md → keep date suffix.
      • All siblings use YYYY-MM-DD.md only (e.g. Engineering/Scrum/) → use date-only.
      • Siblings share a prefix (e.g. Tech Leads Weekly - ) → consider renaming to match.
  5. Score confidence:
    Match countConfidence
    5/5 or 4/5 same folderhigh
    3/5 same foldermedium
    < 3/5 or no matcheslow
Step 4: Present proposals to the user — MANDATORY CONFIRMATION

⚠️ Never move files without confirmation, except in --auto mode (where only high-confidence proposals run, low/medium skip).

Display a numbered table:

| # | File | → Folder | New filename | Confidence | Reasoning |
|---|------|----------|--------------|------------|-----------|
| 1 | _inbox/Jane x Me - 2026-06-02.md | One-on-ones/ | Jane x Me - 2026-06-02.md | high (5/5 qmd) | siblings: John x Me, Alex x Me, Sam x Me |
| 2 | _inbox/PatMe Sync - 2026-06-02.md | Tech Syncs/  | PatMe Sync - 2026-06-02.md | high (memory)  | memory: Pat/Me → Tech Syncs |
| 3 | _inbox/Foo Bar - 2026-06-01.md    | ?            | ?                          | low (1/5 qmd)  | no clear majority — needs user |

Ask the user: "all", "high-confidence only", "1,3", "none", or per-file corrections (e.g. "2 → Engineering/").

Show full SKILL.md (297 more words)Show less
Step 5: Apply moves

For each approved proposal:

  1. git mv "<old path>" "<new path>" — preserves history.
  2. If the new filename differs from the old, update the H1 inside the file. Skip if H1 already matches the new filename.
Step 6: Capture corrections to memory

When the user overrides a proposal ("don't put Pat/Me in One-on-ones, it goes to Tech Syncs"), this is feedback worth saving. Write or update memory/feedback_meeting-routing.md:

yaml
---
name: meeting-routing-conventions
description: Learned routing rules for /organize-meetings — overrides qmd similarity
metadata:
  type: feedback
---

When triaging Meetings/_inbox/ via /organize-meetings:

- Titles containing both "<name-a>" and "<name-b>" → `Meetings/Tech Syncs/`.
  **Why:** It's a recurring manager sync, not a standard 1:1.
  **How to apply:** Apply before qmd similarity. Filename pattern: `<original> - YYYY-MM-DD.md`.

- (more learned rules append here over time)

Always include a Why: (the user's reasoning, if given) and How to apply: (the precondition + filename pattern). Capture one rule per bullet so future updates are atomic.

Step 7: Commit

See /commit. Skip when called as part of /meeting wrap pending — the parent sequence commits at the end.

When called standalone: commit with update: /organize-meetings — N files moved (or similar). Skip if nothing was moved.

Edge Cases

  • No qmd matches at all (e.g. truly novel meeting type): low confidence. Ask the user; do NOT default to a folder.
  • Multiple folders tied: low confidence. Ask the user.
  • File already wrapped (NotesCached, Participants, TodosExtracted already set in frontmatter): still route it — wrapping doesn't lock the file location. Frontmatter survives the move.
  • H1 inside the file is generic (e.g. just # Meeting): leave it alone; don't fabricate a new H1.
  • Filename collision at destination: append .dup-N or ask the user.

Important Notes

  • Always use git mv, never mv — history matters.
  • Never auto-move low confidence proposals, even in --auto mode.
  • Memory entries are cumulative: append, don't overwrite. Each entry is a separate rule.
  • If qmd's index is stale (a recent batch of renames hasn't been reindexed), low-confidence proposals may be common — note this in the proposal reasoning and suggest the user reindex.
  • This skill does NOT modify the Notes:, Participants:, NotesCached:, or TodosExtracted: frontmatter. Those belong to /cache-notes, /fill-participants, and /followup-todos.

© benoror, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/organize-meetings of benoror/obsidianos_work.

Open the folder on GitHubat commit 3c7923e

Compare with similar skills

Organize Meetings next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Organize Meetings compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Organize Meetings this skillbenoror/obsidianos_work165—~1.8kAutomated safety check: PassMIT
Garden Inboxpaperclipai/paperclip100k—~1.1kAutomated safety check: PassMIT
Continuetelegramdesktop/tdesktop33k2 repos~9.4kAutomated safety check: PassGPL-3.0
Process Inboxtelegramdesktop/tdesktop33k1 repos~5.4kAutomated safety check: PassGPL-3.0
Process InboxTDesktop-x64/tdesktop3k—~4.3kAutomated safety check: PassGPL-3.0
Career-Ops Gmail Lead Plugincareer-ops-hq/career-ops74k—~233Automated safety check: NotesMIT

Similar skills

  • Garden Inbox

    paperclipai/paperclip

    Scan a Paperclip user's Mine inbox, classify reversible archive candidates, request checkbox confirmation, and archive only accepted selections.

    100k GitHub stars~1.1k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Continue

    telegramdesktop/tdesktop

    Continue autonomous Telegram Desktop development from the shared ai-tdesktop repository.

    33k GitHub starsUsed in 2 repos~9.4k tokens
    Productivity & AutomationAuto-check passed
  • Process Inbox

    telegramdesktop/tdesktop

    Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.

    33k GitHub starsUsed in 1 repo~5.4k tokens
    Productivity & AutomationAuto-check passed
  • Process Inbox

    TDesktop-x64/tdesktop

    Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.

    3k GitHub stars~4.3k tokensUpdated 19 days ago
    Productivity & AutomationAuto-check passed
  • Career-Ops Gmail Lead Plugin

    career-ops-hq/career-ops

    Pulls job leads from a Gmail label into the career-ops pipeline, extracting job URLs from DMARC-passing emails and de-duplicating against existing leads.

    74k GitHub stars~233 tokensUpdated today
    Productivity & AutomationAuto-check: notes
  • Atomicmail

    Atomic-Mail/atomic-mail-agentic

    Read and write email through the Atomic Mail from an AI agent.

    266 GitHub starsUsed in 1 repo~2k tokens
    Productivity & AutomationAuto-check passed

More from benoror/obsidianos_work

All 18 skills in this repo
  • Qmd

    benoror/obsidianos_work

    Search vault notes by keyword or meaning. An agent skill from benoror/obsidianos_work.

    165 GitHub stars~858 tokensUpdated 4 mo ago
    Auto-check passed
  • Cache Notes

    benoror/obsidianos_work

    Fetch & embed AI transcripts as Obsidian callouts. An agent skill from benoror/obsidianos_work.

    165 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • Fill Participants

    benoror/obsidianos_work

    Resolve and fill Participants frontmatter + link unlinked names in body.

    165 GitHub stars~1.6k tokensUpdated 4 mo ago
    Auto-check passed
  • Followup Todos

    benoror/obsidianos_work

    Extract action items as plain markdown bullets (with confirmation).

    165 GitHub stars~1.8k tokensUpdated 4 mo ago
    Auto-check passed
  • Last 1on1

    benoror/obsidianos_work

    Show when you last had a 1:1 with each direct report / peer, sorted by recency.

    165 GitHub stars~732 tokensUpdated 4 mo ago
    Auto-check passed
  • Mail Transcripts

    benoror/obsidianos_work

    Gmail AI transcript notifications → meeting Notes: URLs + mark read.

    165 GitHub stars~1k tokensUpdated 4 mo ago
    Auto-check passed

Questions about Organize Meetings

What does Organize Meetings do?

Triage Meetings/inbox/ — move each file to the correct subfolder by finding adjacent/similar notes via qmd, applying learned routing conventions from memory, and confirming with the user. Organize Meetings is an agent skill from benoror/obsidianos_work. Triage Meetings/inbox/ — move each file to the correct subfolder by finding adjacent/similar notes via qmd, applying learned routing conventions from memory, and confirming with the user.

When should I use Organize Meetings?

Organize Meetings fits situations like: tasks that involve Email management.

How do I install Organize Meetings in Claude Code?

Run `npx skills add benoror/obsidianos_work --skill organize-meetings -a claude-code`. Or copy the skill folder (.agents/skills/organize-meetings in benoror/obsidianos_work) into .claude/skills/organize-meetings in your project. Claude Code loads it when a task matches its description.

How do I install Organize Meetings in Codex?

Run `npx skills add benoror/obsidianos_work --skill organize-meetings -a codex`. Or copy the skill folder (.agents/skills/organize-meetings in benoror/obsidianos_work) into .agents/skills/organize-meetings in your project. Codex loads it when a task matches its description.

Can I use Organize Meetings in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add benoror/obsidianos_work --skill organize-meetings -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/organize-meetings, .gemini/skills/organize-meetings, .github/skills/organize-meetings and .opencode/skills/organize-meetings in your project.

What does Organize Meetings need to run?

Going by SKILL.md and its folder, Organize Meetings needs the command-line tools its instructions call (git). Compatibility (from SKILL.md): Requires Obsidian CLI (base:query) with Obsidian running, Meetings.base (Inbox view), and qmd (CLI or MCP) for similarity search. Optional integration with `.scripts/gmail_ai_transcripts_to_meetings.py`..

Does Organize Meetings access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Organize Meetings safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Organize Meetings use?

Organize Meetings is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Organize Meetings use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Organize Meetings?

Skills that share tags, products or a category with Organize Meetings: Garden Inbox (paperclipai/paperclip, 100k stars), Continue (telegramdesktop/tdesktop, 33k stars), Process Inbox (telegramdesktop/tdesktop, 33k stars) and Process Inbox (TDesktop-x64/tdesktop, 3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Organize Meetings?

benoror (a GitHub user) maintains it in benoror/obsidianos_work, which has 165 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on June 11, 2026.

Source: benoror/obsidianos_work on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.