google-calendar-mcp is an MCP server that lets AI assistants connect to Google Calendar and manage calendar information. It supports tasks such as searching, creating, updating, and deleting events, checking availability, handling recurring events, and detecting conflicts across calendars. The catalogue skills, instructions, commands, and agents provide workflows for operating this integration.
Borrowing it
Nothing to install: this file belongs to nspady/google-calendar-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/nspady/google-calendar-mcp/main/.claude/skills/review-pr/SKILL.mdgit clone --depth 1 https://github.com/nspady/google-calendar-mcpWrote 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.
[](https://agentmods.dev/skills/nspady/google-calendar-mcp/review-pr)<a href="https://agentmods.dev/skills/nspady/google-calendar-mcp/review-pr"><img src="https://agentmods.dev/badge/skills/nspady/google-calendar-mcp/review-pr/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.
<a href="https://agentmods.dev/skills/nspady/google-calendar-mcp/review-pr"><img src="https://agentmods.dev/badge/skills/nspady/google-calendar-mcp/review-pr.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00086 | $0.01182 |
| Opus 5.5 | $0.00034 | $0.00473 |
| Sonnet 5.5 | $0.00017 | $0.00236 |
| Haiku 4.5 | $0.00009 | $0.00118 |
Grade A, and why
review-pr 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 20d 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.
How it starts
The opening of the file, as written. The whole thing — 97 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Deep PR review
The output of this skill is a drafts file, not a posted review. Post only after the maintainer approves the drafts, and re-read the drafts file immediately before posting — the maintainer edits it.
Stage 0 — Pin the target
gh pr view <n> --json title,body,headRefOid,files,authorandgh pr diff <n>.- Pin the full head SHA. Every later line reference is at this SHA; if the author pushes mid-review, re-pin and re-verify.
- Check out the head SHA in a scratch clone (never in a working worktree).
Stage 1 — Verify the description's claims
Treat every factual claim in the PR description as unverified. For each: find the code that implements it, and where feasible prove it empirically — run the unit suite, build and probe a live server, point the feature at a local stub server, reproduce the bug it claims to fix. Claims that survive reading but not probing are the ones that bite.
Stage 2 — Hunt beyond the description
For API-semantics and protocol questions, load the repo's research skills
first: .claude/skills/gcal-api-research/ (Calendar API edge cases,
recurring events, timezones) and .claude/skills/mcp-research/ (MCP spec
compliance, transports, JSON-RPC). Verify against them, not memory.
Recurring failure modes in this codebase, in rough order of yield:
- Shared-state lifecycle: the accounts
Map,CalendarRegistry's cached entries, HTTP per-session transports,TokenManager. Who writes it, who invalidates it, what happens on reload/re-entry? Mutation paths that skipCalendarRegistry.getInstance().clearCache()serve stale data for 5 minutes. - Config and env vars: all config goes through
src/config/AppConfig.ts, validated at startup, fail-loud, logged to stderr. A PR adding a rawprocess.envread elsewhere is a should-fix. Check precedence interactions with existing vars and what happens on a malformed value. - Silent failures: bare catches, fallbacks without logging, startup errors that don't name the actual problem. Quote exact error messages when citing one — verify the wrapped text, not the inner throw.
- stdio discipline: anything printed to stdout in stdio mode corrupts JSON-RPC. New logging must go to stderr.
- Tool description vs API semantics: what the Google API actually does
versus what the tool description promises the model (e.g.
calendarList.deleteunsubscribes; it does not delete). The model relays these promises to users, so a mismatch is a blocker. - MCP spec compliance: session semantics (unknown session id → 404 / -32001; missing id → 400), error codes, SDK version behavior. Verify against the pinned SDK version in package.json, not memory.
- New tools: registry entry with title + annotations, handler extending
BaseToolHandler, unit test, README and docs tool lists updated. - Security surface: new env vars or URLs that could redirect tokens or credentials somewhere unexpected.
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.
- 20d ago First seen · 97 lines · 86 tokens per session scan A ce4b8ae0c1e8
review-pr is a skill published in the GitHub repository nspady/google-calendar-mcp (1,206 stars, last pushed yesterday), licensed MIT. It adds 86 tokens to every session and 1,182 once invoked, about $0.0003 per session on Opus 5.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-10-09.
Other skills, from other repositories
test-review
You are an expert DataHub test reviewer. Your role is to evaluate pytest smoke tests against established testing standards, identify issues, and provide actionable feedback.
grade-tests
Grade curated individual tests for readiness, A-F quality and improvements. ALWAYS USE FOR: grade tests, review only a named test, per-test readiness or quality bands for supplied methods, bodies, file spans or bounded PR diffs, including existing tests. Return Pass/Failed/Uncertain/Not applicable; unresolved/empty…
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
brooks-test
Test quality review drawing on twelve classic engineering books — with primary focus on xUnit Test Patterns, The Art of Unit Testing, How Google Tests Software, and Working Effectively with Legacy Code — that diagnoses structural problems in an existing test suite: brittleness, mock abuse, coverage illusions, slow…
dart-mechanical-refactor
DART Mechanical Refactor: perform a behavior-preserving mechanical refactor.
refactor
Refactors code for quality and maintainability. Triggers: refactor, clean up, restructure, improve code, modernize.