sync-calendar

sync-calendar is a skill for Claude Code, Codex from isorensen/lox-brain. It costs 29 tokens per session (3,531 once invoked), scanned A, original, MIT.

A workflow that copies Google Calendar events into Obsidian meeting notes, with optional Gemini summaries from Gmail.

In plain words
What is it for?
It helps sync configured calendars, time zones, event details, and available Gemini meeting summaries, provided the required Calendar and Lox connections are available.
Why use it?
It reduces manual meeting-note setup and keeps scheduled events and available summaries together in the vault.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions subagents.

Good fit It helps sync configured calendars, time zones, event details, and available Gemini meeting summaries, provided the required Calendar and Lox connections are available.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/isorensen/lox-brain/sync-calendar
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add isorensen/lox-brain --skill sync-calendar
Clone the repo
git clone --depth 1 https://github.com/isorensen/lox-brain

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for sync-calendar

README.md
[![agentmods](https://agentmods.dev/badge/skills/isorensen/lox-brain/sync-calendar/github.svg)](https://agentmods.dev/skills/isorensen/lox-brain/sync-calendar)
Your own site
<a href="https://agentmods.dev/skills/isorensen/lox-brain/sync-calendar"><img src="https://agentmods.dev/badge/skills/isorensen/lox-brain/sync-calendar/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for sync-calendar

Your own site · 80×15
<a href="https://agentmods.dev/skills/isorensen/lox-brain/sync-calendar"><img src="https://agentmods.dev/badge/skills/isorensen/lox-brain/sync-calendar.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 29 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,531 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00029 $0.03531
Opus 5 $0.00015 $0.01766
Sonnet 5 $0.00006 $0.00706
Haiku 4.5 $0.00003 $0.00353

Measured 8d ago against content hash 82f3066b0dee, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

sync-calendar scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/sync-calendar/SKILL.md · 361 lines

How it starts

The opening of the file, as written. The whole thing — 361 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Sync Calendar — Google Calendar to Obsidian via Lox

Syncs Google Calendar events to Obsidian meeting notes, including Gemini AI meeting summaries when available. Uses three MCP servers: Google Calendar, Gmail, and Lox MCP Server.

Prerequisites

  • Google Calendar MCP — connected via Claude.ai OAuth (provides gcal_list_events)
  • Gmail MCP — connected via Claude.ai OAuth (provides gmail_search_messages, gmail_read_message) — optional, needed only for Gemini meeting summaries
  • Lox MCP Server — running and accessible (provides write_note, search_text, read_note)

If any required MCP server is unavailable, stop and tell the user which one is missing.

Configuration

This skill reads calendar sync settings from ~/.lox/config.json:

{
  "sync_calendar": {
    "calendars": [
      { "id": "primary", "label": "Work" },
      { "id": "[email protected]", "label": "Secondary" }
    ],
    "timezone": "America/Sao_Paulo"
  }
}

If sync_calendar is not configured, the skill prompts the user for setup on first run.

  • calendars — list of Google Calendar IDs to sync. The id is passed directly to gcal_list_events; the label is used in notes and the summary output.
  • timezone — IANA timezone string. Defaults to the user's system timezone if omitted.

Folder mapping by preset:

Preset Meeting notes folder
zettelkasten 7 - Meeting Notes/
para 2 - Projects/Meetings/

Arguments

The skill receives an optional date or date range as argument:

  • No argument -> today's date
  • Single date -> that day (e.g., 2026-03-11)
  • Date range -> inclusive range (e.g., 2026-03-10 2026-03-12 or 2026-03-10..2026-03-12)

Parse flexibly: accept YYYY-MM-DD, DD/MM/YYYY, today, yesterday, last monday, etc.

Workflow

Step 1: Fetch Events

Read ~/.lox/config.json to get the sync_calendar.calendars list and timezone. For each date in the range, call gcal_list_events once per calendar. Since the calls are independent, run them in parallel:

Read the full file on GitHub · 361 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 361 lines · 29 tokens per session scan A 82f3066b0dee

Subscribe to this mod's changes

sync-calendar is a skill published in the GitHub repository isorensen/lox-brain (2 stars, last pushed 2d ago), licensed MIT. It adds 29 tokens to every session and 3,531 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

setup-vault-types

Use when configuring which document types a vault tracks: after installing ai-brain-starter, when a new kind of note appears (journals, books, meetings, clients, podcasts, travel, WhatsApp/Slack/iMessage exports), when extraction skips files because no extractor matches their type, or to add, list, or remove a custom…

mycelium-hq/ai-brain-starter · 114 tokens

ingest-health

Use when the user says /ingest-health, asks to import, sync, ingest, or load Apple Health / Apple Watch / HealthKit data, has a fresh export.zip from the iPhone Health app, a Simple Health Export CSV folder, or a Health Auto Export TCP live feed, or when health-mcp queries return empty because no data was ever…

mycelium-hq/ai-brain-starter · 107 tokens

granola-sync

Pull fresh meetings from Granola (summaries, transcripts, participants) into an Obsidian vault over the official API. Incremental and idempotent by note id and updatedat, so re-runs make no duplicates. Triggers: "/granola-sync", "pull granola", "refresh meetings".

tonydzi/second-brain-starter-kit · 67 tokens

wiki-ingest

File a new source into the LLM Wiki — create its Sources page, append a log entry, apply the proposed cross-reference edits. Use when the user says "ingest this", "file this source", "add this to the wiki", drops a URL/PDF/clipped article, or pastes notes they want captured. Never auto-applies cross-refs without…

bezata/kObsidian · 82 tokens

query

Interactive knowledge assistant via Telegram. Can read, create, and modify documents. Destructive actions require user approval.

Yrzhe/pagefly · 24 tokens

google-workspace

Gmail, Calendar, Drive, Contacts, Sheets, and Docs — through Hermes-managed OAuth and a thin CLI wrapper. When gws is installed, the skill uses it as the execution backend for broader Google Workspace coverage; otherwise it falls back to the bundled Python client implementation.

AtlasOmnia/hermes-custom-pack · 24 tokens