Install
$ agentstack add skill-aashari-ai-agent-skills-mail-banking ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Mail Banking — Bank Notifications and Account Activity
Filter: $ARGUMENTS (default: last 7 days, all banks)
Step 1: Find bank notification emails
DB="$HOME/Library/Mail/V10/MailData/Envelope Index"
SINCE=$(($(date +%s) - 604800)) # 7 days
sqlite3 "$DB" "
SELECT datetime(m.date_received,'unixepoch','localtime') as dt,
s.subject, a.address as sender,
mb.url, m.ROWID
FROM messages m
JOIN subjects s ON m.subject = s.ROWID
JOIN addresses a ON m.sender = a.ROWID
JOIN mailboxes mb ON m.mailbox = mb.ROWID
WHERE m.date_received >= ${SINCE}
AND m.deleted = 0
AND mb.url NOT LIKE '%Spam%' AND mb.url NOT LIKE '%Trash%'
AND (
-- By sender domain
a.address LIKE '%bank%'
OR a.address LIKE '%livin%'
OR a.address LIKE '%bca%'
OR a.address LIKE '%bri%'
OR a.address LIKE '%bni%'
OR a.address LIKE '%mandiri%'
OR a.address LIKE '%seabank%'
OR a.address LIKE '%sinarmas%'
OR a.address LIKE '%wise%'
OR a.address LIKE '%revolut%'
OR a.address LIKE '%n26%'
OR a.address LIKE '%chase%'
OR a.address LIKE '%paypal%'
-- By subject
OR s.subject LIKE '%transfer%'
OR s.subject LIKE '%transaction%'
OR s.subject LIKE '%top-up%'
OR s.subject LIKE '%top up%'
OR s.subject LIKE '%payment successful%'
OR s.subject LIKE '%debit%'
OR s.subject LIKE '%credit%'
OR s.subject LIKE '%transfer successful%'
OR s.subject LIKE '%BI Fast%'
OR s.subject LIKE '%RTGS%'
OR s.subject LIKE '%QRIS%'
)
ORDER BY m.date_received DESC;" 2>/dev/null
Step 2: Filter by bank if specified in $ARGUMENTS
If user specifies "mandiri", "BCA", "BRI", etc., add:
AND (a.address LIKE '%mandiri%' OR s.subject LIKE '%mandiri%')
Step 3: Parse transaction details
python3 ~/.claude/skills/_mail-shared/parser.py ...
Extract from body:
- Transaction type (transfer, payment, top-up, withdrawal)
- Amount + currency
- Recipient name and bank
- Sender/source account (masked card/account number)
- Reference/transaction number
- Date and time
Step 4: Summarize by type
Group: Transfers out | Payments | Top-ups | Incoming | Credit card payments
Output Format
Banking Activity — [PERIOD]
Table per transaction type: | Time | Type | Amount | To/From | Ref No. | |---|---|---|---|---|
Total outflow, total inflow, net. Flag any unusually large single transactions. Note any failed or pending transactions if subject indicates.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: aashari
- Source: aashari/ai-agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.