name: opys-calendar-skill description: A local markdown-backed calendar with CLI and optional two-way Google Calendar sync. env: - GOOGLE_CLIENT_ID - GOOGLE_CLIENT_SECRET - GOOGLE_REDIRECT_URI - APP_BASE_URL - CALENDAR_AGENT_SNAPSHOT - CALENDAR_AGENT_DAYS
Use this skill to query/update the local markdown-backed calendar safely and sync it with Google Calendar.
calendar.md更多技能请访问小葱技能站7w4.net。
## 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 "<ISO>" --end "<ISO>" --category <id> [--shift-to-next|--allow-overlap]npm run cli -- update --id <event_id> [fields...]
If changing --start or --end, include --shift-to-next or --allow-overlap in non-interactive runs.npm run cli -- check --id <event_id> or --undonenpm run cli -- delete --id <event_id>npm run cli -- category-add --id <id> --label "Label" --color "#9ca3af" --description "..."npm run cli -- category-remove --id <id> --reassign <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:<PORT>/api/google/auth/callback
Agent Configuration (Optional)
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.这是一款高质量的智能日历工具,核心亮点是将日程数据存储为可读的 Markdown 文件,让 AI 能够准确理解和修改你的日程安排,同时提供美观的 Web 界面供手动操作。它还支持与 Google Calendar 双向同步,功能完整。不足之处是初始配置稍显复杂,特别是 Google 同步需要申请 OAuth 凭证;大日程数据下性能可能受影响。总体而言,设计理念先进、文档详尽,适合需要 AI 辅助日程管理的用户。