Google Workspace
yc-software/qm
Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.
Create or wrap meeting notes. An agent skill from benoror/obsidianos_work.
$ npx skills add benoror/obsidianos_work --skill meeting -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install benoror/obsidianos_work meeting --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/benoror/obsidianos_work.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/meeting .claude/skills/meeting && rm -rf skills-srcUse ~/.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/
Install the "meeting" agent skill from https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/meeting into .claude/skills/meeting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/meetingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add benoror/obsidianos_work --skill meeting -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install benoror/obsidianos_work meeting --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/benoror/obsidianos_work.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/meeting .agents/skills/meeting && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "meeting" agent skill from https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/meeting into .agents/skills/meeting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add benoror/obsidianos_work --skill meeting -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install benoror/obsidianos_work meeting --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/benoror/obsidianos_work.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/meeting .cursor/skills/meeting && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "meeting" agent skill from https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/meeting into .cursor/skills/meeting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/benoror/obsidianos_work.git --path .agents/skills/meeting--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add benoror/obsidianos_work --skill meeting -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install benoror/obsidianos_work meeting --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/benoror/obsidianos_work.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/meeting .gemini/skills/meeting && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "meeting" agent skill from https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/meeting into .gemini/skills/meeting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install benoror/obsidianos_work meetingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add benoror/obsidianos_work --skill meeting -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/benoror/obsidianos_work.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/meeting .github/skills/meeting && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "meeting" agent skill from https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/meeting into .github/skills/meeting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add benoror/obsidianos_work --skill meeting -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install benoror/obsidianos_work meeting --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/benoror/obsidianos_work.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/meeting .opencode/skills/meeting && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "meeting" agent skill from https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/meeting into .opencode/skills/meeting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
meetingCreate or wrap meeting notes. An agent skill from benoror/obsidianos_work.
Meeting is an agent skill from benoror/obsidianos_work. Create or wrap meeting notes. Args: {title} [folder=X], wrap <path, wrap pending [today|this week|dates]. No args = pick from Google Calendar.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `SETUP.md`). Compatibility notes: Requires qmd (CLI or MCP), gws CLI for Calendar (read-only) in Mode B, and Obsidian CLI when running wrap modes (sub-skills). See…
It sits in Productivity & Automation, covering Meeting notes and agendas. It works with Google Calendar and Google Workspace. The repository describes itself as: ObsidianOS - Work Vault. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3c7923e. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires qmd (CLI or MCP), gws CLI for Calendar (read-only) in Mode B, and Obsidian CLI when running wrap modes (sub-skills). See [google-workspace-cli](../_shared/google-workspace-cli.md).
From compatibility in the SKILL.md frontmatter.
Meeting loads about 2k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 983 words of instructions outside code blocks.
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.
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.
The full file from benoror/obsidianos_work at commit 3c7923e, republished under its MIT licence (© benoror). 983 words, ~2,019 tokens.
.claude/skills/meeting/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub./meeting {title} — Create a meeting note with the given title and today's date./meeting {title} folder={subfolder} — Create in a specific subfolder under Meetings/./meeting (no args) — List today's Google Calendar events and let the user pick one. (Requires gws + Calendar — see SETUP.md and google-workspace-cli.)/meeting wrap <path> — Wrap up an existing meeting by running /mail-transcripts, /cache-notes, /fill-participants, and /followup-todos in sequence, with a single commit at the end./meeting wrap pending [<dates>] — Find meetings missing any wrap step and wrap them in sequence. Optional date filter (see Mode D).Format: {Title} - YYYY-MM-DD.md
Examples:
Engineering - Weekly check-in - 2026-02-18.mdJane x Alex Sync - 2026-02-23.mdAlert System Brainstorm and Requirement Gathering - 2026-02-06.mdException — Scrum dailies in Meetings/Engineering/Scrum/ use just YYYY-MM-DD.md.
Every meeting note starts with YAML frontmatter:
---
Notes:
created: YYYY-MM-DDTHH:MM:SS±HH:MM
---Notes: is left empty (populated later with Google Docs / Otter links).created: uses the current local timestamp in ISO 8601 with timezone offset.Participants: is intentionally omitted at creation time (filled later by /fill-participants).modified: is managed by Obsidian automatically — do NOT set it.Input: /meeting {title} with optional folder={subfolder}
folder= is provided, use Meetings/{subfolder}/. Otherwise, ask the user which subfolder to use. List existing subfolders for convenience.{Title} - YYYY-MM-DD.md using today's date.Templates/, ask the user if they want to apply it as the note body.Accept common abbreviations when provided inline:
| Shorthand | Resolves to |
|---|---|
eng | Engineering |
scrum | Engineering/Scrum |
1on1, 1:1 | One-on-ones |
syncs | Tech Syncs |
qa | QA |
hire, hiring | Interviews |
onboard | Onboarding |
inbox | _inbox |
Case-insensitive matching. If no shorthand matches and the folder doesn't exist, ask before creating it.
Requires: Google Workspace CLI (
gws) with Calendar access (read-only). See SETUP.md and google-workspace-cli.
Input: /meeting (no arguments)
gws in the terminal (e.g. gws calendar +agenda --today --format json). See google-workspace-cli.One-on-ones/ or Tech Syncs/./meeting wrap)Input: /meeting wrap <path> — path to an existing meeting note (e.g. Meetings/One-on-ones/Jane x Alex Sync - 2026-02-25.md)
If <path> is omitted, list today's meeting files under Meetings/ and let the user pick one.
This is a sequenced workflow — sub-skills skip their individual commit steps.
/mail-transcripts — Drain the Gemini transcript inbox first so Notes: may be populated before caching. Runs vault-wide (not scoped to <path>)./cache-notes <path> — If Notes: is still empty after mail-transcripts, prompt the user to paste external resource URLs. Then fetch and cache AI transcripts./fill-participants <path> — Resolve and fill the Participants: frontmatter if missing. If already filled, skip silently./followup-todos <path> — Extract action items and propose plain bullet follow-ups (no Tasks checkboxes) from the now-cached content and manual notes.update: /meeting wrap <path>.Between each sub-skill, re-read the file (or re-check frontmatter via obsidian property:read) to pick up changes from the previous step.
/meeting wrap pending)Input: /meeting wrap pending [<dates>]
Finds all meetings under Meetings/ that haven't been fully wrapped and runs the wrap sequence (Mode C) on each.
After inbox triage (steps 1–1.5 below), delegate to /note-status pending. That skill handles discovery, frontmatter checks, filtering, presentation, and user selection in one step.
See date-filter for the full syntax and date parsing rules.
When <dates> is provided, pass it through to /note-status pending. Default (omitted): all pending meetings (/note-status pending).
/mail-transcripts — Drain the Gemini transcript inbox so newly linked or auto-created notes have Notes: populated./organize-meetings — Triage Meetings/_inbox/ so auto-created stubs land in the right subfolder before the pending scan. Use --auto only when the user confirms high-confidence moves are acceptable./note-status pending [<dates>] — Discovers meeting files, filters to notes with any missing step, presents the status table, and prompts the user to select which meetings to wrap. Returns the selected file paths./cache-notes → /fill-participants → /followup-todos). Skip repeating /mail-transcripts per file. Pause between meetings for user input (URLs, todo confirmation, etc.).update: /meeting wrap pending — N meetings.[2/5] Wrapping: Meetings/Engineering/...).See /commit. Applies to Mode A and Mode B only — Modes C and D handle their own commits at the end of the sequence.
created: (see USER.md if configured).© benoror, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/meeting of benoror/obsidianos_work.
Open the folder on GitHubat commit 3c7923e
Meeting 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Meeting this skillbenoror/obsidianos_work | 165 | — | ~2k | Automated safety check: Pass | MIT | |
| Google Workspaceyc-software/qm | 15k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Gws Workflow Meeting Prepgoogleworkspace/cli | 31k | — | ~300 | Automated safety check: Pass | Apache-2.0 | |
| Gws Workflow Standup Reportgoogleworkspace/cli | 31k | — | ~277 | Automated safety check: Pass | Apache-2.0 | |
| Persona Team Leadgoogleworkspace/cli | 31k | — | ~322 | Automated safety check: Pass | Apache-2.0 | |
| Recipe Batch Invite To Eventgoogleworkspace/cli | 31k | — | ~249 | Automated safety check: Pass | Apache-2.0 |
yc-software/qm
Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.
googleworkspace/cli
Google Workflow: Prepare for your next meeting: agenda, attendees, and linked docs.
googleworkspace/cli
Google Workflow: Today's meetings + open tasks as a standup summary.
googleworkspace/cli
Lead a team — run standups, coordinate tasks, and communicate.
googleworkspace/cli
Add a list of attendees to an existing Google Calendar event and send notifications.
googleworkspace/cli
Create recurring focus time blocks on Google Calendar to protect deep work hours.
benoror/obsidianos_work
Search vault notes by keyword or meaning. An agent skill from benoror/obsidianos_work.
benoror/obsidianos_work
Fetch & embed AI transcripts as Obsidian callouts. An agent skill from benoror/obsidianos_work.
benoror/obsidianos_work
Resolve and fill Participants frontmatter + link unlinked names in body.
benoror/obsidianos_work
Extract action items as plain markdown bullets (with confirmation).
benoror/obsidianos_work
Show when you last had a 1:1 with each direct report / peer, sorted by recency.
benoror/obsidianos_work
Gmail AI transcript notifications → meeting Notes: URLs + mark read.
Works with
Categories
Create or wrap meeting notes. An agent skill from benoror/obsidianos_work. Meeting is an agent skill from benoror/obsidianos_work. Create or wrap meeting notes.
Meeting fits situations like: tasks that involve Meeting notes and agendas.
Run `npx skills add benoror/obsidianos_work --skill meeting -a claude-code`. Or copy the skill folder (.agents/skills/meeting in benoror/obsidianos_work) into .claude/skills/meeting in your project. Claude Code loads it when a task matches its description.
Run `npx skills add benoror/obsidianos_work --skill meeting -a codex`. Or copy the skill folder (.agents/skills/meeting in benoror/obsidianos_work) into .agents/skills/meeting in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add benoror/obsidianos_work --skill meeting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/meeting, .gemini/skills/meeting, .github/skills/meeting and .opencode/skills/meeting in your project.
SKILL.md names no scripts, command-line tools or credentials: Meeting is instructions for the agent only. Compatibility (from SKILL.md): Requires qmd (CLI or MCP), gws CLI for Calendar (read-only) in Mode B, and Obsidian CLI when running wrap modes (sub-skills). See [google-workspace-cli](../_shared/google-workspace-cli.md)..
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
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.
Meeting is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Meeting: Google Workspace (yc-software/qm, 15k stars), Gws Workflow Meeting Prep (googleworkspace/cli, 31k stars), Gws Workflow Standup Report (googleworkspace/cli, 31k stars) and Persona Team Lead (googleworkspace/cli, 31k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.