← 返回 Skills 市场
chardigio

Copilot Money Mac

作者 Charlie DiGiovanna · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
654
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install 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,...
使用说明 (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
安全使用建议
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.
功能分析
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.
能力评估
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.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install copilot-money-mac
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /copilot-money-mac 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
A Claude Code plugin for querying personal finance data from the Copilot Money Mac app.
元数据
Slug copilot-money-mac
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

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,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 654 次。

如何安装 Copilot Money Mac?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install copilot-money-mac」即可一键安装,无需额外配置。

Copilot Money Mac 是免费的吗?

是的,Copilot Money Mac 完全免费(开源免费),可自由下载、安装和使用。

Copilot Money Mac 支持哪些平台?

Copilot Money Mac 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Copilot Money Mac?

由 Charlie DiGiovanna(@chardigio)开发并维护,当前版本 v1.0.0。

💬 留言讨论