← Back to Skills Marketplace
chardigio

Copilot Money Mac

by Charlie DiGiovanna · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
654
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install copilot-money-mac
Description
Query and analyze personal finance data from the Copilot Money Mac app. Use when the user asks about their spending, transactions, account balances, budgets,...
README (SKILL.md)

Copilot Money

Query local data from the Copilot Money Mac app to analyze transactions, spending patterns, account balances, investments, and budgets. Data is stored in both SQLite (transactions, balances) and Firestore LevelDB cache (recurring names, budgets, investments).

Database Location

~/Library/Group Containers/group.com.copilot.production/database/CopilotDB.sqlite

Schema

Transactions Table

Primary table for all financial transactions.

Column Type Description
id TEXT Primary key
date DATE Transaction date
name TEXT Merchant/transaction name
original_name TEXT Raw name from bank
amount DOUBLE Transaction amount (positive = expense)
iso_currency_code TEXT Currency (e.g., "USD")
account_id TEXT Linked account reference
category_id TEXT Category reference
pending BOOLEAN Whether transaction is pending
recurring BOOLEAN Whether transaction is recurring
recurring_id TEXT Links to recurring definition (see Firestore)
user_note TEXT User-added notes
user_deleted BOOLEAN Soft-deleted by user

accountDailyBalance Table

Daily balance snapshots per account.

Column Type Description
date TEXT Snapshot date
account_id TEXT Account reference
current_balance DOUBLE Balance on that date
available_balance DOUBLE Available balance

Firestore Cache (LevelDB)

Additional data is stored in Firestore's local LevelDB cache, not in the SQLite database.

Location:

