Productivity
calendar-sync avatar

calendar-sync

Synchronize development activity from GitHub and Linear into Google Calendar. Automatically converts commits, PRs, and tasks into backdated, time-blocked event entries for accurate time tracking.

Introduction

The calendar-sync skill is a specialized automation tool designed for developers and project managers who need to visualize their technical activity logs within a Google Calendar environment. By transforming structured data from platforms like GitHub and Linear into executable gcalcli commands, this skill eliminates the manual effort of creating time entries for daily coding sessions, PR reviews, and issue management. It is built to serve as an objective witness to your productivity, ensuring your calendar reflects your actual technical output rather than just planned meetings.

  • Automatically fetches and processes activity data including commits, pull request creation/merging, and issue comments.

  • Implements an intelligent backdate algorithm that treats timestamps as completion events, calculating start times based on historical work duration patterns.

  • Supports 15-minute time snapping to ensure your calendar remains readable and organized.

  • Merges related work into coherent sessions per repository, preventing cluttered schedules while maintaining logical grouping.

  • Offers automated duplicate detection to check for existing events using gcalcli before creating new entries.

  • Allows for user-defined configuration, including timezone adjustments, custom calendar selection, and control over session merging or duplicate checks.

  • The skill accepts input via Markdown tables, raw JSON objects (GitHub/Linear API output), or structured data provided by other agents.

  • It relies on gcalcli as the underlying engine, necessitating local environment configuration for calendar access.

  • Best practice is to use this in conjunction with github-activity or linear-activity skills for seamless data flow.

  • Users can explicitly override grouping rules using natural language commands like 'without grouping' or 'separate events' to influence session construction.

  • Note that session merging respects repository boundaries—activities from different repositories will never be combined, even if they occur consecutively.

Repository Stats

Stars
1
Forks
0
Open Issues
0
Language
Python
Default Branch
main
Sync Status
Idle
Last Synced
May 3, 2026, 09:01 PM
View on GitHub