Agent skill

Gcalcli Calendar

by CraftOS-dev in CraftOS-dev/CraftBot

Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.

MITAuto-check passedProductivity & Automation

Install Gcalcli Calendar

skills CLI
$ npx skills add CraftOS-dev/CraftBot --skill gcalcli-calendar -a claude-code

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

GitHub CLI
$ gh skill install CraftOS-dev/CraftBot gcalcli-calendar --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/CraftOS-dev/CraftBot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gcalcli-calendar .claude/skills/gcalcli-calendar && 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
gcalcli-calendar
GitHub stars
392
Used in
1 other repo
Token cost
~2.1k tokens
SKILL.md length
1,001 words
Files
4
Skills in repo
89
Repo updated
First seen
Licence
MIT

At a glance

Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.

  • Works in 3 steps: fetch next 14 days agenda once, → pick matching day/event from tool output, → proceed (or disambiguate if multiple).
  • Productivity & Automation work in your project
  • SKILL.md covers Rules, Actions policy (optimized for… and Canonical commands
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Gcalcli Calendar is an agent skill from CraftOS-dev/CraftBot. Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `.clawhub/origin.json`, `README.md` and `_meta.json`).

It sits in Productivity & Automation. It works with Google Calendar. The repository describes itself as: One agent. Every kind of work. The licence is MIT.

When your agent uses it

  • Productivity & Automation work in your project

Example prompts

  • “/gcalcli-calendar”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. fetch next 14 days agenda once,
  2. pick matching day/event from tool output,
  3. proceed (or disambiguate if multiple).

What it can do on your machine

Read from SKILL.md and the folder at commit b50970c. 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

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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.

Context cost

Gcalcli Calendar loads about 2.1k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 1,001 words of instructions outside code blocks.

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

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 CraftOS-dev/CraftBot at commit b50970c, republished under its MIT licence (© CraftOS-dev). 1,001 words, ~2,053 tokens.

Download SKILL.mdSave it as .claude/skills/gcalcli-calendar/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
gcalcli-calendar
description
Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.

gcalcli-calendar

Use gcalcli to read/search/manage Google Calendar with minimal tool calls and minimal output.

Rules

CLI flag placement (critical)
  • Global flags (--nocolor, --calendar) go BEFORE the subcommand.
  • Subcommand-specific flags go AFTER the subcommand name.
  • Example: gcalcli --nocolor delete --iamaexpert "query" start end — NOT gcalcli --nocolor --iamaexpert delete ....
  • This applies to ALL subcommand flags: --iamaexpert (delete), --noprompt/--allday (add), --use-legacy-import (import), etc.
Output & language
  • Don't print CLI commands/flags/tool details unless the user explicitly asks (e.g. "show commands used", "/debug", "/commands").
  • If asked for commands: print ALL executed commands in order (including retries) and nothing else.
  • Don't mix languages within one reply.
  • Be concise. No scope unless nothing found.
Dates & formatting
  • Human-friendly dates by default. ISO only if explicitly requested.
  • Don't quote event titles unless needed to disambiguate.
Calendar scope
  • Trust gcalcli config (default/ignore calendars). Don't broaden scope unless user asks "across all calendars" or results are clearly wrong.
Agenda (today-only by default)
  • If user asks "agenda" without a period, return today only.
  • Expand only if explicitly asked (tomorrow / next N days / date range).
Weekday requests (no mental math)

If user says "on Monday/Tuesday/..." without a date:

  1. fetch next 14 days agenda once,
  2. pick matching day/event from tool output,
  3. proceed (or disambiguate if multiple).
Finding events: prefer deterministic agenda scan (meaning-first)

When locating events to cancel/delete/edit:

  • Prefer agenda over search.
  • Use a bounded window and match events by meaning (semantic match) rather than exact text.
  • Default locate windows:
    • If user gives an exact date: scan that day only.
    • If user gives a weekday: scan next 14 days.
    • If user gives only meaning words ("train", "lecture", etc.) with no date: scan next 30 days first.
    • If still not found: expand to 180 days and say so only if still empty.

