calendar-read

calendar-read is a skill for Claude Code, Codex from Darwin-Agent/Car-bench-TRACE. It costs 220 tokens per session (2,190 once invoked), scanned A, original, MIT.

A calendar-reading skill that reports meetings, appointments, and events for today. It can also answer questions about what remains, what is next, or whether an event has started.

In plain words
What is it for?
Use it to check today’s calendar, remaining events, the next meeting, or whether a particular meeting has begun.
Why use it?
It turns a vague question such as “what do I have this afternoon?” into a day-specific schedule, while being clear about unavailable details.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to check today’s calendar, remaining events, the next meeting, or whether a particular meeting has begun.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/darwin-agent/car-bench-trace/calendar-read
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 Darwin-Agent/Car-bench-TRACE --skill calendar-read
Clone the repo
git clone --depth 1 https://github.com/Darwin-Agent/Car-bench-TRACE

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 calendar-read

README.md
[![agentmods](https://agentmods.dev/badge/skills/darwin-agent/car-bench-trace/calendar-read.svg)](https://agentmods.dev/skills/darwin-agent/car-bench-trace/calendar-read)
Your own site
<a href="https://agentmods.dev/skills/darwin-agent/car-bench-trace/calendar-read"><img src="https://agentmods.dev/badge/skills/darwin-agent/car-bench-trace/calendar-read.svg" alt="Measured on agentmods" height="20"></a>
Per session 220 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,190 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.00220 $0.02190
Opus 5 $0.00110 $0.01095
Sonnet 5 $0.00044 $0.00438
Haiku 4.5 $0.00022 $0.00219

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

Security

Grade A, and why

calendar-read 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 7d 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_bank/calendar-read/SKILL.md · 59 lines

How it starts

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

Read the calendar for a day

The user wants to know what's on their calendar for a day — today, this afternoon, the rest of the day, a named day, or whether a specific meeting has started yet. You map the day to a month/day, read the entries, and report them — filtering or comparing against the current time when the request implies it. This is a read; it needs no confirmation. The main complications are honoring a "remaining/next/has-it-started" comparison and being honest when a value (the attendee list) or the whole tool is unavailable.

When this applies

"What's on my calendar today?", "do I have anything left today?", "what's on for ?", "do I have meetings this afternoon?", "what's my next meeting?", "has my meeting started yet?", "am I free ?" — any request to read the schedule for a specific day. Note: only the current day can be read; if asked for a past or future day, say only today's calendar is available.

Tools

  • get_entries_from_calendar({month, day}) — read a specific day's entries (start time, duration, topic, location, attendees). Year is implicit; pass month and day. Attendees are returned as contact IDs, not names — resolving them to names or emails is a separate contacts operation, not part of a calendar read. The attendees value may come back as "unknown"; treat that as genuinely unavailable (you cannot list or email the attendees), not as an empty list. This tool may itself be unavailable — if you cannot call it, there is no way to read the schedule.

Method

  1. Map the day to month + day. "Today" → convert the provided current date to its month and day. A named day → that day's month and day. The year is implicit; pass month and day.
  2. Read the entries. get_entries_from_calendar({month:<resolved month>, day:<resolved day>}).
  3. Apply the time comparison the request implies. If the user asked for remaining, upcoming, next, or this afternoon/evening entries, compare each entry's start time to the current time and report only those still ahead (and matching the daypart). For "next meeting", report the single earliest upcoming one. A meeting whose start has passed but is still ongoing (start + duration is still after now) counts as still relevant — don't drop it. If the user asks whether a named meeting has started / is over, find that entry by topic and compare: now ≥ start means it has started; now ≥ start + duration means it has ended; report the clear verdict plus the start time. Compare the scheduled start time directly against the current system clock — the entry's start time is the local meeting time, so do not adjust for the meeting's city, timezone, or any travel time even when the meeting is in a different location than you are now. A plain "what's on today?" reports the whole day.
  4. Report back the relevant entries concisely (time, topic, location). A pure read needs no confirmation — just answer and stop.
  5. If the read feeds a downstream step (plan a charging stop around the next meeting, email an attendee about a meeting), pick the entry that matches the user's stated criteria — the earliest upcoming one for "next/upcoming", or the meeting they named by topic/time/location — and carry that entry forward. Don't re-ask which meeting when the criteria already pin it; do surface the choices if more than one entry genuinely fits.

Read the full file on GitHub · 59 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. 7d ago First seen · 59 lines · 220 tokens per session scan A c4b546a01556

Subscribe to this mod's changes

calendar-read is a skill published in the GitHub repository Darwin-Agent/Car-bench-TRACE (8 stars, last pushed 4d ago), licensed MIT. It adds 220 tokens to every session and 2,190 once invoked, about $0.0011 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.