Use this skill to query/update the local markdown-backed calendar safely and sync it with Google Calendar.
calendar.md## Event Records (fenced event YAML blocks)## Event Checklistid: local identifierexternalId: stable cross-system identifier used for dedupegoogleEventIds: per-calendar Google event mappingupdatedAt: event-level timestamp for conflict resolutionDo not remove externalId from existing records.
Use CLI from repo root:
npm run cli -- <command>
npm run cli -- summary.npm run cli -- export. npm run cli -- add --title "..." --start "
npm run cli -- update --id
If changing --start or --end, include --shift-to-next or --allow-overlap in non-interactive runs.
npm run cli -- check --id or --undone
npm run cli -- delete --id
npm run cli -- category-add --id
npm run cli -- category-remove --id
Conflict handling:
add and time-changing update detect overlaps with existing events.--shift-to-next to auto-resolve to the next open window.--allow-overlap to keep the requested overlapping time.Agent snapshot output:
./agent-snapshot.mdCALENDAR_AGENT_SNAPSHOT.CALENDAR_AGENT_DAYS.Sync state file:
.calendar-google-sync-state.jsonnpm run cli -- export --out backup-calendar.mdnpm run cli -- import --in backup-calendar.mdid, label, and color fields valid.This skill uses the following environment variables (defined in .env):
GOOGLE_CLIENT_ID: Google OAuth Client IDGOOGLE_CLIENT_SECRET: Google OAuth Client SecretGOOGLE_REDIRECT_URI: Should be http://localhost:/api/google/auth/callback CALENDAR_AGENT_SNAPSHOT: Custom absolute or relative path to write the Markdown snapshot. Defaults to ./agent-snapshot.md.CALENDAR_AGENT_DAYS: Number of historical days to include in the snapshot (defaults to 14).PORT: API server port (defaults to 8787).APP_BASE_URL: Base URL for the frontend UI.共 1 个版本