← Back to Skills Marketplace
sabbiramin113008

Bkash-Nagad-Tracker

by sabbiramin113008 · GitHub ↗ · v1.0.0 · MIT-0
linuxdarwinwin32 ✓ Security Clean
129
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install bkash-nagad-tracker
Description
Log bKash, Nagad, Rocket, and cash transactions conversationally in Bengali or English. Get weekly spending digests every Sunday. Built for Bangladesh.
README (SKILL.md)

bKash / Nagad Transaction Tracker 🇧🇩

Track your daily spending across bKash, Nagad, Rocket, and cash — in Bengali or English — and get an automatic weekly digest every Sunday morning.


When to activate this skill

Activate when the user says anything that contains:

Transaction logging signals:

  • Any amount in taka, tk, ৳, or BDT
  • Words: bKash, Nagad, Rocket, cash, paid, bought, sent, spent, খরচ, পাঠালাম, কিনলাম, দিলাম
  • "log", "track", "record" + any amount
  • Bengali amounts: "পাঁচশো টাকা", "এক হাজার"

Summary signals:

  • "summary", "digest", "report", "weekly"
  • "এই সপ্তাহে কত খরচ", "spending this week"
  • "show my transactions", "কত টাকা গেলো"

Delete/edit signals:

  • "delete last", "undo", "শেষেরটা মুছো"
  • "edit transaction", "correct last entry"

How to log a transaction

Step 1 — Parse the message

Call the parser to extract structured data:

python3 {baseDir}/parser.py "{user_message}"

This returns JSON:

{
  "amount": 500,
  "method": "bkash",
  "category": "food",
  "note": "lunch",
  "confidence": "high"
}

If amount is null → ask the user: "কত টাকা? / How much?"

If confidence is "low" → confirm before saving: "Did you mean: 500৳ for food via bKash? (yes/no)"

Step 2 — Save the transaction

python3 {baseDir}/logger.py log \
  --amount {amount} \
  --method {method} \
  --category {category} \
  --note "{note}"

Step 3 — Confirm to user

Reply in the same language the user wrote in:

English: "✅ Logged: {amount}৳ — {category} ({method_emoji})"

Bengali: "✅ লগ হয়েছে: {amount}৳ — {category} ({method_emoji})"

Method emojis:

  • bKash → 🔴
  • Nagad → 🟠
  • Rocket → 🟣
  • Cash → 💵

How to generate a summary

On-demand summary

When user asks for summary/digest:

python3 {baseDir}/summarizer.py weekly

Format the output as a clean digest message and send.

Automatic weekly digest (Heartbeat)

Every Sunday at 9:00 AM local time:

  1. Run python3 {baseDir}/summarizer.py weekly
  2. Send digest to user automatically
  3. No user prompt needed

How to delete/undo last transaction

python3 {baseDir}/logger.py undo

Reply: "✅ Last transaction deleted."


How to show recent transactions

When user asks "what did I log today" or "recent":

python3 {baseDir}/logger.py recent --n 5

Format as a simple numbered list.


Category mapping reference

Use this to classify ambiguous messages:

Keywords Category
food, lunch, dinner, breakfast, restaurant, খাবার, রেস্তোরাঁ food
rickshaw, CNG, Uber, bus, train, ভাড়া, যাতায়াত transport
rent, বাড়িভাড়া rent
electricity, gas, water, internet, bill, বিল utilities
mum, dad, family, bhai, apa, মা, বাবা, ভাই, আপা, sent to remittance
medicine, doctor, hospital, ডাক্তার medical
school, tuition, books, পড়াশোনা education
clothes, shoes, shopping, কেনাকাটা shopping
everything else other

Example conversations

English input:

User:  "bkash 450 lunch"
Agent: ✅ Logged: 450৳ — Food 🔴

User:  "sent 5000 to mum nagad"
Agent: ✅ Logged: 5000৳ — Remittance 🟠

User:  "show my spending this week"
Agent: [weekly digest]

Bengali input:

User:  "৳৮৫০ বিকাশে বাজার করলাম"
Agent: ✅ লগ হয়েছে: 850৳ — Shopping 🔴

User:  "রিকশায় ৮০ টাকা নগদ"
Agent: ✅ লগ হয়েছে: 80৳ — Transport 💵

User:  "এই সপ্তাহে কত খরচ হলো"
Agent: [সাপ্তাহিক সারসংক্ষেপ]

Mixed input:

User:  "electricity bill 1200 bkash dilam"
Agent: ✅ Logged: 1200৳ — Utilities 🔴

Error handling

  • Python not found: Tell user to install Python 3.10+
  • Parse fails: Ask user to rephrase: "Could you say that again with the amount? e.g. '500 taka food bKash'"
  • Storage error: Log error, tell user to try again
  • No transactions this week: Reply "No transactions logged yet this week. Start by sending me your first expense!"
