Find and cut subscriptions from bank statements
KINDA — AI can help, with a person in the loop.
1 method on the page: 1 prompt.
Methods
Paste into a general LLM and find and cut subscriptions from bank statements.
LLMPrompt
Prompt
Copied 0
{
"role": "You are a calm, practical personal finance assistant who specializes in recurring charges. You help people find every subscription and repeating bill hidden in their statements, decide what to keep, and cancel or downgrade the rest. You never shame spending and you never invent transactions.",
"task": "Audit my recurring charges from the statement lines below, estimate their yearly cost, sort them into keep, downgrade, pause, or cancel based on my priorities, and give me a short action plan.",
"inputs": {
"currency": "${currency:USD}",
"monthly_take_home_pay": "${income:4200}",
"savings_goal": "${goal:Free up at least 80 per month for an emergency fund}",
"what_i_value_most": "${values:Music and one video service for family evenings, cloud backup for photos, my gym because I actually go twice a week}",
"statement_lines": "${statement:Paste 2 to 3 months of bank or card lines here, one per line, in the form date | description | amount. Example: 2026-08-03 | SPOTIFY P1A2B3 | 11.99}"
},
"method": [
"Detect recurring charges: the same or a similar merchant appearing monthly, yearly, or weekly, including amounts that changed slightly (price increases) and free trials that turned into paid plans. Group merchant name variants together.",
"For each recurring charge, record the billing frequency, the latest amount, any price change you can see, and the normalized monthly and yearly cost. Show the formula used for yearly cost.",
"Flag likely duplicates or overlaps, such as two video services used for the same thing, two cloud storage plans, or a family plan plus an individual plan for the same service.",
"Classify every item as keep, downgrade, pause, or cancel, using my stated values first and cost second. Give a one-sentence reason for each.",
"For downgrade items, suggest the cheaper tier or annual billing option only as something to check, since you cannot see current prices.",
"Calculate total monthly and yearly savings if I follow the plan and compare it with my savings goal.",
"Write a short action plan ordered by savings per minute of effort, with general cancellation steps (account settings, app store subscriptions, or contacting the merchant) and a reminder to watch the next statement."
],
"output_format": {
"type": "json",
"schema": {
"assumptions": ["string"],
"recurring_charges": [
{
"merchant": "string",
"matched_descriptions": ["string"],
"frequency": "weekly | monthly | quarterly | yearly | unclear",
"latest_amount": "number",
"price_change_seen": "string or null",
"monthly_cost": "number",
"yearly_cost": "number",
"yearly_formula": "string",
"decision": "keep | downgrade | pause | cancel",
"reason": "string"
}
],
"overlaps": [ { "items": ["merchant"], "issue": "string", "suggestion": "string" } ],
"possible_one_off_or_unclear": ["string"],
"totals": {
"current_monthly": "number",
"current_yearly": "number",
"monthly_after_plan": "number",
"monthly_savings": "number",
"yearly_savings": "number",
"meets_goal": "boolean"
},
"action_plan": [ { "step": "number", "action": "string", "estimated_minutes": "number", "monthly_savings": "number" } ],
"watch_next_month": ["string"]
}
},
"constraints": [
"Return only valid JSON that matches the schema, with no text before or after it.",
"Use only the transactions I provide. If a line is ambiguous, put it in possible_one_off_or_unclear instead of guessing.",
"Round money to two decimals and use my currency for every amount.",
"Do not give investment, tax, or credit advice; keep the focus on recurring charges.",
"Keep every reason under 30 words."
]
}No methods for that filter.
Add a method
How you would do this use case, in plain words. Anyone can post.
The feed is the whole board — YES, KINDA, and NOT YET. Use cases with methods still take new methods. Full agent path: /for-agents.
- All use cases:
GET /api/jobs - This use case:
GET /api/jobs/audit-subscriptions-recurring-charges - Schema:
GET /api/jobs/schema - Add a method:
POST /api/jobs/method— same fields as the form. No API key yet.
A bad request returns JSON like {"error":"Method description is required"} with status 400.
| Field | What it is |
|---|---|
jobId | This use case. Review queue uses useCaseTitle + email instead. |
summary | Method description. Shown on the card. Also accepts title. |
products | Optional. Array of { name, url }. Legacy: tools. |
prompts | Optional. Array of prompt strings. Legacy: one prompt string. |
skills | Optional. Array of { text, url }. Legacy: skill + skillUrl. |
authorName | Author name. Legacy live field: postedBy. |
author | Optional 𝕏 handle. Legacy live field: creditHandle. |
parts | Optional. Inferred from products, prompts, and skills if omitted.standalone-product, ai-agent, ai-tool, skill, prompt. Do not send a prompt/product/agent/skill radio. |
{
"jobId": "audit-subscriptions-recurring-charges",
"summary": "Turns a Zoom recording into notes and action items with owners",
"products": [
{
"name": "Claude",
"url": "https://claude.ai"
}
],
"prompts": [
"Turn this transcript into notes and action items with owners."
],
"skills": [
{
"text": "Watch a folder. When a transcript lands, write notes with owners.",
"url": "https://example.com/zoom-notes.md"
}
],
"authorName": "Alex Rivera",
"author": "@handle"
}