Use gcalcli search only as a fallback when:

  • the time window would be too large to scan via agenda (token-heavy), or
  • the user explicitly asked to "search".
Search (bounded)
  • Default search window: next ~180 days (unless user specified otherwise).
  • If no matches: say "No matches in next ~6 months (<from>-><to>)" and offer to expand.
  • Show scope only when nothing is found.
Tool efficiency
  • Default: use --nocolor to reduce formatting noise and tokens.
  • Use --tsv only if you must parse/dedupe/sort.

Actions policy (optimized for conversational speed)

This skill is designed for personal assistant use where the user expects fast, low-friction calendar management. The confirmation policy below is an intentional UX choice — see README.md for rationale and safety guards.

Unambiguous actions: execute immediately

For cancel/delete/edit actions, skip confirmation when ALL of these hold:

  • The user explicitly requested the action (e.g. "delete my dentist appointment").
  • Exactly one event matches in a tight time window.
  • The match is unambiguous (single clear result on an exact date, or user specified date+time).
Ambiguous actions: always ask first

If multiple candidates match, or the match is uncertain:

  • Ask a short disambiguation question listing the candidates (1-3 lines) and wait for the user's choice.
Create events: overlap check MUST be cross-calendar (non-ignored scope)

When creating an event:

  • Always run a best-effort overlap check across ALL non-ignored calendars by scanning agenda WITHOUT --calendar.
    • This ensures overlaps are detected even if the new event is created into a specific calendar.
  • If overlap exists with busy events:
    • Ask for confirmation before creating.
  • If no overlap:
    • Create immediately.
Choose the right create method
  • add — default for one-off events. Supports --allday, --reminder, --noprompt. Does NOT support recurrence or free/busy (transparency).
  • import via stdin — use ONLY when you need recurrence (RRULE) or free/busy (TRANSP:TRANSPARENT). Pipe ICS content via stdin; NEVER write temp .ics files (working directory is unreliable in exec sandbox).
  • quick — avoid unless user explicitly asks for natural-language add. Less deterministic.
Show full SKILL.md (394 more words)Show less
Deletes must be verified
  • Use non-interactive delete with --iamaexpert (a delete subcommand flag — goes AFTER delete). This is gcalcli's built-in flag for non-interactive/scripted deletion.
  • Always verify via agenda in the same tight window after deletion.
  • If verification still shows the event, do one retry with --refresh.
  • Never claim success unless verification confirms the event is gone.

Canonical commands

Agenda (deterministic listing)
  • Today: gcalcli --nocolor agenda today tomorrow
  • Next 14d (weekday resolution): gcalcli --nocolor agenda today +14d
  • Next 30d (meaning-first locate): gcalcli --nocolor agenda today +30d
  • Custom: gcalcli --nocolor agenda <start> <end>
Search (fallback / explicit request)
  • Default (~6 months): gcalcli --nocolor search "<query>" today +180d
  • Custom: gcalcli --nocolor search "<query>" <start> <end>
Create — add (one-off events)
  • Overlap preflight (tight, cross-calendar):
    • gcalcli --nocolor agenda <start> <end>
    • IMPORTANT: do NOT add --calendar here; overlaps must be checked across all non-ignored calendars.
  • Timed event:
    • gcalcli --nocolor --calendar "<Cal>" add --noprompt --title "<Title>" --when "<Start>" --duration <minutes>
  • All-day event:
    • gcalcli --nocolor --calendar "<Cal>" add --noprompt --allday --title "<Title>" --when "<Date>"
  • With reminders (repeatable flag):
    • --reminder "20160 popup" → 14 days before (20160 = 14×24×60)
    • --reminder "10080 popup" → 7 days before
    • --reminder "0 popup" → at event start
    • Time unit suffixes: w (weeks), d (days), h (hours), m (minutes). No suffix = minutes.
    • Method: popup (default), email, sms.
