- name
- scam-message-decoder
- description
- Decode a suspicious message โ text, email, call transcript, or DM โ against the anatomy of known scam families, with a ๐ด๐ก๐ข read and the safe next move. Use when someone asks is this a scam, decode this suspicious text, my 'bank' just called me, this job offer seems off, or my parent got a weird message. Produces the verdict with the specific scam-family match, the tells quoted from the message itself, the safe-verification path (never the message's own links or numbers), and the if-you-already-clicked triage.
# Scam Message Decoder Skill
Every scam is a costume over the same skeleton: manufactured urgency, an unusual payment or credential request, and a channel you didn't initiate. This skill reads the actual message against the known families โ phishing, smishing, the fake-fraud-alert call, job scams, romance/pig-butchering, invoice fraud, grandparent emergencies, tech-support pop-ups โ quotes the tells from the text itself, and gives the one move that defeats nearly all of them: **verify through a channel you already had, never through anything the message provides.** No shame anywhere in the output; these work on smart people because they're built by professionals to.
## What This Skill Produces
- **The verdict** โ ๐ด scam-pattern match / ๐ก suspicious-verify-first / ๐ข consistent-with-legitimate โ with the family named
- **The tells, quoted** โ each red flag pointed at the message's own words
- **The safe next move** โ the independent-channel verification path, specific to the situation
- **The already-engaged triage** โ clicked/paid/shared? The damage-control ladder, calm and ordered
## Required Inputs
Ask for these if not provided:
- **The message itself** โ pasted verbatim (sender address/number included; the from-field is often the loudest tell)
- **The context** โ do they have a relationship with the claimed sender? Were they expecting anything? (An unexpected "your package is held" and an expected delivery read differently โ barely)
- **Engagement status** โ just received, or already clicked/replied/paid โ the second reroutes the whole output to triage first
## Framework: The Anatomy Rules
1. **The skeleton check:** urgency ("within 24 hours", "your account will be suspended") + unusual payment rail (gift cards, wire, crypto, payment apps to strangers โ no legitimate institution takes gift cards, ever, for anything) + initiated-by-them = ๐ด regardless of how good the costume is. These three carry more weight than any logo.
2. **Family matching sharpens the read:** bank-fraud-alert calls (real banks don't ask you to move money to a "safe account" โ that request IS the scam) ยท delivery/toll smishing (the link domain is the tell) ยท job scams (pay-for-equipment, check-then-refund = the overpayment engine) ยท romance/investment grooming (weeks of warmth, then a platform only they can see) ยท invoice/BEC (the changed-bank-details email โ verify by phone on a known number, always) ยท grandparent/emergency (voice "proof" no longer proves โ say so plainly) ยท tech-support pop-ups (the number on the screen is the scam). Each match brings its specific counter-move.
3. **The universal counter is channel independence:** hang up and call the number on the card ยท type the site yourself ยท contact the "relative" on their known number ยท verify invoices by known-number phone call. The message's links, numbers, and "press 1" exist to keep you inside the scam's channel โ the decode says this explicitly every time.
4. **๐ข exists and gets said:** real messages get flagged by anxious people constantly; a delivery text that matches an expected package, links to the real domain, and asks for nothing is ๐ข โ with the note that typing the tracking number into the carrier's site yourself costs nothing. Crying wolf on everything teaches people to stop checking.
5. **Already-engaged triage, in order:** money sent โ contact the bank/rail's fraud line *now* (speed matters for recalls โ some rails can claw back, some can't; no promises made) ยท credentials shared โ change that password + everywhere it's reused + enable 2FA ยท card numbers โ freeze/reissue ยท remote access granted โ disconnect, run security scan, change passwords from a *different* device ยท then report (the platform, and the national reporting body โ named as a type, jurisdiction-flagged). Shame delays every one of these steps, so the triage opens by saying: professionals fall for professional scams; speed matters more than embarrassment.
## Output Format
# Scam Decode: [message type] โ verdict: [๐ด/๐ก/๐ข]
**[The one-line verdict with the family name: "๐ด โ this matches the fake-bank-fraud-alert pattern."]**
## The Tells
> "[quoted line from the message]"
[What it signals ยท why legitimate senders don't do this]
## The Safe Move
[The independent-channel verification, specific: which number/site, from where]
## If You Already Engaged
[The ordered triage for what was shared, calm, no shame โ speed over embarrassment]
> Scam patterns evolve and reporting channels vary by country โ when money has moved, the bank's fraud line and local reporting body come before everything else. No legitimate organization takes payment in gift cards.
## Quality Checks
- [ ] Every red flag quotes the message's actual words
- [ ] The verdict names a specific family, not generic "be careful"
- [ ] The safe move uses only channels the user already had
- [ ] ๐ข verdicts are given when earned, with the free-verification note
- [ ] The triage is ordered by recoverability speed and opens shame-free
## Anti-Patterns
- [ ] Do not shame the target anywhere โ these are professional operations; embarrassment is part of their design
- [ ] Do not verify through anything the message provided โ links, numbers, "press 1"
- [ ] Do not mark everything ๐ด โ false alarms train people to stop asking
- [ ] Do not promise recovery of sent money โ route to the fraud line fast and honestly
- [ ] Do not reproduce or improve scam text โ this skill decodes attacks, never drafts them
GitHub์์ ๋ณด๊ธฐ