Install
$ agentstack add skill-igptai-skills-subscription-tracker ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Subscription Tracker
Prerequisites
This skill needs the iGPT MCP at https://mcp.igpt.ai/.
If the MCP tools aren't available or return an auth error, tell the user to install the iGPT plugin (/plugin marketplace add igptai/skills) or add https://mcp.igpt.ai/ as a connector, then complete OAuth and say "ready". Retry once after they confirm. Never invent tokens or OAuth URLs. For deeper troubleshooting: https://raw.githubusercontent.com/igptai/skills/main/shared/mcp-guard.md
What This Skill Does
Scans email history for recurring billing patterns — subscription confirmations, renewal notices, and monthly or annual charge receipts — and compiles a full list of active subscriptions with amounts, billing frequency, and renewal dates.
Workflow
- Before calling any tool, collect this value from the user. Offer the
default and let the user override it; do not invent a value they did not give.
- [time_range] — what window of email to scan. The user may give this
in any form ("last 13 months", "the last year", "May 2024", "since the credit card change"). Default: the last 13 months (to catch both monthly and annual subscriptions). Keep the user's natural phrasing for use in the ask input; convert to ISO dates separately for the search call.
- Call search with:
- query: subscription renewal receipt billing monthly annual charge
- datefrom: ISO start date derived from [timerange]
- dateto: ISO end date derived from [timerange] (or today if open-ended)
- Call ask with:
- input: Find all recurring subscriptions and billing emails from [time_range]. For each unique subscription identify: the service name, the billing amount, the billing frequency, the most recent charge date, and the next renewal date if mentioned. Flag any that appear to have been cancelled or that stopped renewing mid-period.
- output_format:
{ "strict": true, "schema": { "type": "object", "description": "Complete subscription audit across all email billing history", "additionalProperties": false, "properties": { "asof": { "type": "string", "description": "ISO8601 date when this report was generated" }, "subscriptions": { "type": "array", "description": "List of every recurring subscription identified in email", "items": { "type": "object", "description": "A single recurring subscription or service", "additionalProperties": false, "properties": { "service": { "type": "string", "description": "Name of the subscription service or vendor" }, "amount": { "type": "number", "description": "Recurring charge amount per billing cycle" }, "currency": { "type": "string", "description": "Currency code of the charge (e.g. USD, EUR)" }, "frequency": { "type": "string", "description": "How often this subscription is billed", "enum": ["monthly", "annual", "quarterly", "weekly", "unknown"] }, "lastchargedate": { "type": "string", "description": "ISO8601 date of the most recent charge found in email" }, "nextrenewaldate": { "type": "string", "description": "ISO8601 date of the next expected renewal, empty string if unknown" }, "status": { "type": "string", "description": "Whether this subscription appears to be currently active or cancelled", "enum": ["active", "cancelled", "unknown"] }, "category": { "type": "string", "description": "Type of service this subscription provides", "enum": [ "saasproductivity", "saasdevtools", "saasmarketing", "saasfinance", "hosting", "storage", "communication", "media", "professionalservice", "other" ] } }, "required": [ "service", "amount", "currency", "frequency", "lastchargedate", "nextrenewaldate", "status", "category" ] } }, "totalmonthlyequivalent": { "type": "number", "description": "Total estimated monthly cost across all active subscriptions normalized to a single currency" }, "currencynote": { "type": "string", "description": "Note about which currency the total is expressed in and any multi-currency caveats" }, "summary": { "type": "string", "description": "One or two sentence summary of total subscriptions found, estimated monthly cost, and any notable items" } }, "required": [ "asof", "subscriptions", "totalmonthlyequivalent", "currencynote", "summary" ] } }
- Present as a table grouped by category, ordered by amount descending.
Lead with total monthly equivalent and count of active subscriptions.
- Ask: "Would you like me to flag subscriptions you might want to cancel
or review?"
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: igptai
- Source: igptai/skills
- License: MIT
- Homepage: https://www.igpt.ai
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.