Create — import via stdin (recurrence / free/busy)

Use ONLY when add can't cover the need (recurring events, TRANSP, etc.). Pipe ICS directly via stdin — never write temp files.

echo 'BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260308
SUMMARY:Event Title
RRULE:FREQ=YEARLY
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR' | gcalcli import --calendar "<Cal>"
  • DTSTART;VALUE=DATE:YYYYMMDD for all-day; DTSTART:YYYYMMDDTHHmmSS for timed.
  • RRULE:FREQ=YEARLY — yearly recurrence. Also: DAILY, WEEKLY, MONTHLY.
  • TRANSP:TRANSPARENT — free; TRANSP:OPAQUE — busy (default).
  • One import call = one event (one VEVENT block). For multiple events, run separate piped imports.
  • Add --reminder "TIME" flag(s) to set reminders (overrides any VALARM in ICS).
  • All import-specific flags (--use-legacy-import, --verbose, etc.) go AFTER import.
Delete (with post-delete verification)
  • Locate via agenda (preferred):
    • gcalcli --nocolor agenda <dayStart> <dayEnd> (exact date)
    • gcalcli --nocolor agenda today +14d (weekday)
    • gcalcli --nocolor agenda today +30d (meaning only)
  • Delete (non-interactive, bounded):
    • gcalcli --nocolor delete --iamaexpert "<query>" <start> <end>
  • Verify (same window):
    • gcalcli --nocolor agenda <dayStart> <dayEnd>
  • Optional one retry if still present:
    • gcalcli --nocolor --refresh agenda <dayStart> <dayEnd>
Edit / Modify existing events
  • gcalcli edit is interactive — cannot be used in non-interactive exec.
  • To change properties not editable in-place: delete + recreate the event.
    • Locate → delete (with --iamaexpert) → create with updated properties → verify.
  • For bulk property changes (e.g. setting all events to free): iterate delete+recreate per event.

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

Files

SKILL.md and 3 other files in skills/gcalcli-calendar of CraftOS-dev/CraftBot.

  • SKILL.md
  • .clawhub/origin.json
  • README.md
  • _meta.json

Open the folder on GitHubat commit b50970c

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in CraftOS-dev/CraftBot, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Gcalcli Calendar 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.

Gcalcli Calendar compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gcalcli Calendar this skillCraftOS-dev/CraftBot3921 repos~2.1kAutomated safety check: PassMIT
Zeleremorses/zele299—~1.3kAutomated safety check: PassNone
Gcclibadlogic/pi-skills2.6k—~530Automated safety check: PassMIT
Google Workspaceyc-software/qm15k—~1.8kAutomated safety check: PassMIT
Composio Cloud Toolsquarqlabs/argus277—~543Automated safety check: PassApache-2.0
Canonical SchemaNxcoreAI/EverRoom3k—~895Automated safety check: PassCustom licence

Similar skills

  • Zele

    remorses/zele

    zele is a multi-account email and calendar CLI for Gmail, IMAP/SMTP (Fastmail, Outlook, any provider), and Google Calendar.

    299 GitHub stars~1.3k tokensUpdated 6 days ago
    Productivity & AutomationAuto-check passed
  • Gccli

    badlogic/pi-skills

    Google Calendar CLI for listing calendars, viewing/creating/updating events, and checking availability.

    2.6k GitHub stars~530 tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed
  • Google Workspace

    yc-software/qm

    Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

    15k GitHub stars~1.8k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Composio Cloud Tools

    quarqlabs/argus

    Routes requests to external SaaS apps such as GitHub, Gmail, Google Calendar, Slack, Notion and Linear through cloud tools, with safeguards on irreversible actions.

    277 GitHub stars~543 tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed
  • Canonical Schema

    NxcoreAI/EverRoom

    canonical schema 字段语义与各 provider 原始格式要点(gmail/outlook/google-calendar)。产出格式映射时使用。

    3k GitHub stars~895 tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Google Calendar

    NeverSight/learn-skills.dev

    Interact with Google Calendar via the Google Calendar API – list upcoming events, create new events, update or delete them.

    216 GitHub starsUsed in 2 repos~826 tokens
    Productivity & AutomationAuto-check passed

