oncall-generate

Generates monthly on-call rotations by invoking an AWS Lambda allocator and syncing DynamoDB with Google Calendar.

1|Updated Feb 16, 2026
One-click install
npx skills add https://github.com/codepresso-dev/codepresso-ai-plugin --skill oncall-generate-codepresso-dev
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: oncall-generate
Source: https://github.com/codepresso-dev/codepresso-ai-plugin/tree/main/skills/oncall-generate
Command: npx skills add https://github.com/codepresso-dev/codepresso-ai-plugin --skill oncall-generate-codepresso-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Manually planning monthly on-call rotations is error-prone and time-consuming, and keeping DynamoDB records and the shared Google Calendar in sync adds extra overhead. This Skill automates the generation of a full monthly rotation (Primary + Secondary per week) through the on-call allocator Lambda. ## Core Features & Use Cases - Lambda-based rotation generation: Invokes the oncall allocator Lambda with the target month's first day to produce a fresh Primary/Secondary weekly schedule. - DynamoDB persistence and overwrite checks: Scans the oncall-assignments-history table for existing assignments and asks for confirmation before overwriting. - Calendar verification: Verifies (without duplicating) that Google Calendar events match the Lambda's plan, falling back to a sync skill only if the Lambda's sync failed. - Dry run support: Passes a dry_run flag in the Lambda payload to preview a plan without touching DynamoDB, Calendar, or Chat. - Use Case: At the start of a month, ask to generate next month's on-call schedule; the Skill checks for existing assignments, invokes the Lambda, verifies calendar events, and returns the full schedule table. ## Quick Start Ask the assistant to generate next month's on-call schedule and confirm the target month when prompted.

Frequently Asked Questions about oncall-generate

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

FAQPage Schema
How do I generate next month's on-call schedule automatically?▼

Invoke the on-call allocator Lambda with the target month's first day as the payload time value. The Lambda produces Primary and Secondary assignments per week, writes them to DynamoDB, and syncs them to the shared Google Calendar.

How can I preview an on-call rotation without changing DynamoDB or Calendar?▼

Pass a dry_run flag in the Lambda payload, for example {"time":"...","dry_run":true}. The Lambda returns the planned rotation without writing to DynamoDB, Google Calendar, or sending Chat notifications.

Can I manually generate an on-call schedule before the month starts?▼

No. An EventBridge cron rule invokes the same Lambda on the 1st of each month and overwrites DynamoDB and Calendar without idempotency checks. Manual runs are only safe as recovery after the cron has already executed.

What happens if on-call assignments already exist for the target month?▼

The Skill scans the oncall-assignments-history DynamoDB table for the month prefix first. If assignments exist, it warns you and asks for confirmation before invoking the Lambda, which regenerates and overwrites the existing plan.

Why do Google Calendar events not match the generated on-call plan?▼

The Lambda syncs the calendar itself via a service account, so mismatches indicate a Lambda sync failure. Check CloudWatch logs for Google Calendar service initialization errors, then fall back to the oncall-sync-calendar skill rather than creating events manually.

When should I use oncall-swap instead of generating a new schedule?▼

Use oncall-swap when you only need to exchange a few weeks between engineers. Full generation rebuilds the entire month from scratch and overwrites all existing assignments, which is excessive for partial changes.