flowstate-epic-flowstate-apps-epicdm-flowstate-app-finance
Package-local agent skill for @epicdm/flowstate-app-finance.
Tags
Publisher
Versions
1 version published — latest: 1.0.0
- 1.0.0publishedInvalid Date
Skill
flowstate-app-finance Package Skill
Package: @epicdm/flowstate-app-finance
Repository: epic-flowstate-apps
Path: packages/flowstate-app-finance
Version: 1.0.0
Use this published Dojo skill as the package-level entrypoint. For detailed workflows, use the package-local skills listed below.
Primary Package Workflow
Finance Import And Reports
Status: Active
Purpose: Keep imports and financial report calculations accurate and auditable.
Scope: src/utils/csvParser.ts, report hooks, report helpers, aging utilities, and import/report pages.
Trigger: A task changes CSV parsing, field mapping, account aggregation, date ranges, aging buckets, cash flow, budgets, or financial statements.
Input: Target import or reporting behavior.
Output: Updated calculation/import logic with accounting semantics preserved.
Workflow
- For CSV changes, start in
src/utils/csvParser.ts. It intentionally uses a state machine for quoted commas, escaped quotes, and embedded newlines. - Update QuickBooks mappings in
QB_ACCOUNT_FIELD_MAPorQB_TRANSACTION_FIELD_MAPwhen import field names change. - For reports, inspect the hook that owns the page plus shared helpers in
src/utils/reportHelpers.ts. - Preserve normal-balance sign logic. Assets and expenses usually carry debit balances; liabilities, equity, and revenue usually carry credit balances.
- Keep date comparisons ISO-string compatible where helpers use
YYYY-MM-DDlexical comparisons.
Report Sources
| Report area | Source |
|---|---|
| Profit/loss, balance sheet, trial balance, ledger | src/hooks/useFinancialReports.ts |
| Cash flow | src/hooks/useCashFlowStatement.ts, src/utils/reportHelpers.ts |
| Budget vs actual | src/hooks/useBudgetVsActual.ts |
| Multi-period | src/hooks/useMultiPeriodComparison.ts |
| Aging | src/utils/aging.ts |
Verification
yarn workspace @epicdm/flowstate-app-finance build
Add tests for CSV and pure report helpers when calculation behavior changes.
Package Skill Inventory
Skill Inventory: @epicdm/flowstate-app-finance
| Skill | Type | Use when |
|---|---|---|
flowstate-app-finance | Orchestrator | Working on finance app routes, setup wizard, plugin wiring, or deciding which finance subskill to load. |
flowstate-app-finance-ledger-workflows | Workflow | Changing chart of accounts, journal entries, journal lines, double-entry validation, vendors, bills, or auto-posting. |
flowstate-app-finance-import-reports | Workflow | Changing CSV import, QuickBooks field maps, financial reports, aging, cash flow, budget, or multi-period calculations. |
Composition
Use the orchestrator for app and setup work. Use ledger workflows for transactional accounting behavior. Use import reports for calculations and data import/export behavior.
Review Gate
Review: @epicdm/flowstate-app-finance Skills
Status: Passed for local package use
Reviewed: 2026-06-30
Checks
| Check | Result |
|---|---|
| Source-backed | Passed. Skills cite routes, setup config, schemas, hooks, reports, and import utilities. |
| Not a generated feature list | Passed. Skills focus on accounting workflows and invariants. |
| Composable | Passed. Orchestrator separates ledger work from import/report work. |
| Verification included | Passed. Available package scripts are documented accurately. |
Residual Risk
No package-local test script is declared. Accounting changes should add tests for pure utilities such as autoPosting, csvParser, and report helpers.
Usage
Start with this skill to understand the package purpose, then use the package-local focused skills for specific workflows. Keep this Dojo version aligned with packages/flowstate-app-finance/package.json. Do not treat generated feature lists as lessons; use workflow evidence from CODE-REVIEW.md, SKILL-INVENTORY.md, and REVIEW.md.
Install
Run this in your project to install via CLI:
fscloud dojo skill install flowstate-epic-flowstate-apps-epicdm-flowstate-app-finance --target <target> --out ./skillsReplace <target> with your agent target identifier. See the CLI docs for details.