More from CraftOS-dev/CraftBot

All 89 skills in this repo
  • Self Improvement

    CraftOS-dev/CraftBot

    Captures learnings, errors, and corrections to enable continuous improvement.

    392 GitHub starsUsed in 5 repos~4.9k tokens
    Auto-check passed
  • Bbc News

    CraftOS-dev/CraftBot

    Fetch and display BBC News stories from various sections and regions via RSS feeds.

    392 GitHub starsUsed in 2 repos~555 tokens
    Auto-check passed
  • Outlook

    CraftOS-dev/CraftBot

    Read, search, and manage Outlook emails and calendar via Microsoft Graph API.

    392 GitHub starsUsed in 2 repos~1.8k tokens
    Auto-check passed
  • Nano Banana Pro

    CraftOS-dev/CraftBot

    Generate/edit images with Nano Banana Pro (Gemini 3 Pro Image).

    392 GitHub starsUsed in 6 repos~1.4k tokens
    Auto-check passed
  • Airweave

    CraftOS-dev/CraftBot

    Context retrieval layer for AI agents across users' applications.

    392 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Telegram Bot Manager

    CraftOS-dev/CraftBot

    Manage and configure Telegram bots for OpenClaw. An agent skill from CraftOS-dev/CraftBot.

    392 GitHub stars~836 tokensUpdated today
    Auto-check passed

Works with

Questions about Gcalcli Calendar

What does Gcalcli Calendar do?

Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output. Gcalcli Calendar is an agent skill from CraftOS-dev/CraftBot. Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.

When should I use Gcalcli Calendar?

Gcalcli Calendar fits situations like: productivity & Automation work in your project.

How do I install Gcalcli Calendar in Claude Code?

Run `npx skills add CraftOS-dev/CraftBot --skill gcalcli-calendar -a claude-code`. Or copy the skill folder (skills/gcalcli-calendar in CraftOS-dev/CraftBot) into .claude/skills/gcalcli-calendar in your project. Claude Code loads it when a task matches its description.

How do I install Gcalcli Calendar in Codex?

Run `npx skills add CraftOS-dev/CraftBot --skill gcalcli-calendar -a codex`. Or copy the skill folder (skills/gcalcli-calendar in CraftOS-dev/CraftBot) into .agents/skills/gcalcli-calendar in your project. Codex loads it when a task matches its description.

Can I use Gcalcli Calendar 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 CraftOS-dev/CraftBot --skill gcalcli-calendar -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gcalcli-calendar, .gemini/skills/gcalcli-calendar, .github/skills/gcalcli-calendar and .opencode/skills/gcalcli-calendar in your project.

What does Gcalcli Calendar need to run?

SKILL.md names no scripts, command-line tools or credentials: Gcalcli Calendar is instructions for the agent only.

Does Gcalcli Calendar access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Gcalcli Calendar 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 Gcalcli Calendar use?

Gcalcli Calendar is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gcalcli Calendar use?

About 2.1k tokens (SKILL.md is roughly 8.2k 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 Gcalcli Calendar?

Skills that share tags, products or a category with Gcalcli Calendar: Zele (remorses/zele, 299 stars), Gccli (badlogic/pi-skills, 2.6k stars), Google Workspace (yc-software/qm, 15k stars) and Composio Cloud Tools (quarqlabs/argus, 277 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gcalcli Calendar?

CraftOS-dev (a GitHub user) maintains it in CraftOS-dev/CraftBot, which has 392 GitHub stars. The repository holds 89 skills in this directory. The repository was last updated on October 7, 2026.

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