Add presentation guidelines, privacy section, and env-configurable config path

- SKILL.md: Add Presentation Guidelines and Privacy sections for
  consistent financial data presentation
- actual-query.mjs: Support ACTUAL_BUDGET_CONFIG_DIR env var to
  override default ~/.config/actual-budget/ path, enabling use in
  containers where that path isn't persisted
This commit is contained in:
2026-03-22 13:52:35 -04:00
parent cd340aa3ac
commit a6e841b4eb
2 changed files with 21 additions and 1 deletions

View File

@@ -25,6 +25,8 @@ Configuration is stored in:
- `~/.config/actual-budget/config` — Server URL, sync ID
- `~/.config/actual-budget/password` — Server password (chmod 600)
Override the config directory by setting `ACTUAL_BUDGET_CONFIG_DIR` environment variable.
## Using the Helper Functions
Source the helper script:
@@ -113,3 +115,20 @@ actual_query '{"table":"transactions","filter":{"date":{"$gte":"2026-03-01"}},"s
- **"@actual-app/api not installed"** — Run `cd <skill-scripts-dir> && npm install @actual-app/api`
- **Connection errors** — Check server URL and password in `~/.config/actual-budget/config`
- **Empty results** — Verify the sync ID matches an active budget (`actual_budgets`)
## Presentation Guidelines
- Format currency with dollar signs and commas ($1,234.56)
- Amounts are already in dollars — do not divide by 1000
- Highlight categories over budget
- Summarize before showing details — lead with the key insight
- For transaction lists, show date, payee, category, and amount in a clean table
- When computing frequency ("how often"), count unique dates, not transaction count
- Verify arithmetic before presenting — sanity-check that "X out of Y" values are logically possible
- Prefer concrete numbers over vague summaries
## Privacy
- Financial data is private to the family
- Present data matter-of-factly without judgment
- Do not modify transactions unless explicitly requested by Bill

View File

@@ -13,7 +13,8 @@ function output(data) {
_origLog(JSON.stringify(data, null, 2));
}
const CONFIG_DIR = path.join(process.env.HOME, '.config', 'actual-budget');
const CONFIG_DIR = process.env.ACTUAL_BUDGET_CONFIG_DIR
|| path.join(process.env.HOME, '.config', 'actual-budget');
const CONFIG_FILE = path.join(CONFIG_DIR, 'config');
const PASSWORD_FILE = path.join(CONFIG_DIR, 'password');
const DATA_DIR = path.join(CONFIG_DIR, 'data');