~/Library/Containers/com.copilot.production/Data/Library/Application Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main/*.ldb

Collections

Collection Description
items Linked bank accounts/institutions
investment_prices Historical security prices
investment_performance TWR (time-weighted return) per holding
investment_splits Stock split history
securities Stock/fund metadata
users/.../budgets Budget definitions (amount, category_id)
users/.../recurrings Recurring transaction definitions
amazon Amazon order matching data

Recurring Definitions

Field Description
name Display name (e.g., "Water / Sewer", "Rent")
match_string Transaction name to match (e.g., "CHECK PAID")
plaid_category_id Category ID for the recurring
state "active" or "inactive"

Data Not in SQLite

  • Recurring names - human-readable names like "Rent", "Netflix"
  • Budget amounts - monthly budget per category
  • Investment data - holdings, prices, performance, splits
  • Account/institution names - Chase, Fidelity, etc.
  • Category names - Restaurants, Travel, Groceries, etc.

Extracting Data from LevelDB

List all recurring names:

for f in ~/Library/Containers/com.copilot.production/Data/Library/Application\ Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main/*.ldb; do
  strings "$f" 2>/dev/null | grep -B10 "^state$" | grep -A1 "^name$" | grep -v "^name$" | grep -v "^--$"
done | sort -u | grep -v "^$"

List all collections:

for f in ~/Library/Containers/com.copilot.production/Data/Library/Application\ Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main/*.ldb; do
  strings "$f" 2>/dev/null
done | grep -oE "documents/[a-z_]+/" | sort | uniq -c | sort -rn

Find category names:

for f in ~/Library/Containers/com.copilot.production/Data/Library/Application\ Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main/*.ldb; do
  strings "$f" 2>/dev/null
done | grep -iE "^(groceries|restaurants|shopping|entertainment|travel|transportation|utilities)$" | sort -u

Common Queries

Recent Transactions

SELECT date, name, amount, category_id
FROM Transactions
WHERE user_deleted = 0
ORDER BY date DESC
LIMIT 20;

Monthly Spending Summary

SELECT strftime('%Y-%m', date) as month, SUM(amount) as total
FROM Transactions
WHERE amount > 0 AND user_deleted = 0
GROUP BY month
ORDER BY month DESC;

Spending by Category

SELECT category_id, SUM(amount) as total, COUNT(*) as count
FROM Transactions
WHERE amount > 0 AND user_deleted = 0 AND date >= date('now', '-30 days')
GROUP BY category_id
ORDER BY total DESC;

Search Transactions

SELECT date, name, amount
FROM Transactions
WHERE name LIKE '%SEARCH_TERM%' AND user_deleted = 0
ORDER BY date DESC;

List Recurring Transactions

SELECT DISTINCT name, recurring_id
FROM Transactions
WHERE recurring = 1 AND user_deleted = 0
ORDER BY name;

Usage

Use sqlite3 to query the database:

sqlite3 ~/Library/Group\ Containers/group.com.copilot.production/database/CopilotDB.sqlite "YOUR_QUERY"

For formatted output:

sqlite3 -header -column ~/Library/Group\ Containers/group.com.copilot.production/database/CopilotDB.sqlite "YOUR_QUERY"

Notes

  • Category IDs are opaque strings - group by them for analysis (names are in Firestore cache)
  • Amounts are positive for expenses, negative for income
  • Filter user_deleted = 0 to exclude deleted transactions
  • Both databases are actively used by the app; read-only access is safe
  • SQLite has recurring_id linking to Firestore recurring definitions
  • Use strings on LevelDB files to extract human-readable data from Firestore cache
Usage Guidance
This skill is coherent: it documents where Copilot Money stores local data and how to query it with sqlite3 and strings. However, the files it reads contain highly sensitive personal financial information. Before installing or using it: 1) Only install if you trust the skill source (this package has no homepage and an unknown owner). 2) Prefer user-invoked use (don’t permit unattended/autonomous runs), and review any queries before they run. 3) Be aware the SKILL.md assumes read-only access but doesn't enforce it—avoid running write/update SQL. 4) If you’re uncomfortable giving an agent automated access to local finance files, run the shown sqlite3/strings commands yourself in a terminal instead of granting agent access. 5) Verify the Copilot Money app paths match your system and back up the DB before experimenting. If you want stronger assurance, request a signed/published skill from a known publisher or ask the maintainer to include explicit data-handling and privacy constraints.
Capability Analysis
Type: OpenClaw Skill Name: copilot-money-mac Version: 1.0.0 The skill is designed to query sensitive local financial data from the Copilot Money Mac app using `sqlite3` and `strings`/`grep` on local files. While its stated purpose is benign and it explicitly claims no data exfiltration, the `SKILL.md` provides instructions for the agent to execute arbitrary SQL queries via `sqlite3 ... "YOUR_QUERY"`. This presents a significant prompt-injection vulnerability, as a malicious user prompt could lead the agent to execute unintended SQL commands, potentially accessing or manipulating data beyond the skill's intended scope. The ability to run arbitrary shell commands for file access (`strings`, `grep`) also contributes to the 'suspicious' classification due to the broad permissions granted to the agent, even if currently scoped to local files.
Capability Assessment
Purpose & Capability
Name/description match the runtime instructions: the SKILL.md explicitly targets the Copilot Money SQLite DB and Firestore LevelDB cache in macOS app containers and provides SQL and shell commands to read that data. The requested access (local DB files) is proportional to the stated functionality.
Instruction Scope
Instructions tell the agent to read sensitive local files (~/Library/Group Containers/... and ~/Library/Containers/...), use sqlite3 and strings to extract data, and run SQL queries. This is necessary for the task, but the skill contains no guidance on limiting or redacting sensitive output and assumes queries are read-only; users should treat any execution that reads financial data as highly sensitive.
Install Mechanism
Instruction-only skill with no install spec or external downloads. Nothing is written to disk by the skill itself and no third-party packages are pulled in.
Credentials
The skill requests no environment variables, credentials, or config paths beyond the local app data paths it documents. Those paths are directly relevant to the stated purpose.
Persistence & Privilege
always: false and no special privileges requested. The skill does not request permanent presence or attempt to modify other skills or system-wide settings. Autonomous invocation is allowed by platform default but is not granted here with any extra privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install copilot-money-mac
  3. After installation, invoke the skill by name or use /copilot-money-mac
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
A Claude Code plugin for querying personal finance data from the Copilot Money Mac app.
Metadata
Slug copilot-money-mac
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Copilot Money Mac?

Query and analyze personal finance data from the Copilot Money Mac app. Use when the user asks about their spending, transactions, account balances, budgets,... It is an AI Agent Skill for Claude Code / OpenClaw, with 654 downloads so far.

How do I install Copilot Money Mac?

Run "/install copilot-money-mac" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Copilot Money Mac free?

Yes, Copilot Money Mac is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Copilot Money Mac support?

Copilot Money Mac is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Copilot Money Mac?

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

💬 Comments