rrule-recurring-tasks

Parse RRULE patterns and compute the next occurrence for recurring tasks.

2|Updated Dec 30, 2025
One-click install
npx skills add https://github.com/Syedaashnaghazanfar/todo-app --skill rrule-recurring-tasks-syedaashnaghazanfar
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rrule-recurring-tasks
Source: https://github.com/Syedaashnaghazanfar/todo-app/tree/main/.claude/skills/rrule-recurring-tasks
Command: npx skills add https://github.com/Syedaashnaghazanfar/todo-app --skill rrule-recurring-tasks-syedaashnaghazanfar

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The RRULE Recurring Tasks Skill provides a robust mechanism to parse RRULE patterns (both simple and RFC 5545) and compute the next occurrence for recurring tasks, ensuring consistent scheduling via UTC times.

Core Features & Use Cases

  • Supports simplified patterns (DAILY, WEEKLY, MONTHLY, YEARLY) and full RFC 5545 RRULE strings for flexible recurrence definitions.
  • Calculates the next occurrence with optional end dates to gracefully stop recurrence.
  • Enforces UTC-only time handling to avoid timezone drift and DST issues.
  • Includes edge-case coverage (DST transitions, leap years) and is designed to integrate with a task-management workflow.

Quick Start

Provide a recurring pattern and a start timestamp to retrieve the next occurrence.

Frequently Asked Questions about rrule-recurring-tasks

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I compute the next occurrence from an RRULE pattern for recurring tasks?

To compute the next occurrence from an RRULE pattern, you parse the RFC 5545 string alongside a start timestamp, and the calculation returns the next scheduled datetime while enforcing UTC time handling to prevent timezone drift.

Can I use simplified DAILY or WEEKLY patterns instead of full RFC 5545 RRULE strings?

Yes, you can use simplified recurrence patterns like DAILY, WEEKLY, MONTHLY, and YEARLY instead of full RFC 5545 RRULE strings. Both formats are fully supported for defining flexible task scheduling rules.

Does python-dateutil handle UTC time and DST transitions correctly when calculating recurrence?

Yes, python-dateutil handles UTC time and DST transitions correctly. The calculation enforces UTC-only time handling specifically to avoid timezone drift and daylight saving time issues during recurrence scheduling.

What is the best way to stop recurring task scheduling at a specific end date?

The best way to stop recurring task scheduling at a specific end date is to provide an optional end date parameter when parsing the RRULE pattern, which gracefully stops recurrence and validates occurrences within that bound.

Why does my RRULE next-occurrence calculation fail during leap years or DST changes?

RRULE next-occurrence calculations often fail during leap years or DST changes due to timezone drift. Enforcing strict UTC-only time handling and using validated RFC 5545 parsing ensures edge-case coverage for these transitions.