{"id":"d34ad598-a3c5-4609-91ac-d0c04a4dfafa","entityType":"agent","slug":"clawhub-voronindenis5-subscription-slayer","name":"subscription-slayer","canonicalUrl":"https://www.xpersona.co/agent/clawhub-voronindenis5-subscription-slayer","canonicalPath":"/agent/clawhub-voronindenis5-subscription-slayer","generatedAt":"2026-10-09T21:14:57.959Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T12:42:10.847Z","emptyReason":null},"description":"Tracks subscriptions, calculates monthly and annual costs, detects likely-unused services based on last-used patterns, and generates ready-to-send cancellation email templates. Helps users stop wasting money on forgotten subscriptions. Skill: subscription-slayer Owner: voronindenis5 Summary: Tracks subscriptions, calculates monthly and annual costs, detects likely-unused services based on last-used patterns, and generates ready-to-send cancellation email templates. Helps users stop wasting money on forgotten subscriptions. Tags: latest:0.1.2 Version history: v0.1.2 | 2026-08-14T06:19:28.441Z | auto - Removed the file skill-card.md. - No other chang","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.6K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17b6amkd3wzqgg640v03a9r1n83gxs1:subscription-slayer","sourceUrl":"https://clawhub.ai/voronindenis5/subscription-slayer","homepage":"https://clawhub.ai/voronindenis5/skills/subscription-slayer","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/voronindenis5/subscription-slayer","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/voronindenis5/skills/subscription-slayer","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":68,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Tracks subscriptions, calculates monthly and annual costs, detects likely-unused services based on last-used patterns, and generates ready-to-send cancellation "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:42:10.847Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:42:10.847Z","emptyReason":null},"stars":null,"forks":null,"downloads":2631,"packageName":null,"latestVersion":"0.1.2","tractionLabel":"2.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:42:10.846Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T12:42:10.847Z","lastCrawledAt":"2026-10-09T12:42:10.846Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T12:42:10.847Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.2","createdAt":"2026-08-14T06:19:28.441Z","changelog":"- Removed the file skill-card.md. - No other changes made to the skill’s functionality or documentation.","fileCount":10,"zipByteSize":15927},{"version":"0.1.1","createdAt":"2026-08-11T11:57:59.105Z","changelog":"- Removed the skill-card.md file. - No changes to core functionality or documentation within SKILL.md.","fileCount":10,"zipByteSize":15978},{"version":"0.1.0","createdAt":"2026-08-05T19:48:55.510Z","changelog":"Initial public release of Subscription Slayer. - Tracks and analyzes subscription spending with monthly and annual cost breakdowns. - Detects likely-unused (wasteful) subscriptions based on last-used date and other factors. - Ranks subscriptions by waste probability score and provides actionable recommendations. - Generates ready-to-send cancellation email templates for high-waste subscriptions. - Supports easy command-line usage with customizable thresholds and demo data.","fileCount":10,"zipByteSize":15872}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17b6amkd3wzqgg640v03a9r1n83gxs1:subscription-slayer","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T21:14:57.958Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-voronindenis5-subscription-slayer/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T12:42:10.847Z","emptyReason":null},"readme":"Skill: subscription-slayer\n\nOwner: voronindenis5\n\nSummary: Tracks subscriptions, calculates monthly and annual costs, detects likely-unused services based on last-used patterns, and generates ready-to-send cancellation email templates. Helps users stop wasting money on forgotten subscriptions.\n\nTags: latest:0.1.2\n\nVersion history:\n\nv0.1.2 | 2026-08-14T06:19:28.441Z | auto\n\n- Removed the file skill-card.md.  \n- No other changes made to the skill’s functionality or documentation.\n\nv0.1.1 | 2026-08-11T11:57:59.105Z | auto\n\n- Removed the skill-card.md file.\n- No changes to core functionality or documentation within SKILL.md.\n\nv0.1.0 | 2026-08-05T19:48:55.510Z | auto\n\nInitial public release of Subscription Slayer.\n\n- Tracks and analyzes subscription spending with monthly and annual cost breakdowns.\n- Detects likely-unused (wasteful) subscriptions based on last-used date and other factors.\n- Ranks subscriptions by waste probability score and provides actionable recommendations.\n- Generates ready-to-send cancellation email templates for high-waste subscriptions.\n- Supports easy command-line usage with customizable thresholds and demo data.\n\nArchive index:\n\nArchive v0.1.2: 10 files, 15927 bytes\n\nFiles: LICENSE (1070b), README.md (4629b), references (0b), references/cancellation_template.md (3571b), references/waste_detection.md (3540b), scripts (0b), scripts/subscription_tracker.py (20808b), skill-card.md (2479b), SKILL.md (4195b), _meta.json (138b)\n\nFile v0.1.2:SKILL.md\n\n---\nname: subscription-slayer\ndescription: >\n  Tracks subscriptions, calculates monthly and annual costs, detects likely-unused\n  services based on last-used patterns, and generates ready-to-send cancellation\n  email templates. Helps users stop wasting money on forgotten subscriptions.\nversion: 1.0.0\nauthor: Denis Voronin\nlicense: MIT\ntags:\n  - subscriptions\n  - finance\n  - budgeting\n  - money-saving\n  - cancellation\n---\n\n# Subscription Slayer\n\nFind and slay the subscriptions draining your wallet every month.\n\n## When to use\n\n- The user wants to audit their recurring subscriptions.\n- The user wants to know how much they spend monthly/yearly on subscriptions.\n- The user suspects they're paying for services they don't use.\n- The user wants to cancel a subscription and needs a cancellation email.\n\n## How it works\n\n1. Receive a list of subscriptions as JSON (see format below).\n2. Run `scripts/subscription_tracker.py analyze subs.json` to get:\n   - Monthly and annual cost totals\n   - Each subscription ranked by **waste probability** (how likely it's unused)\n   - Ready-to-send cancellation email templates for high-waste subscriptions\n3. The agent presents the analysis and offers to generate/send cancellation emails.\n\n## Subscription JSON Format\n\n```json\n[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"entertainment\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancel\"\n  },\n  {\n    \"name\": \"Adobe Creative Cloud\",\n    \"cost\": 54.99,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"software\",\n    \"last_used\": \"2023-06-01\",\n    \"start_date\": \"2021-01-15\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://account.adobe.com\"\n  }\n]\n```\n\n### Fields\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | ✅ | Subscription name |\n| `cost` | ✅ | Cost per billing cycle |\n| `billing_cycle` | ✅ | \"monthly\", \"yearly\", \"weekly\", \"quarterly\" |\n| `category` | ❌ | Entertainment, software, news, fitness, etc. |\n| `last_used` | ❌ | ISO date of last use (for waste detection) |\n| `start_date` | ❌ | When the subscription started |\n| `auto_renew` | ❌ | Whether it auto-renews (default true) |\n| `cancel_url` | ❌ | URL to manage/cancel the subscription |\n| `notes` | ❌ | Free text notes |\n\n## Usage\n\n```bash\n# Analyze subscriptions\npython3 scripts/subscription_tracker.py analyze subs.json\n\n# JSON output\npython3 scripts/subscription_tracker.py analyze subs.json --json\n\n# Generate cancellation emails for high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --threshold 70\n\n# Show only subscriptions above a waste threshold\npython3 scripts/subscription_tracker.py analyze subs.json --threshold 50\n\n# Run demo with sample data\npython3 scripts/subscription_tracker.py demo\n```\n\n## Waste Detection\n\nThe waste probability score (0–100) is calculated from:\n\n| Factor | Weight | Logic |\n|--------|--------|-------|\n| Days since last use | 40% | >90 days unused = high waste signal |\n| Cost vs. usage frequency | 25% | Expensive + rarely used = waste |\n| Subscription age | 15% | Very old subs you forgot about |\n| Auto-renew status | 10% | Auto-renewing = easy to forget |\n| Category tendencies | 10% | Some categories are more forgettable |\n\n**Score interpretation:**\n- **80–100**: Almost certainly wasting money. Cancel now.\n- **60–79**: Likely unused. Strong cancellation candidate.\n- **40–59**: Possibly underutilised. Review.\n- **0–39**: Probably in use. Keep.\n\n## Cancellation Emails\n\nThe script generates ready-to-send email templates with:\n- Subject line\n- Formal cancellation request\n- Account identification placeholders\n- Request for confirmation\n- Legal phrasing (effective date, pro-rated refunds)\n\n## Files\n\n- `scripts/subscription_tracker.py` — main analysis and email generation script\n- `references/waste_detection.md` — detailed scoring methodology\n- `references/cancellation_template.md` — email template reference\n\nFile v0.1.2:README.md\n\n# Subscription Slayer ⚔️\n\nFind and slay the subscriptions draining your wallet every month.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## The Problem\n\nPeople forget about subscriptions and waste money on unused services. The average person has 10+ subscriptions and underestimates their total spend by 2.5×. Auto-renewing charges silently drain accounts month after month.\n\n## The Solution\n\n**Subscription Slayer** analyzes your subscriptions to:\n1. **Calculate** exact monthly and annual costs\n2. **Detect** which subscriptions are likely unused (waste detection scoring)\n3. **Rank** everything by waste probability\n4. **Generate** ready-to-send cancellation email templates\n\n## Quick Start\n\n```bash\n# Analyze your subscriptions\npython3 scripts/subscription_tracker.py analyze my_subs.json\n\n# Get JSON output\npython3 scripts/subscription_tracker.py analyze my_subs.json --json\n\n# Generate a cancellation email for a specific subscription\npython3 scripts/subscription_tracker.py cancel my_subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel my_subs.json --threshold 70\n\n# Run the demo with sample data\npython3 scripts/subscription_tracker.py demo\n```\n\n## Subscription JSON Format\n\nCreate a JSON file with your subscriptions:\n\n```json\n[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"streaming\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancelplan\"\n  }\n]\n```\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | ✅ | Subscription name |\n| `cost` | ✅ | Cost per billing cycle |\n| `billing_cycle` | ✅ | monthly, yearly, weekly, quarterly |\n| `category` | ❌ | streaming, software, fitness, etc. |\n| `last_used` | ❌ | ISO date of last use |\n| `start_date` | ❌ | When subscription started |\n| `auto_renew` | ❌ | Auto-renew status (default true) |\n| `cancel_url` | ❌ | URL to manage subscription |\n\n## Waste Detection\n\nThe waste score (0–100) uses 5 factors:\n\n| Factor | Weight | What it measures |\n|--------|--------|------------------|\n| Days since last use | 40% | How long since you used the service |\n| Cost vs. usage | 25% | Expensive + unused = high waste |\n| Subscription age | 15% | Old subs are easily forgotten |\n| Auto-renew status | 10% | Silent renewals drain money |\n| Category tendency | 10% | Some categories are more forgettable |\n\n**Score interpretation:**\n- 🔴 **80–100**: Critical — cancel now\n- 🟠 **60–79**: High — likely unused\n- 🟡 **40–59**: Moderate — review\n- 🟢 **0–39**: Low — probably in use\n\nSee `references/waste_detection.md` for the full methodology.\n\n## Example Output\n\n```\n============================================================\n  ⚔️  SUBSCRIPTION SLAYER\n============================================================\n\n  Total monthly cost:   $276.42/mo\n  Total annual cost:    $3,317.04/yr\n  Active subscriptions: 10\n\n  💸 Potential annual savings: $1,559.76\n     (by cancelling 5 high-waste subscriptions)\n\n  📊 SUBSCRIPTIONS RANKED BY WASTE\n  --------------------------------------------------------\n   1. Adobe Creative Cloud\n      🟠 High — likely unused\n      Waste: [████████████████░░░░] 80/100\n      $54.99/mo  ($659.88/yr)  Category: software  426d unused\n\n  ...\n\n  ⚔️  RECOMMENDATION: Cancel these now\n  --------------------------------------------------------\n     • Adobe Creative Cloud  —  save $659.88/yr\n     • NYT Digital           —  save $204.00/yr\n     • Dropbox Plus          —  save $143.88/yr\n```\n\n## Features\n\n- **Multi-factor waste detection** — 5-factor scoring algorithm\n- **All billing cycles** — weekly, monthly, quarterly, yearly, and more\n- **Category analysis** — see spending by category\n- **Cancellation emails** — formal, ready-to-send templates\n- **Savings calculator** — see exactly how much you'd save by cancelling\n- **Demo mode** — 10 sample subscriptions show the full workflow\n- **Stdlib only** — no pip installs, runs on any Python 3.10+\n\n## Files\n\n| File | Description |\n|------|-------------|\n| `SKILL.md` | Skill definition and agent workflow |\n| `scripts/subscription_tracker.py` | Main analysis and email generation script |\n| `references/waste_detection.md` | Scoring methodology documentation |\n| `references/cancellation_template.md` | Email template reference |\n\n## License\n\nMIT © Denis Voronin\n\nFile v0.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn75wwn4x6djaf28jbykeamazd81gtdp\",\n  \"slug\": \"subscription-slayer\",\n  \"version\": \"0.1.2\",\n  \"publishedAt\": 1786688368441\n}\n\nFile v0.1.2:references/cancellation_template.md\n\n# Cancellation Email Template Reference\n\nSubscription Slayer generates ready-to-send cancellation emails. This document explains the template structure and how to customise it.\n\n## Standard Template\n\n```\nTo: support@{company}.com\nSubject: Cancellation Request — {name} Subscription (Account #[YOUR ACCOUNT ID])\n\nDear {Company} Customer Support,\n\nI am writing to formally request the cancellation of my {name} subscription,\neffective immediately.\n\nAccount details:\n  - Service: {name}\n  - Account email: [YOUR EMAIL]\n  - Account/Member ID: [YOUR ACCOUNT ID]\n  - Name on account: [YOUR NAME]\n\nPlease process this cancellation and confirm via email that:\n1. My subscription has been cancelled and will not be renewed.\n2. No further charges will be made to my payment method.\n3. Any applicable pro-rated refund for the unused portion of my billing\n   cycle is processed.\n\nIf you require any additional information to process this request, please\ncontact me at [YOUR EMAIL].\n\nI expect written confirmation of the cancellation within 5 business days,\nas required by consumer protection regulations.\n\nSincerely,\n[YOUR NAME]\n[YOUR EMAIL]\n```\n\n## Placeholders to Replace\n\nBefore sending, replace these placeholders:\n\n| Placeholder | Replace with |\n|-------------|-------------|\n| `[YOUR EMAIL]` | Your account email address |\n| `[YOUR ACCOUNT ID]` | Your subscription/account/member ID |\n| `[YOUR NAME]` | Your full name as it appears on the account |\n\n## Email Address Inference\n\nThe script infers a support email from the subscription name:\n- Company name is extracted as the first word\n- Domain is generated as `{company.lower()}.com`\n- Email is `support@{domain}`\n\nThis is a best guess. **Always verify the correct email address** by checking:\n1. The company's website \"Contact Us\" page\n2. Your account settings or billing page\n3. Previous correspondence from the company\n\n## Customising Templates\n\n### Adding company-specific details\n\nSome companies have specific cancellation requirements. You can modify the template in `scripts/subscription_tracker.py`:\n\n```python\nEMAIL_TEMPLATE = \"\"\"To: {email}\nSubject: {subject}\n\nDear {company} Cancelations Team,\n...\n\"\"\"\n```\n\n### Different tones\n\nFor a more assertive tone:\n```\nI am exercising my right to cancel under the terms of service.\nPlease confirm within 3 business days.\n```\n\nFor a friendlier tone:\n```\nI've enjoyed using {name} but need to cancel for budget reasons.\nCould you please process this at your earliest convenience?\n```\n\n## Legal Considerations\n\nThe template references \"consumer protection regulations\" which generally require companies to:\n- Process cancellations within a reasonable timeframe (typically 3–5 business days)\n- Provide written confirmation\n- Not charge for services after cancellation date\n- Process any applicable refunds\n\nSpecific regulations vary by jurisdiction:\n- **US**: FTC's \"Click to Cancel\" rule (effective 2024) requires easy cancellation\n- **EU**: Consumer Rights Directive mandates 14-day cancellation rights\n- **UK**: Consumer Contracts Regulations provide similar protections\n- **Australia**: Australian Consumer Law provides cancellation rights\n\n## After Sending\n\n1. **Keep the sent email** as proof of your cancellation request.\n2. **Note the date** you sent it — start counting the 5-day window.\n3. **Check your next billing statement** to confirm no charges were made.\n4. **If no response within 5 days**: Follow up, then dispute the charge with your bank/credit card if needed.\n5. **If still being charged**: File a complaint with your local consumer protection agency.\n\nFile v0.1.2:references/waste_detection.md\n\n# Waste Detection Methodology\n\nSubscription Slayer uses a multi-factor scoring system to estimate the probability that a subscription is wasting your money. Each subscription receives a **waste score from 0–100**.\n\n## Scoring Factors\n\n### 1. Days Since Last Use — 40 points max (40%)\n\nThe strongest single signal. If you haven't used a service recently, you're likely paying for nothing.\n\n| Days Unused | Points |\n|-------------|--------|\n| 180+ (6 months) | 40 |\n| 90–179 (3–6 months) | 35 |\n| 60–89 (2–3 months) | 28 |\n| 30–59 (1–2 months) | 20 |\n| 14–29 (2 weeks–1 month) | 10 |\n| 7–13 (1–2 weeks) | 5 |\n| 0–6 (this week) | 0 |\n| No data available | 5 (uncertainty penalty) |\n\n### 2. Cost vs. Usage Efficiency — 25 points max (25%)\n\nCombines cost and usage recency. An expensive service you haven't used in a month is a bigger waste than a cheap one.\n\n| Condition | Points |\n|-----------|--------|\n| 30+ days unused AND monthly cost ≥ $10 | 25 |\n| 30+ days unused AND monthly cost ≥ $5 | 18 |\n| 30+ days unused (any cost) | 10 |\n| 14+ days unused AND monthly cost ≥ $15 | 15 |\n| No usage data AND monthly cost ≥ $20 | 15 |\n| No usage data AND monthly cost ≥ $10 | 8 |\n\n### 3. Subscription Age — 15 points max (15%)\n\nOld subscriptions are more likely to be forgotten. The \"set it and forget it\" problem.\n\n| Age | Points |\n|-----|--------|\n| 730+ days (2+ years) | 15 |\n| 365–729 days (1–2 years) | 10 |\n| 180–364 days (6–12 months) | 5 |\n| < 180 days | 0 |\n\n### 4. Auto-Renew Status — 10 points max (10%)\n\nAuto-renewing subscriptions silently drain money without any action required from you.\n\n| Auto-Renew | Points |\n|------------|--------|\n| Yes | 10 |\n| No | 0 |\n\n### 5. Category Tendency — 10 points max (10%)\n\nSome categories are statistically more likely to be forgotten or underutilised.\n\n**High-waste categories (10 pts):** news, magazine, newsletter, cloud storage, backup, app, software\n\n**Medium-waste categories (5 pts):** music, entertainment, streaming, video, fitness, gym, health, productivity, education\n\n**Low-waste categories (0 pts):** utilities, insurance, phone, internet\n\n## Score Interpretation\n\n| Score | Label | Meaning |\n|-------|-------|---------|\n| 80–100 | 🔴 Critical | Almost certainly wasting money. Cancel immediately. |\n| 60–79 | 🟠 High | Likely unused. Strong cancellation candidate. |\n| 40–59 | 🟡 Moderate | Possibly underutilised. Review usage. |\n| 0–39 | 🟢 Low | Probably in active use. Keep monitoring. |\n\n## How to Improve Accuracy\n\n### Provide `last_used` dates\nThe waste detection is dramatically more accurate when you provide the date you last used each service. Even approximate dates help (\"about 3 months ago\" → estimate the date).\n\n### Use accurate categories\nThe category field affects scoring. Be specific: \"streaming\" is better than \"entertainment\", \"cloud storage\" is better than \"software\".\n\n### Include `start_date`\nSubscription age is a meaningful factor. If you don't know the exact start date, estimate.\n\n## Limitations\n\n- **No bank integration**: The tool can't automatically detect subscriptions from your bank statements. You provide the data.\n- **Static analysis**: Scores are computed at analysis time. For ongoing monitoring, re-run periodically.\n- **Subjective factors**: The scoring weights are heuristic, not derived from your personal usage data. Adjust thresholds as needed.\n- **No usage telemetry**: The tool relies on self-reported `last_used` dates. It can't check actual usage automatically.\n\nFile v0.1.2:skill-card.md\n\n## Description:\n\nTracks subscriptions, calculates monthly and annual costs, detects likely unused services from last-used patterns, and generates cancellation email drafts to help users reduce forgotten subscription spending.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[voronindenis5](https://clawhub.ai/user/voronindenis5)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nExternal users and agents use this skill to audit user-provided subscription JSON, summarize recurring costs, identify likely unused services, and draft cancellation emails for user review.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Subscription waste scores may be incomplete or misleading if the user-provided dates, costs, categories, or billing cycles are inaccurate.\n\nMitigation: Verify the subscription data and treat scoring as a review aid before cancelling any service.\n\nRisk: Generated cancellation emails can include guessed support addresses, generic legal phrasing, and placeholders for account details.\n\nMitigation: Confirm cancellation URLs, support email addresses, dates, costs, and account details before sending any email or acting on a recommendation.\n\nRisk: The skill processes a subscription JSON file chosen by the user, which may contain sensitive account or spending information.\n\nMitigation: Provide only the local file needed for the audit and review the resulting drafts before sharing them outside the local environment.\n\n## Reference(s):\n\n- [Waste Detection Methodology](references/waste_detection.md)\n- [Cancellation Email Template Reference](references/cancellation_template.md)\n- [Source repository](https://github.com/voronindenis5/subscription-slayer)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, shell commands, guidance]\n\n**Output Format:** [Markdown or plain text with optional JSON command output and generated email draft text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The skill analyzes a user-provided subscription JSON file locally and does not perform automatic account changes.]\n\n## Skill Version(s):\n\n0.1.2 (source: ClawHub release metadata; artifact frontmatter declares 1.0.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.2:LICENSE\n\nMIT License\n\nCopyright (c) 2026 Denis Voronin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nArchive v0.1.1: 10 files, 15978 bytes\n\nFiles: LICENSE (1070b), README.md (4629b), references (0b), references/cancellation_template.md (3571b), references/waste_detection.md (3540b), scripts (0b), scripts/subscription_tracker.py (20808b), skill-card.md (2592b), SKILL.md (4195b), _meta.json (138b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: subscription-slayer\ndescription: >\n  Tracks subscriptions, calculates monthly and annual costs, detects likely-unused\n  services based on last-used patterns, and generates ready-to-send cancellation\n  email templates. Helps users stop wasting money on forgotten subscriptions.\nversion: 1.0.0\nauthor: Denis Voronin\nlicense: MIT\ntags:\n  - subscriptions\n  - finance\n  - budgeting\n  - money-saving\n  - cancellation\n---\n\n# Subscription Slayer\n\nFind and slay the subscriptions draining your wallet every month.\n\n## When to use\n\n- The user wants to audit their recurring subscriptions.\n- The user wants to know how much they spend monthly/yearly on subscriptions.\n- The user suspects they're paying for services they don't use.\n- The user wants to cancel a subscription and needs a cancellation email.\n\n## How it works\n\n1. Receive a list of subscriptions as JSON (see format below).\n2. Run `scripts/subscription_tracker.py analyze subs.json` to get:\n   - Monthly and annual cost totals\n   - Each subscription ranked by **waste probability** (how likely it's unused)\n   - Ready-to-send cancellation email templates for high-waste subscriptions\n3. The agent presents the analysis and offers to generate/send cancellation emails.\n\n## Subscription JSON Format\n\n```json\n[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"entertainment\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancel\"\n  },\n  {\n    \"name\": \"Adobe Creative Cloud\",\n    \"cost\": 54.99,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"software\",\n    \"last_used\": \"2023-06-01\",\n    \"start_date\": \"2021-01-15\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://account.adobe.com\"\n  }\n]\n```\n\n### Fields\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | ✅ | Subscription name |\n| `cost` | ✅ | Cost per billing cycle |\n| `billing_cycle` | ✅ | \"monthly\", \"yearly\", \"weekly\", \"quarterly\" |\n| `category` | ❌ | Entertainment, software, news, fitness, etc. |\n| `last_used` | ❌ | ISO date of last use (for waste detection) |\n| `start_date` | ❌ | When the subscription started |\n| `auto_renew` | ❌ | Whether it auto-renews (default true) |\n| `cancel_url` | ❌ | URL to manage/cancel the subscription |\n| `notes` | ❌ | Free text notes |\n\n## Usage\n\n```bash\n# Analyze subscriptions\npython3 scripts/subscription_tracker.py analyze subs.json\n\n# JSON output\npython3 scripts/subscription_tracker.py analyze subs.json --json\n\n# Generate cancellation emails for high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --threshold 70\n\n# Show only subscriptions above a waste threshold\npython3 scripts/subscription_tracker.py analyze subs.json --threshold 50\n\n# Run demo with sample data\npython3 scripts/subscription_tracker.py demo\n```\n\n## Waste Detection\n\nThe waste probability score (0–100) is calculated from:\n\n| Factor | Weight | Logic |\n|--------|--------|-------|\n| Days since last use | 40% | >90 days unused = high waste signal |\n| Cost vs. usage frequency | 25% | Expensive + rarely used = waste |\n| Subscription age | 15% | Very old subs you forgot about |\n| Auto-renew status | 10% | Auto-renewing = easy to forget |\n| Category tendencies | 10% | Some categories are more forgettable |\n\n**Score interpretation:**\n- **80–100**: Almost certainly wasting money. Cancel now.\n- **60–79**: Likely unused. Strong cancellation candidate.\n- **40–59**: Possibly underutilised. Review.\n- **0–39**: Probably in use. Keep.\n\n## Cancellation Emails\n\nThe script generates ready-to-send email templates with:\n- Subject line\n- Formal cancellation request\n- Account identification placeholders\n- Request for confirmation\n- Legal phrasing (effective date, pro-rated refunds)\n\n## Files\n\n- `scripts/subscription_tracker.py` — main analysis and email generation script\n- `references/waste_detection.md` — detailed scoring methodology\n- `references/cancellation_template.md` — email template reference\n\nFile v0.1.1:README.md\n\n# Subscription Slayer ⚔️\n\nFind and slay the subscriptions draining your wallet every month.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## The Problem\n\nPeople forget about subscriptions and waste money on unused services. The average person has 10+ subscriptions and underestimates their total spend by 2.5×. Auto-renewing charges silently drain accounts month after month.\n\n## The Solution\n\n**Subscription Slayer** analyzes your subscriptions to:\n1. **Calculate** exact monthly and annual costs\n2. **Detect** which subscriptions are likely unused (waste detection scoring)\n3. **Rank** everything by waste probability\n4. **Generate** ready-to-send cancellation email templates\n\n## Quick Start\n\n```bash\n# Analyze your subscriptions\npython3 scripts/subscription_tracker.py analyze my_subs.json\n\n# Get JSON output\npython3 scripts/subscription_tracker.py analyze my_subs.json --json\n\n# Generate a cancellation email for a specific subscription\npython3 scripts/subscription_tracker.py cancel my_subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel my_subs.json --threshold 70\n\n# Run the demo with sample data\npython3 scripts/subscription_tracker.py demo\n```\n\n## Subscription JSON Format\n\nCreate a JSON file with your subscriptions:\n\n```json\n[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"streaming\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancelplan\"\n  }\n]\n```\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | ✅ | Subscription name |\n| `cost` | ✅ | Cost per billing cycle |\n| `billing_cycle` | ✅ | monthly, yearly, weekly, quarterly |\n| `category` | ❌ | streaming, software, fitness, etc. |\n| `last_used` | ❌ | ISO date of last use |\n| `start_date` | ❌ | When subscription started |\n| `auto_renew` | ❌ | Auto-renew status (default true) |\n| `cancel_url` | ❌ | URL to manage subscription |\n\n## Waste Detection\n\nThe waste score (0–100) uses 5 factors:\n\n| Factor | Weight | What it measures |\n|--------|--------|------------------|\n| Days since last use | 40% | How long since you used the service |\n| Cost vs. usage | 25% | Expensive + unused = high waste |\n| Subscription age | 15% | Old subs are easily forgotten |\n| Auto-renew status | 10% | Silent renewals drain money |\n| Category tendency | 10% | Some categories are more forgettable |\n\n**Score interpretation:**\n- 🔴 **80–100**: Critical — cancel now\n- 🟠 **60–79**: High — likely unused\n- 🟡 **40–59**: Moderate — review\n- 🟢 **0–39**: Low — probably in use\n\nSee `references/waste_detection.md` for the full methodology.\n\n## Example Output\n\n```\n============================================================\n  ⚔️  SUBSCRIPTION SLAYER\n============================================================\n\n  Total monthly cost:   $276.42/mo\n  Total annual cost:    $3,317.04/yr\n  Active subscriptions: 10\n\n  💸 Potential annual savings: $1,559.76\n     (by cancelling 5 high-waste subscriptions)\n\n  📊 SUBSCRIPTIONS RANKED BY WASTE\n  --------------------------------------------------------\n   1. Adobe Creative Cloud\n      🟠 High — likely unused\n      Waste: [████████████████░░░░] 80/100\n      $54.99/mo  ($659.88/yr)  Category: software  426d unused\n\n  ...\n\n  ⚔️  RECOMMENDATION: Cancel these now\n  --------------------------------------------------------\n     • Adobe Creative Cloud  —  save $659.88/yr\n     • NYT Digital           —  save $204.00/yr\n     • Dropbox Plus          —  save $143.88/yr\n```\n\n## Features\n\n- **Multi-factor waste detection** — 5-factor scoring algorithm\n- **All billing cycles** — weekly, monthly, quarterly, yearly, and more\n- **Category analysis** — see spending by category\n- **Cancellation emails** — formal, ready-to-send templates\n- **Savings calculator** — see exactly how much you'd save by cancelling\n- **Demo mode** — 10 sample subscriptions show the full workflow\n- **Stdlib only** — no pip installs, runs on any Python 3.10+\n\n## Files\n\n| File | Description |\n|------|-------------|\n| `SKILL.md` | Skill definition and agent workflow |\n| `scripts/subscription_tracker.py` | Main analysis and email generation script |\n| `references/waste_detection.md` | Scoring methodology documentation |\n| `references/cancellation_template.md` | Email template reference |\n\n## License\n\nMIT © Denis Voronin\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn75wwn4x6djaf28jbykeamazd81gtdp\",\n  \"slug\": \"subscription-slayer\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1786449479105\n}\n\nFile v0.1.1:references/cancellation_template.md\n\n# Cancellation Email Template Reference\n\nSubscription Slayer generates ready-to-send cancellation emails. This document explains the template structure and how to customise it.\n\n## Standard Template\n\n```\nTo: support@{company}.com\nSubject: Cancellation Request — {name} Subscription (Account #[YOUR ACCOUNT ID])\n\nDear {Company} Customer Support,\n\nI am writing to formally request the cancellation of my {name} subscription,\neffective immediately.\n\nAccount details:\n  - Service: {name}\n  - Account email: [YOUR EMAIL]\n  - Account/Member ID: [YOUR ACCOUNT ID]\n  - Name on account: [YOUR NAME]\n\nPlease process this cancellation and confirm via email that:\n1. My subscription has been cancelled and will not be renewed.\n2. No further charges will be made to my payment method.\n3. Any applicable pro-rated refund for the unused portion of my billing\n   cycle is processed.\n\nIf you require any additional information to process this request, please\ncontact me at [YOUR EMAIL].\n\nI expect written confirmation of the cancellation within 5 business days,\nas required by consumer protection regulations.\n\nSincerely,\n[YOUR NAME]\n[YOUR EMAIL]\n```\n\n## Placeholders to Replace\n\nBefore sending, replace these placeholders:\n\n| Placeholder | Replace with |\n|-------------|-------------|\n| `[YOUR EMAIL]` | Your account email address |\n| `[YOUR ACCOUNT ID]` | Your subscription/account/member ID |\n| `[YOUR NAME]` | Your full name as it appears on the account |\n\n## Email Address Inference\n\nThe script infers a support email from the subscription name:\n- Company name is extracted as the first word\n- Domain is generated as `{company.lower()}.com`\n- Email is `support@{domain}`\n\nThis is a best guess. **Always verify the correct email address** by checking:\n1. The company's website \"Contact Us\" page\n2. Your account settings or billing page\n3. Previous correspondence from the company\n\n## Customising Templates\n\n### Adding company-specific details\n\nSome companies have specific cancellation requirements. You can modify the template in `scripts/subscription_tracker.py`:\n\n```python\nEMAIL_TEMPLATE = \"\"\"To: {email}\nSubject: {subject}\n\nDear {company} Cancelations Team,\n...\n\"\"\"\n```\n\n### Different tones\n\nFor a more assertive tone:\n```\nI am exercising my right to cancel under the terms of service.\nPlease confirm within 3 business days.\n```\n\nFor a friendlier tone:\n```\nI've enjoyed using {name} but need to cancel for budget reasons.\nCould you please process this at your earliest convenience?\n```\n\n## Legal Considerations\n\nThe template references \"consumer protection regulations\" which generally require companies to:\n- Process cancellations within a reasonable timeframe (typically 3–5 business days)\n- Provide written confirmation\n- Not charge for services after cancellation date\n- Process any applicable refunds\n\nSpecific regulations vary by jurisdiction:\n- **US**: FTC's \"Click to Cancel\" rule (effective 2024) requires easy cancellation\n- **EU**: Consumer Rights Directive mandates 14-day cancellation rights\n- **UK**: Consumer Contracts Regulations provide similar protections\n- **Australia**: Australian Consumer Law provides cancellation rights\n\n## After Sending\n\n1. **Keep the sent email** as proof of your cancellation request.\n2. **Note the date** you sent it — start counting the 5-day window.\n3. **Check your next billing statement** to confirm no charges were made.\n4. **If no response within 5 days**: Follow up, then dispute the charge with your bank/credit card if needed.\n5. **If still being charged**: File a complaint with your local consumer protection agency.\n\nFile v0.1.1:references/waste_detection.md\n\n# Waste Detection Methodology\n\nSubscription Slayer uses a multi-factor scoring system to estimate the probability that a subscription is wasting your money. Each subscription receives a **waste score from 0–100**.\n\n## Scoring Factors\n\n### 1. Days Since Last Use — 40 points max (40%)\n\nThe strongest single signal. If you haven't used a service recently, you're likely paying for nothing.\n\n| Days Unused | Points |\n|-------------|--------|\n| 180+ (6 months) | 40 |\n| 90–179 (3–6 months) | 35 |\n| 60–89 (2–3 months) | 28 |\n| 30–59 (1–2 months) | 20 |\n| 14–29 (2 weeks–1 month) | 10 |\n| 7–13 (1–2 weeks) | 5 |\n| 0–6 (this week) | 0 |\n| No data available | 5 (uncertainty penalty) |\n\n### 2. Cost vs. Usage Efficiency — 25 points max (25%)\n\nCombines cost and usage recency. An expensive service you haven't used in a month is a bigger waste than a cheap one.\n\n| Condition | Points |\n|-----------|--------|\n| 30+ days unused AND monthly cost ≥ $10 | 25 |\n| 30+ days unused AND monthly cost ≥ $5 | 18 |\n| 30+ days unused (any cost) | 10 |\n| 14+ days unused AND monthly cost ≥ $15 | 15 |\n| No usage data AND monthly cost ≥ $20 | 15 |\n| No usage data AND monthly cost ≥ $10 | 8 |\n\n### 3. Subscription Age — 15 points max (15%)\n\nOld subscriptions are more likely to be forgotten. The \"set it and forget it\" problem.\n\n| Age | Points |\n|-----|--------|\n| 730+ days (2+ years) | 15 |\n| 365–729 days (1–2 years) | 10 |\n| 180–364 days (6–12 months) | 5 |\n| < 180 days | 0 |\n\n### 4. Auto-Renew Status — 10 points max (10%)\n\nAuto-renewing subscriptions silently drain money without any action required from you.\n\n| Auto-Renew | Points |\n|------------|--------|\n| Yes | 10 |\n| No | 0 |\n\n### 5. Category Tendency — 10 points max (10%)\n\nSome categories are statistically more likely to be forgotten or underutilised.\n\n**High-waste categories (10 pts):** news, magazine, newsletter, cloud storage, backup, app, software\n\n**Medium-waste categories (5 pts):** music, entertainment, streaming, video, fitness, gym, health, productivity, education\n\n**Low-waste categories (0 pts):** utilities, insurance, phone, internet\n\n## Score Interpretation\n\n| Score | Label | Meaning |\n|-------|-------|---------|\n| 80–100 | 🔴 Critical | Almost certainly wasting money. Cancel immediately. |\n| 60–79 | 🟠 High | Likely unused. Strong cancellation candidate. |\n| 40–59 | 🟡 Moderate | Possibly underutilised. Review usage. |\n| 0–39 | 🟢 Low | Probably in active use. Keep monitoring. |\n\n## How to Improve Accuracy\n\n### Provide `last_used` dates\nThe waste detection is dramatically more accurate when you provide the date you last used each service. Even approximate dates help (\"about 3 months ago\" → estimate the date).\n\n### Use accurate categories\nThe category field affects scoring. Be specific: \"streaming\" is better than \"entertainment\", \"cloud storage\" is better than \"software\".\n\n### Include `start_date`\nSubscription age is a meaningful factor. If you don't know the exact start date, estimate.\n\n## Limitations\n\n- **No bank integration**: The tool can't automatically detect subscriptions from your bank statements. You provide the data.\n- **Static analysis**: Scores are computed at analysis time. For ongoing monitoring, re-run periodically.\n- **Subjective factors**: The scoring weights are heuristic, not derived from your personal usage data. Adjust thresholds as needed.\n- **No usage telemetry**: The tool relies on self-reported `last_used` dates. It can't check actual usage automatically.\n\nFile v0.1.1:skill-card.md\n\n## Description:\n\nTracks subscriptions, calculates monthly and annual costs, detects likely-unused services based on last-used patterns, and generates ready-to-send cancellation email templates.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[voronindenis5](https://clawhub.ai/user/voronindenis5)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to audit user-provided subscription data, estimate wasted spend, and prepare cancellation email drafts for review.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Subscription data may include personal financial details.\n\nMitigation: Include only the fields needed for analysis, avoid account IDs or private notes unless necessary, and treat the JSON file as sensitive personal data.\n\nRisk: Generated cancellation emails may include placeholders, inferred recipient addresses, or wording that does not fit the user's jurisdiction or account.\n\nMitigation: Review every cancellation draft, recipient address, account identifier, and legal phrase before sending it yourself.\n\nRisk: Waste scores are heuristic and depend on user-provided last-used dates, categories, costs, and billing cycles.\n\nMitigation: Confirm the underlying subscription details and personal need for each service before cancelling.\n\n## Reference(s):\n\n- [Waste Detection Methodology](references/waste_detection.md)\n- [Cancellation Email Template Reference](references/cancellation_template.md)\n- [ClawHub Skill Page](https://clawhub.ai/voronindenis5/skills/subscription-slayer)\n- [Source Repository](https://github.com/voronindenis5/subscription-slayer)\n- [Imported Commit](https://github.com/voronindenis5/subscription-slayer/commit/3889d104abe5f7159f9c6a34033b5de3200d6871)\n\n## Skill Output:\n\n**Output Type(s):** [text, JSON, markdown, shell commands, guidance]\n\n**Output Format:** [Plain text or JSON subscription reports, Markdown-style cancellation email drafts, and shell command guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses user-provided JSON input; cancellation drafts include placeholders and inferred recipient addresses that must be reviewed before sending.]\n\n## Skill Version(s):\n\n0.1.1 (source: ClawHub release evidence; SKILL.md frontmatter reports 1.0.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.1:LICENSE\n\nMIT License\n\nCopyright (c) 2026 Denis Voronin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nArchive v0.1.0: 10 files, 15872 bytes\n\nFiles: LICENSE (1070b), README.md (4629b), references (0b), references/cancellation_template.md (3571b), references/waste_detection.md (3540b), scripts (0b), scripts/subscription_tracker.py (20808b), skill-card.md (2382b), SKILL.md (4195b), _meta.json (138b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: subscription-slayer\ndescription: >\n  Tracks subscriptions, calculates monthly and annual costs, detects likely-unused\n  services based on last-used patterns, and generates ready-to-send cancellation\n  email templates. Helps users stop wasting money on forgotten subscriptions.\nversion: 1.0.0\nauthor: Denis Voronin\nlicense: MIT\ntags:\n  - subscriptions\n  - finance\n  - budgeting\n  - money-saving\n  - cancellation\n---\n\n# Subscription Slayer\n\nFind and slay the subscriptions draining your wallet every month.\n\n## When to use\n\n- The user wants to audit their recurring subscriptions.\n- The user wants to know how much they spend monthly/yearly on subscriptions.\n- The user suspects they're paying for services they don't use.\n- The user wants to cancel a subscription and needs a cancellation email.\n\n## How it works\n\n1. Receive a list of subscriptions as JSON (see format below).\n2. Run `scripts/subscription_tracker.py analyze subs.json` to get:\n   - Monthly and annual cost totals\n   - Each subscription ranked by **waste probability** (how likely it's unused)\n   - Ready-to-send cancellation email templates for high-waste subscriptions\n3. The agent presents the analysis and offers to generate/send cancellation emails.\n\n## Subscription JSON Format\n\n```json\n[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"entertainment\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancel\"\n  },\n  {\n    \"name\": \"Adobe Creative Cloud\",\n    \"cost\": 54.99,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"software\",\n    \"last_used\": \"2023-06-01\",\n    \"start_date\": \"2021-01-15\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://account.adobe.com\"\n  }\n]\n```\n\n### Fields\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | ✅ | Subscription name |\n| `cost` | ✅ | Cost per billing cycle |\n| `billing_cycle` | ✅ | \"monthly\", \"yearly\", \"weekly\", \"quarterly\" |\n| `category` | ❌ | Entertainment, software, news, fitness, etc. |\n| `last_used` | ❌ | ISO date of last use (for waste detection) |\n| `start_date` | ❌ | When the subscription started |\n| `auto_renew` | ❌ | Whether it auto-renews (default true) |\n| `cancel_url` | ❌ | URL to manage/cancel the subscription |\n| `notes` | ❌ | Free text notes |\n\n## Usage\n\n```bash\n# Analyze subscriptions\npython3 scripts/subscription_tracker.py analyze subs.json\n\n# JSON output\npython3 scripts/subscription_tracker.py analyze subs.json --json\n\n# Generate cancellation emails for high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --threshold 70\n\n# Show only subscriptions above a waste threshold\npython3 scripts/subscription_tracker.py analyze subs.json --threshold 50\n\n# Run demo with sample data\npython3 scripts/subscription_tracker.py demo\n```\n\n## Waste Detection\n\nThe waste probability score (0–100) is calculated from:\n\n| Factor | Weight | Logic |\n|--------|--------|-------|\n| Days since last use | 40% | >90 days unused = high waste signal |\n| Cost vs. usage frequency | 25% | Expensive + rarely used = waste |\n| Subscription age | 15% | Very old subs you forgot about |\n| Auto-renew status | 10% | Auto-renewing = easy to forget |\n| Category tendencies | 10% | Some categories are more forgettable |\n\n**Score interpretation:**\n- **80–100**: Almost certainly wasting money. Cancel now.\n- **60–79**: Likely unused. Strong cancellation candidate.\n- **40–59**: Possibly underutilised. Review.\n- **0–39**: Probably in use. Keep.\n\n## Cancellation Emails\n\nThe script generates ready-to-send email templates with:\n- Subject line\n- Formal cancellation request\n- Account identification placeholders\n- Request for confirmation\n- Legal phrasing (effective date, pro-rated refunds)\n\n## Files\n\n- `scripts/subscription_tracker.py` — main analysis and email generation script\n- `references/waste_detection.md` — detailed scoring methodology\n- `references/cancellation_template.md` — email template reference\n\nFile v0.1.0:README.md\n\n# Subscription Slayer ⚔️\n\nFind and slay the subscriptions draining your wallet every month.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## The Problem\n\nPeople forget about subscriptions and waste money on unused services. The average person has 10+ subscriptions and underestimates their total spend by 2.5×. Auto-renewing charges silently drain accounts month after month.\n\n## The Solution\n\n**Subscription Slayer** analyzes your subscriptions to:\n1. **Calculate** exact monthly and annual costs\n2. **Detect** which subscriptions are likely unused (waste detection scoring)\n3. **Rank** everything by waste probability\n4. **Generate** ready-to-send cancellation email templates\n\n## Quick Start\n\n```bash\n# Analyze your subscriptions\npython3 scripts/subscription_tracker.py analyze my_subs.json\n\n# Get JSON output\npython3 scripts/subscription_tracker.py analyze my_subs.json --json\n\n# Generate a cancellation email for a specific subscription\npython3 scripts/subscription_tracker.py cancel my_subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel my_subs.json --threshold 70\n\n# Run the demo with sample data\npython3 scripts/subscription_tracker.py demo\n```\n\n## Subscription JSON Format\n\nCreate a JSON file with your subscriptions:\n\n```json\n[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"streaming\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancelplan\"\n  }\n]\n```\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | ✅ | Subscription name |\n| `cost` | ✅ | Cost per billing cycle |\n| `billing_cycle` | ✅ | monthly, yearly, weekly, quarterly |\n| `category` | ❌ | streaming, software, fitness, etc. |\n| `last_used` | ❌ | ISO date of last use |\n| `start_date` | ❌ | When subscription started |\n| `auto_renew` | ❌ | Auto-renew status (default true) |\n| `cancel_url` | ❌ | URL to manage subscription |\n\n## Waste Detection\n\nThe waste score (0–100) uses 5 factors:\n\n| Factor | Weight | What it measures |\n|--------|--------|------------------|\n| Days since last use | 40% | How long since you used the service |\n| Cost vs. usage | 25% | Expensive + unused = high waste |\n| Subscription age | 15% | Old subs are easily forgotten |\n| Auto-renew status | 10% | Silent renewals drain money |\n| Category tendency | 10% | Some categories are more forgettable |\n\n**Score interpretation:**\n- 🔴 **80–100**: Critical — cancel now\n- 🟠 **60–79**: High — likely unused\n- 🟡 **40–59**: Moderate — review\n- 🟢 **0–39**: Low — probably in use\n\nSee `references/waste_detection.md` for the full methodology.\n\n## Example Output\n\n```\n============================================================\n  ⚔️  SUBSCRIPTION SLAYER\n============================================================\n\n  Total monthly cost:   $276.42/mo\n  Total annual cost:    $3,317.04/yr\n  Active subscriptions: 10\n\n  💸 Potential annual savings: $1,559.76\n     (by cancelling 5 high-waste subscriptions)\n\n  📊 SUBSCRIPTIONS RANKED BY WASTE\n  --------------------------------------------------------\n   1. Adobe Creative Cloud\n      🟠 High — likely unused\n      Waste: [████████████████░░░░] 80/100\n      $54.99/mo  ($659.88/yr)  Category: software  426d unused\n\n  ...\n\n  ⚔️  RECOMMENDATION: Cancel these now\n  --------------------------------------------------------\n     • Adobe Creative Cloud  —  save $659.88/yr\n     • NYT Digital           —  save $204.00/yr\n     • Dropbox Plus          —  save $143.88/yr\n```\n\n## Features\n\n- **Multi-factor waste detection** — 5-factor scoring algorithm\n- **All billing cycles** — weekly, monthly, quarterly, yearly, and more\n- **Category analysis** — see spending by category\n- **Cancellation emails** — formal, ready-to-send templates\n- **Savings calculator** — see exactly how much you'd save by cancelling\n- **Demo mode** — 10 sample subscriptions show the full workflow\n- **Stdlib only** — no pip installs, runs on any Python 3.10+\n\n## Files\n\n| File | Description |\n|------|-------------|\n| `SKILL.md` | Skill definition and agent workflow |\n| `scripts/subscription_tracker.py` | Main analysis and email generation script |\n| `references/waste_detection.md` | Scoring methodology documentation |\n| `references/cancellation_template.md` | Email template reference |\n\n## License\n\nMIT © Denis Voronin\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn75wwn4x6djaf28jbykeamazd81gtdp\",\n  \"slug\": \"subscription-slayer\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1785959335510\n}\n\nFile v0.1.0:references/cancellation_template.md\n\n# Cancellation Email Template Reference\n\nSubscription Slayer generates ready-to-send cancellation emails. This document explains the template structure and how to customise it.\n\n## Standard Template\n\n```\nTo: support@{company}.com\nSubject: Cancellation Request — {name} Subscription (Account #[YOUR ACCOUNT ID])\n\nDear {Company} Customer Support,\n\nI am writing to formally request the cancellation of my {name} subscription,\neffective immediately.\n\nAccount details:\n  - Service: {name}\n  - Account email: [YOUR EMAIL]\n  - Account/Member ID: [YOUR ACCOUNT ID]\n  - Name on account: [YOUR NAME]\n\nPlease process this cancellation and confirm via email that:\n1. My subscription has been cancelled and will not be renewed.\n2. No further charges will be made to my payment method.\n3. Any applicable pro-rated refund for the unused portion of my billing\n   cycle is processed.\n\nIf you require any additional information to process this request, please\ncontact me at [YOUR EMAIL].\n\nI expect written confirmation of the cancellation within 5 business days,\nas required by consumer protection regulations.\n\nSincerely,\n[YOUR NAME]\n[YOUR EMAIL]\n```\n\n## Placeholders to Replace\n\nBefore sending, replace these placeholders:\n\n| Placeholder | Replace with |\n|-------------|-------------|\n| `[YOUR EMAIL]` | Your account email address |\n| `[YOUR ACCOUNT ID]` | Your subscription/account/member ID |\n| `[YOUR NAME]` | Your full name as it appears on the account |\n\n## Email Address Inference\n\nThe script infers a support email from the subscription name:\n- Company name is extracted as the first word\n- Domain is generated as `{company.lower()}.com`\n- Email is `support@{domain}`\n\nThis is a best guess. **Always verify the correct email address** by checking:\n1. The company's website \"Contact Us\" page\n2. Your account settings or billing page\n3. Previous correspondence from the company\n\n## Customising Templates\n\n### Adding company-specific details\n\nSome companies have specific cancellation requirements. You can modify the template in `scripts/subscription_tracker.py`:\n\n```python\nEMAIL_TEMPLATE = \"\"\"To: {email}\nSubject: {subject}\n\nDear {company} Cancelations Team,\n...\n\"\"\"\n```\n\n### Different tones\n\nFor a more assertive tone:\n```\nI am exercising my right to cancel under the terms of service.\nPlease confirm within 3 business days.\n```\n\nFor a friendlier tone:\n```\nI've enjoyed using {name} but need to cancel for budget reasons.\nCould you please process this at your earliest convenience?\n```\n\n## Legal Considerations\n\nThe template references \"consumer protection regulations\" which generally require companies to:\n- Process cancellations within a reasonable timeframe (typically 3–5 business days)\n- Provide written confirmation\n- Not charge for services after cancellation date\n- Process any applicable refunds\n\nSpecific regulations vary by jurisdiction:\n- **US**: FTC's \"Click to Cancel\" rule (effective 2024) requires easy cancellation\n- **EU**: Consumer Rights Directive mandates 14-day cancellation rights\n- **UK**: Consumer Contracts Regulations provide similar protections\n- **Australia**: Australian Consumer Law provides cancellation rights\n\n## After Sending\n\n1. **Keep the sent email** as proof of your cancellation request.\n2. **Note the date** you sent it — start counting the 5-day window.\n3. **Check your next billing statement** to confirm no charges were made.\n4. **If no response within 5 days**: Follow up, then dispute the charge with your bank/credit card if needed.\n5. **If still being charged**: File a complaint with your local consumer protection agency.\n\nFile v0.1.0:references/waste_detection.md\n\n# Waste Detection Methodology\n\nSubscription Slayer uses a multi-factor scoring system to estimate the probability that a subscription is wasting your money. Each subscription receives a **waste score from 0–100**.\n\n## Scoring Factors\n\n### 1. Days Since Last Use — 40 points max (40%)\n\nThe strongest single signal. If you haven't used a service recently, you're likely paying for nothing.\n\n| Days Unused | Points |\n|-------------|--------|\n| 180+ (6 months) | 40 |\n| 90–179 (3–6 months) | 35 |\n| 60–89 (2–3 months) | 28 |\n| 30–59 (1–2 months) | 20 |\n| 14–29 (2 weeks–1 month) | 10 |\n| 7–13 (1–2 weeks) | 5 |\n| 0–6 (this week) | 0 |\n| No data available | 5 (uncertainty penalty) |\n\n### 2. Cost vs. Usage Efficiency — 25 points max (25%)\n\nCombines cost and usage recency. An expensive service you haven't used in a month is a bigger waste than a cheap one.\n\n| Condition | Points |\n|-----------|--------|\n| 30+ days unused AND monthly cost ≥ $10 | 25 |\n| 30+ days unused AND monthly cost ≥ $5 | 18 |\n| 30+ days unused (any cost) | 10 |\n| 14+ days unused AND monthly cost ≥ $15 | 15 |\n| No usage data AND monthly cost ≥ $20 | 15 |\n| No usage data AND monthly cost ≥ $10 | 8 |\n\n### 3. Subscription Age — 15 points max (15%)\n\nOld subscriptions are more likely to be forgotten. The \"set it and forget it\" problem.\n\n| Age | Points |\n|-----|--------|\n| 730+ days (2+ years) | 15 |\n| 365–729 days (1–2 years) | 10 |\n| 180–364 days (6–12 months) | 5 |\n| < 180 days | 0 |\n\n### 4. Auto-Renew Status — 10 points max (10%)\n\nAuto-renewing subscriptions silently drain money without any action required from you.\n\n| Auto-Renew | Points |\n|------------|--------|\n| Yes | 10 |\n| No | 0 |\n\n### 5. Category Tendency — 10 points max (10%)\n\nSome categories are statistically more likely to be forgotten or underutilised.\n\n**High-waste categories (10 pts):** news, magazine, newsletter, cloud storage, backup, app, software\n\n**Medium-waste categories (5 pts):** music, entertainment, streaming, video, fitness, gym, health, productivity, education\n\n**Low-waste categories (0 pts):** utilities, insurance, phone, internet\n\n## Score Interpretation\n\n| Score | Label | Meaning |\n|-------|-------|---------|\n| 80–100 | 🔴 Critical | Almost certainly wasting money. Cancel immediately. |\n| 60–79 | 🟠 High | Likely unused. Strong cancellation candidate. |\n| 40–59 | 🟡 Moderate | Possibly underutilised. Review usage. |\n| 0–39 | 🟢 Low | Probably in active use. Keep monitoring. |\n\n## How to Improve Accuracy\n\n### Provide `last_used` dates\nThe waste detection is dramatically more accurate when you provide the date you last used each service. Even approximate dates help (\"about 3 months ago\" → estimate the date).\n\n### Use accurate categories\nThe category field affects scoring. Be specific: \"streaming\" is better than \"entertainment\", \"cloud storage\" is better than \"software\".\n\n### Include `start_date`\nSubscription age is a meaningful factor. If you don't know the exact start date, estimate.\n\n## Limitations\n\n- **No bank integration**: The tool can't automatically detect subscriptions from your bank statements. You provide the data.\n- **Static analysis**: Scores are computed at analysis time. For ongoing monitoring, re-run periodically.\n- **Subjective factors**: The scoring weights are heuristic, not derived from your personal usage data. Adjust thresholds as needed.\n- **No usage telemetry**: The tool relies on self-reported `last_used` dates. It can't check actual usage automatically.\n\nFile v0.1.0:skill-card.md\n\n## Description:\n\nTracks subscriptions, calculates monthly and annual costs, detects likely-unused services based on last-used patterns, and generates ready-to-send cancellation email templates.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[voronindenis5](https://clawhub.ai/user/voronindenis5)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nExternal users and agents use this skill to audit recurring subscription spending, rank subscriptions by likely waste, and draft cancellation emails for subscriptions the user chooses to review or cancel.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Subscription JSON can contain financial and account-related information.\n\nMitigation: Keep subscription files local and avoid sharing them with untrusted systems or recipients.\n\nRisk: Generated cancellation emails may include guessed support addresses and account placeholders.\n\nMitigation: Verify the recipient address and replace all placeholders with correct account details before sending.\n\nRisk: Waste scores are heuristic and depend on user-provided last-used dates, categories, and subscription data.\n\nMitigation: Review recommendations against actual usage and billing records before cancelling a service.\n\n## Reference(s):\n\n- [Waste Detection Methodology](references/waste_detection.md)\n- [Cancellation Email Template Reference](references/cancellation_template.md)\n- [Server-resolved GitHub Source](https://github.com/voronindenis5/subscription-slayer)\n- [ClawHub Skill Listing](https://clawhub.ai/voronindenis5/skills/subscription-slayer)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, shell commands, guidance]\n\n**Output Format:** [Plain text or JSON analysis, plus markdown-style cancellation email drafts and command examples.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs are based on user-provided subscription JSON and local heuristic scoring; generated cancellation emails include placeholders that must be reviewed before use.]\n\n## Skill Version(s):\n\n0.1.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.0:LICENSE\n\nMIT License\n\nCopyright (c) 2026 Denis Voronin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","readmeExcerpt":"Skill: subscription-slayer Owner: voronindenis5 Summary: Tracks subscriptions, calculates monthly and annual costs, detects likely-unused services based on last-used patterns, and generates ready-to-send cancellation email templates. Helps users stop wasting money on forgotten subscriptions. Tags: latest:0.1.2 Version history: v0.1.2 | 2026-08-14T06:19:28.441Z | auto - Removed the file skill-card.md. - No other chang","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"entertainment\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancel\"\n  },\n  {\n    \"name\": \"Adobe Creative Cloud\",\n    \"cost\": 54.99,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"software\",\n    \"last_used\": \"2023-06-01\",\n    \"start_date\": \"2021-01-15\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://account.adobe.com\"\n  }\n]"},{"language":"bash","snippet":"# Analyze subscriptions\npython3 scripts/subscription_tracker.py analyze subs.json\n\n# JSON output\npython3 scripts/subscription_tracker.py analyze subs.json --json\n\n# Generate cancellation emails for high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --threshold 70\n\n# Show only subscriptions above a waste threshold\npython3 scripts/subscription_tracker.py analyze subs.json --threshold 50\n\n# Run demo with sample data\npython3 scripts/subscription_tracker.py demo"},{"language":"bash","snippet":"# Analyze your subscriptions\npython3 scripts/subscription_tracker.py analyze my_subs.json\n\n# Get JSON output\npython3 scripts/subscription_tracker.py analyze my_subs.json --json\n\n# Generate a cancellation email for a specific subscription\npython3 scripts/subscription_tracker.py cancel my_subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel my_subs.json --threshold 70\n\n# Run the demo with sample data\npython3 scripts/subscription_tracker.py demo"},{"language":"json","snippet":"[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"streaming\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancelplan\"\n  }\n]"},{"language":"text","snippet":"============================================================\n  ⚔️  SUBSCRIPTION SLAYER\n============================================================\n\n  Total monthly cost:   $276.42/mo\n  Total annual cost:    $3,317.04/yr\n  Active subscriptions: 10\n\n  💸 Potential annual savings: $1,559.76\n     (by cancelling 5 high-waste subscriptions)\n\n  📊 SUBSCRIPTIONS RANKED BY WASTE\n  --------------------------------------------------------\n   1. Adobe Creative Cloud\n      🟠 High — likely unused\n      Waste: [████████████████░░░░] 80/100\n      $54.99/mo  ($659.88/yr)  Category: software  426d unused\n\n  ...\n\n  ⚔️  RECOMMENDATION: Cancel these now\n  --------------------------------------------------------\n     • Adobe Creative Cloud  —  save $659.88/yr\n     • NYT Digital           —  save $204.00/yr\n     • Dropbox Plus          —  save $143.88/yr"},{"language":"text","snippet":"To: support@{company}.com\nSubject: Cancellation Request — {name} Subscription (Account #[YOUR ACCOUNT ID])\n\nDear {Company} Customer Support,\n\nI am writing to formally request the cancellation of my {name} subscription,\neffective immediately.\n\nAccount details:\n  - Service: {name}\n  - Account email: [YOUR EMAIL]\n  - Account/Member ID: [YOUR ACCOUNT ID]\n  - Name on account: [YOUR NAME]\n\nPlease process this cancellation and confirm via email that:\n1. My subscription has been cancelled and will not be renewed.\n2. No further charges will be made to my payment method.\n3. Any applicable pro-rated refund for the unused portion of my billing\n   cycle is processed.\n\nIf you require any additional information to process this request, please\ncontact me at [YOUR EMAIL].\n\nI expect written confirmation of the cancellation within 5 business days,\nas required by consumer protection regulations.\n\nSincerely,\n[YOUR NAME]\n[YOUR EMAIL]"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: subscription-slayer\ndescription: >\n  Tracks subscriptions, calculates monthly and annual costs, detects likely-unused\n  services based on last-used patterns, and generates ready-to-send cancellation\n  email templates. Helps users stop wasting money on forgotten subscriptions.\nversion: 1.0.0\nauthor: Denis Voronin\nlicense: MIT\ntags:\n  - subscriptions\n  - finance\n  - budgeting\n  - money-saving\n  - cancellation\n---\n\n# Subscription Slayer\n\nFind and slay the subscriptions draining your wallet every month.\n\n## When to use\n\n- The user wants to audit their recurring subscriptions.\n- The user wants to know how much they spend monthly/yearly on subscriptions.\n- The user suspects they're paying for services they don't use.\n- The user wants to cancel a subscription and needs a cancellation email.\n\n## How it works\n\n1. Receive a list of subscriptions as JSON (see format below).\n2. Run `scripts/subscription_tracker.py analyze subs.json` to get:\n   - Monthly and annual cost totals\n   - Each subscription ranked by **waste probability** (how likely it's unused)\n   - Ready-to-send cancellation email templates for high-waste subscriptions\n3. The agent presents the analysis and offers to generate/send cancellation emails.\n\n## Subscription JSON Format\n\n```json\n[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"entertainment\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancel\"\n  },\n  {\n    \"name\": \"Adobe Creative Cloud\",\n    \"cost\": 54.99,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"software\",\n    \"last_used\": \"2023-06-01\",\n    \"start_date\": \"2021-01-15\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://account.adobe.com\"\n  }\n]\n```\n\n### Fields\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | ✅ | Subscription name |\n| `cost` | ✅ | Cost per billing cycle |\n| `billing_cycle` | ✅ | \"monthly\", \"yearly\", \"weekly\", \"quarterly\" |\n| `category` | ❌ | Entertainment, software, news, fitness, etc. |\n| `last_used` | ❌ | ISO date of last use (for waste detection) |\n| `start_date` | ❌ | When the subscription started |\n| `auto_renew` | ❌ | Whether it auto-renews (default true) |\n| `cancel_url` | ❌ | URL to manage/cancel the subscription |\n| `notes` | ❌ | Free text notes |\n\n## Usage\n\n```bash\n# Analyze subscriptions\npython3 scripts/subscription_tracker.py analyze subs.json\n\n# JSON output\npython3 scripts/subscription_tracker.py analyze subs.json --json\n\n# Generate cancellation emails for high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel subs.json --threshold 70\n\n# Show only subscriptions above a waste threshold\npython3 scripts/subscription_tracker.py analyze subs.json --threshold 50\n\n# Run demo with sample data\npython3 scripts/subscription_tracker.py d"},{"path":"README.md","content":"# Subscription Slayer ⚔️\n\nFind and slay the subscriptions draining your wallet every month.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## The Problem\n\nPeople forget about subscriptions and waste money on unused services. The average person has 10+ subscriptions and underestimates their total spend by 2.5×. Auto-renewing charges silently drain accounts month after month.\n\n## The Solution\n\n**Subscription Slayer** analyzes your subscriptions to:\n1. **Calculate** exact monthly and annual costs\n2. **Detect** which subscriptions are likely unused (waste detection scoring)\n3. **Rank** everything by waste probability\n4. **Generate** ready-to-send cancellation email templates\n\n## Quick Start\n\n```bash\n# Analyze your subscriptions\npython3 scripts/subscription_tracker.py analyze my_subs.json\n\n# Get JSON output\npython3 scripts/subscription_tracker.py analyze my_subs.json --json\n\n# Generate a cancellation email for a specific subscription\npython3 scripts/subscription_tracker.py cancel my_subs.json --name \"Netflix\"\n\n# Generate cancellation emails for all high-waste subscriptions\npython3 scripts/subscription_tracker.py cancel my_subs.json --threshold 70\n\n# Run the demo with sample data\npython3 scripts/subscription_tracker.py demo\n```\n\n## Subscription JSON Format\n\nCreate a JSON file with your subscriptions:\n\n```json\n[\n  {\n    \"name\": \"Netflix\",\n    \"cost\": 15.49,\n    \"billing_cycle\": \"monthly\",\n    \"category\": \"streaming\",\n    \"last_used\": \"2024-01-15\",\n    \"start_date\": \"2022-03-01\",\n    \"auto_renew\": true,\n    \"cancel_url\": \"https://www.netflix.com/cancelplan\"\n  }\n]\n```\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | ✅ | Subscription name |\n| `cost` | ✅ | Cost per billing cycle |\n| `billing_cycle` | ✅ | monthly, yearly, weekly, quarterly |\n| `category` | ❌ | streaming, software, fitness, etc. |\n| `last_used` | ❌ | ISO date of last use |\n| `start_date` | ❌ | When subscription started |\n| `auto_renew` | ❌ | Auto-renew status (default true) |\n| `cancel_url` | ❌ | URL to manage subscription |\n\n## Waste Detection\n\nThe waste score (0–100) uses 5 factors:\n\n| Factor | Weight | What it measures |\n|--------|--------|------------------|\n| Days since last use | 40% | How long since you used the service |\n| Cost vs. usage | 25% | Expensive + unused = high waste |\n| Subscription age | 15% | Old subs are easily forgotten |\n| Auto-renew status | 10% | Silent renewals drain money |\n| Category tendency | 10% | Some categories are more forgettable |\n\n**Score interpretation:**\n- 🔴 **80–100**: Critical — cancel now\n- 🟠 **60–79**: High — likely unused\n- 🟡 **40–59**: Moderate — review\n- 🟢 **0–39**: Low — probably in use\n\nSee `references/waste_detection.md` for the full methodology.\n\n## Example Output\n\n```\n============================================================\n  ⚔️  SUBSCRIPTION SLAYER\n============================================================\n\n  Total monthly cost:   $276."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn75wwn4x6djaf28jbykeamazd81gtdp\",\n  \"slug\": \"subscription-slayer\",\n  \"version\": \"0.1.2\",\n  \"publishedAt\": 1786688368441\n}"},{"path":"references/cancellation_template.md","content":"# Cancellation Email Template Reference\n\nSubscription Slayer generates ready-to-send cancellation emails. This document explains the template structure and how to customise it.\n\n## Standard Template\n\n```\nTo: support@{company}.com\nSubject: Cancellation Request — {name} Subscription (Account #[YOUR ACCOUNT ID])\n\nDear {Company} Customer Support,\n\nI am writing to formally request the cancellation of my {name} subscription,\neffective immediately.\n\nAccount details:\n  - Service: {name}\n  - Account email: [YOUR EMAIL]\n  - Account/Member ID: [YOUR ACCOUNT ID]\n  - Name on account: [YOUR NAME]\n\nPlease process this cancellation and confirm via email that:\n1. My subscription has been cancelled and will not be renewed.\n2. No further charges will be made to my payment method.\n3. Any applicable pro-rated refund for the unused portion of my billing\n   cycle is processed.\n\nIf you require any additional information to process this request, please\ncontact me at [YOUR EMAIL].\n\nI expect written confirmation of the cancellation within 5 business days,\nas required by consumer protection regulations.\n\nSincerely,\n[YOUR NAME]\n[YOUR EMAIL]\n```\n\n## Placeholders to Replace\n\nBefore sending, replace these placeholders:\n\n| Placeholder | Replace with |\n|-------------|-------------|\n| `[YOUR EMAIL]` | Your account email address |\n| `[YOUR ACCOUNT ID]` | Your subscription/account/member ID |\n| `[YOUR NAME]` | Your full name as it appears on the account |\n\n## Email Address Inference\n\nThe script infers a support email from the subscription name:\n- Company name is extracted as the first word\n- Domain is generated as `{company.lower()}.com`\n- Email is `support@{domain}`\n\nThis is a best guess. **Always verify the correct email address** by checking:\n1. The company's website \"Contact Us\" page\n2. Your account settings or billing page\n3. Previous correspondence from the company\n\n## Customising Templates\n\n### Adding company-specific details\n\nSome companies have specific cancellation requirements. You can modify the template in `scripts/subscription_tracker.py`:\n\n```python\nEMAIL_TEMPLATE = \"\"\"To: {email}\nSubject: {subject}\n\nDear {company} Cancelations Team,\n...\n\"\"\"\n```\n\n### Different tones\n\nFor a more assertive tone:\n```\nI am exercising my right to cancel under the terms of service.\nPlease confirm within 3 business days.\n```\n\nFor a friendlier tone:\n```\nI've enjoyed using {name} but need to cancel for budget reasons.\nCould you please process this at your earliest convenience?\n```\n\n## Legal Considerations\n\nThe template references \"consumer protection regulations\" which generally require companies to:\n- Process cancellations within a reasonable timeframe (typically 3–5 business days)\n- Provide written confirmation\n- Not charge for services after cancellation date\n- Process any applicable refunds\n\nSpecific regulations vary by jurisdiction:\n- **US**: FTC's \"Click to Cancel\" rule (effective 2024) requires easy cancellation\n- **EU**: Consumer Rights Directive mandates 14-day cancellation rights\n- *"},{"path":"references/waste_detection.md","content":"# Waste Detection Methodology\n\nSubscription Slayer uses a multi-factor scoring system to estimate the probability that a subscription is wasting your money. Each subscription receives a **waste score from 0–100**.\n\n## Scoring Factors\n\n### 1. Days Since Last Use — 40 points max (40%)\n\nThe strongest single signal. If you haven't used a service recently, you're likely paying for nothing.\n\n| Days Unused | Points |\n|-------------|--------|\n| 180+ (6 months) | 40 |\n| 90–179 (3–6 months) | 35 |\n| 60–89 (2–3 months) | 28 |\n| 30–59 (1–2 months) | 20 |\n| 14–29 (2 weeks–1 month) | 10 |\n| 7–13 (1–2 weeks) | 5 |\n| 0–6 (this week) | 0 |\n| No data available | 5 (uncertainty penalty) |\n\n### 2. Cost vs. Usage Efficiency — 25 points max (25%)\n\nCombines cost and usage recency. An expensive service you haven't used in a month is a bigger waste than a cheap one.\n\n| Condition | Points |\n|-----------|--------|\n| 30+ days unused AND monthly cost ≥ $10 | 25 |\n| 30+ days unused AND monthly cost ≥ $5 | 18 |\n| 30+ days unused (any cost) | 10 |\n| 14+ days unused AND monthly cost ≥ $15 | 15 |\n| No usage data AND monthly cost ≥ $20 | 15 |\n| No usage data AND monthly cost ≥ $10 | 8 |\n\n### 3. Subscription Age — 15 points max (15%)\n\nOld subscriptions are more likely to be forgotten. The \"set it and forget it\" problem.\n\n| Age | Points |\n|-----|--------|\n| 730+ days (2+ years) | 15 |\n| 365–729 days (1–2 years) | 10 |\n| 180–364 days (6–12 months) | 5 |\n| < 180 days | 0 |\n\n### 4. Auto-Renew Status — 10 points max (10%)\n\nAuto-renewing subscriptions silently drain money without any action required from you.\n\n| Auto-Renew | Points |\n|------------|--------|\n| Yes | 10 |\n| No | 0 |\n\n### 5. Category Tendency — 10 points max (10%)\n\nSome categories are statistically more likely to be forgotten or underutilised.\n\n**High-waste categories (10 pts):** news, magazine, newsletter, cloud storage, backup, app, software\n\n**Medium-waste categories (5 pts):** music, entertainment, streaming, video, fitness, gym, health, productivity, education\n\n**Low-waste categories (0 pts):** utilities, insurance, phone, internet\n\n## Score Interpretation\n\n| Score | Label | Meaning |\n|-------|-------|---------|\n| 80–100 | 🔴 Critical | Almost certainly wasting money. Cancel immediately. |\n| 60–79 | 🟠 High | Likely unused. Strong cancellation candidate. |\n| 40–59 | 🟡 Moderate | Possibly underutilised. Review usage. |\n| 0–39 | 🟢 Low | Probably in active use. Keep monitoring. |\n\n## How to Improve Accuracy\n\n### Provide `last_used` dates\nThe waste detection is dramatically more accurate when you provide the date you last used each service. Even approximate dates help (\"about 3 months ago\" → estimate the date).\n\n### Use accurate categories\nThe category field affects scoring. Be specific: \"streaming\" is better than \"entertainment\", \"cloud storage\" is better than \"software\".\n\n### Include `start_date`\nSubscription age is a meaningful factor. If you don't know the exact start date, estimate.\n\n## Limitations\n\n- **No bank inte"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Tracks subscriptions, calculates monthly and annual costs, detects likely-unused services based on last-used patterns, and generates ready-to-send cancellation email templates. Helps users stop wasting money on forgotten subscriptions. Skill: subscription-slayer Owner: voronindenis5 Summary: Tracks subscriptions, calculates monthly and annual costs, detects likely-unused services based on last-used patterns, and generates ready-to-send cancellation email templates. Helps users stop wasting money on forgotten subscriptions. Tags: latest:0.1.2 Version history: v0.1.2 | 2026-08-14T06:19:28.441Z | auto - Removed the file skill-card.md. - No other chang","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1436,"uniquenessScore":48,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T12:42:10.847Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T12:42:10.847Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:14:57.959Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}