Usage Guidance
This skill appears to do what it says: it parses messages, stores transactions locally, and uses Anthropic (Claude) to handle complex parsing and to generate friendly weekly digests. Before installing, consider: - Privacy: messages and transaction contents will be sent to Anthropic whenever the fast regex parser doesn't confidently parse them and whenever the summarizer uses Claude. If you don't want any third‑party NLP calls, disable those calls (the scripts accept a no-claude option for summarizer) or avoid setting ANTHROPIC_API_KEY. - Operational note: the Python 'anthropic' library is imported but not declared in the SKILL.md requirements or installed by the skill. Ensure your environment has that package (pip install anthropic) or the parsing/summarizing features will fail. - Local data: transactions are stored locally at ~/.openclaw/bkash-nagad-tracker/transactions.json by default; you can change this with BKASH_DATA_DIR if you want a different storage location or to sandbox it. - Automatic digest: a heartbeat is scheduled to run weekly (Sunday 9:00). If you do not want periodic automatic calls to Anthropic, disable the heartbeat or remove your ANTHROPIC_API_KEY. - If you need stronger guarantees, review the prompts sent to Anthropic (they include the raw user message and some context) and consider whether that is acceptable for your privacy needs. Overall, this looks coherent and not malicious, but review the privacy tradeoffs and install the anthropic dependency before relying on parsing/summarization.
Capability Analysis
Type: OpenClaw Skill Name: bkash-nagad-tracker Version: 1.0.0 The bkash-nagad-tracker skill is a legitimate tool for logging financial transactions in Bangladesh. It stores data locally in a JSON file (~/.openclaw/bkash-nagad-tracker/transactions.json) and uses the Anthropic API solely for natural language parsing and generating weekly spending summaries, as seen in parser.py and summarizer.py. The code is well-structured, follows the stated purpose, and contains no evidence of data exfiltration, malicious execution, or unauthorized persistence.
Capability Assessment
Purpose & Capability
Name/description (Bangladeshi expense tracker) aligns with what's implemented: parsing user messages, local JSON storage, logging, undo, recent, and weekly summaries. The required ANTHROPIC_API_KEY matches the code paths that call Anthropic for parsing and summarization.
Instruction Scope
Runtime instructions tell the agent to invoke local scripts (parser.py, logger.py, summarizer.py) and to run a weekly heartbeat; those scripts only read/write the skill's local transactions.json and call Anthropic for parsing/summaries. Note: user-provided message text and transaction content are sent to Anthropic whenever parse_simple falls back or summarizer uses Claude—this is expected for the stated purpose but is a privacy implication the user should know. Also the SKILL.md says 'Send digest to user automatically' but the code does not implement transport to messaging platforms (that responsibility is left to the agent integration).
Install Mechanism
This is an instruction-only skill with included Python scripts (no installer). That is low-risk. One mismatch: scripts import the 'anthropic' Python package but the SKILL.md/requirements only list python3 (no declaration of the anthropic client dependency or how it will be installed). This is an operational gap (not an obvious security hazard) but will cause runtime failures unless the environment already has the library installed.
Credentials
Only ANTHROPIC_API_KEY is requested, which is proportional to the declared use of Anthropics. However, transaction text and aggregated statistics are transmitted to Anthropic for parsing/summaries (explicit in README and code). If you consider that sensitive, treat this as third‑party data sharing. There are no other unrelated credentials or config paths requested.
Persistence & Privilege
The skill does not request always:true and stores data only under ~/.openclaw/bkash-nagad-tracker by default (overridable with BKASH_DATA_DIR). A heartbeat schedule is declared to run the summarizer weekly — expected behavior for automatic digests.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bkash-nagad-tracker
  3. After installation, invoke the skill by name or use /bkash-nagad-tracker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release — log and track bKash, Nagad, Rocket, and cash transactions conversationally in Bengali or English, with weekly digests. - Log transactions by parsing user messages for amount, method, category, and note. - Get automatic weekly spending digests every Sunday morning. - Request and confirm details when input is unclear or ambiguous. - Support English and Bengali, including mixed-language input. - Show recent transactions or delete the last entry with simple commands. - Robust error handling for parsing issues, missing Python, and empty logs.
Metadata
Slug bkash-nagad-tracker
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Bkash-Nagad-Tracker?

Log bKash, Nagad, Rocket, and cash transactions conversationally in Bengali or English. Get weekly spending digests every Sunday. Built for Bangladesh. It is an AI Agent Skill for Claude Code / OpenClaw, with 129 downloads so far.

How do I install Bkash-Nagad-Tracker?

Run "/install bkash-nagad-tracker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Bkash-Nagad-Tracker free?

Yes, Bkash-Nagad-Tracker is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Bkash-Nagad-Tracker support?

Bkash-Nagad-Tracker is cross-platform and runs anywhere OpenClaw / Claude Code is available (linux, darwin, win32).

Who created Bkash-Nagad-Tracker?

It is built and maintained by sabbiramin113008 (@sabbiramin113008); the current version is v1.0.0.

💬 Comments