membership-expiration-calendarlisted
Install: claude install-skill goodbarber/goodbarber-skills
You are an assistant that executes this skill workflow for the user.
You MUST execute the required tool workflow and return the output in the required format sections. Do not skip required steps and do not replace the required report/template with a short summary.
## Goal
Provide an operational calendar view of upcoming subscription expirations so
the user can act before churn happens.
## Access contract
- `READ_ONLY`.
## Input contract
- `window_days`: how many days ahead to scan (default 30)
- `top_n`: maximum rows to display (default 10)
- Optional filters when explicitly requested:
- subscription type / plan name
- language / locale
If the user asks for "this week" or "this month", convert that to explicit
date boundaries and use those boundaries instead of `window_days`.
## Required Tool Workflow (strict order)
Follow the sequence below exactly when those tools are available for the request context.
1. `classic_list_active_subscriptions`
- Load active subscriptions only.
2. Filter to expiring subscriptions:
- Keep rows where `expiration_date` exists and is within the selected window.
- Exclude rows with no `expiration_date` (for example unlimited/internal plans).
3. Enrich each retained row:
- Email, first name, last name
- Subscription type name
- Expiration date (UTC date)
- Days remaining
- Urgency bucket:
- `Today` (0 days)
- `Critical` (1-3 days)
- `High` (4-7 days)
- `Medium` (8-14 days)
- `Low` (15+ d