mikechongcan/cfo-stack/report-dashboard

Claude Code and agent skill by mikechongcan/cfo-stack

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Generate beautiful HTML dashboards from a Beancount ledger without using an LLM. Uses Bun + TypeScript + React + Tailwind to render business or household dashboards from `bean-query` data, including balance sheet, cash flow, net worth, and recent activity. Use when you want a shareable dashboard artifact instead of Markdown-only statements. CLEAR step: R (Report)

Install

npx vskill@latest install mikechongcan/cfo-stack/report-dashboard

SKILL.md

/cfo-report-dashboard — Traceable HTML Dashboards

When to use

  • You want a polished dashboard artifact that can be opened in a browser or shared with an advisor.
  • You need a non-LLM reporting path from a valid main.beancount file.
  • You want a business dashboard for statements and working-capital context.
  • You want a household dashboard for net worth, spending, and cash flow context.

Core workflow

  1. Resolve the ledger path.

Priority: explicit argument, ./main.beancount, ./ledger/main.beancount, then the first main.beancount found recursively.

  1. Run bean-query to extract structured balances, monthly account movements, and posting activity.
  2. Infer business or household profile unless the user forces it.
  3. Render a static HTML dashboard with Bun + TypeScript + React + Tailwind v4.
  4. Save the artifact to an output directory and keep the raw JSON export beside it for auditability.

Commands

From the repo root, after ./setup:

bash
./bin/cfo-dashboard examples/canadian-company/main.beancount
./bin/cfo-dashboard examples/canadian-family/main.beancount --profile household
./bin/cfo-dashboard examples/usa-company/main.beancount --variant social --output reports/social-share/usa-company
./bin/cfo-dashboard --sample-set all

Direct Bun usage:

bash
cd skills/report-dashboard/scripts
bun install
bun run generate -- --ledger ../../../examples/usa-company/main.beancount

Outputs

  • index.html — standalone dashboard shell
  • dashboard.css — compiled Tailwind stylesheet
  • dashboard-data.json — extracted structured data for traceability
  • Social variant: --variant social emits a share-safe HTML view and intentionally omits raw JSON output.

Constraints

  • Never invent numbers. Every figure must come from bean-query output.
  • Treat cash flow as a direct-method summary based on cash-account transactions and transparent account heuristics.
  • Keep generated artifacts out of git. Use ignored output paths such as reports/ or dashboard-output/.
  • Run bean-check before relying on the dashboard.

Implementation notes

  • Tooling lives in scripts/.
  • Use bun run check for type safety.
  • If the UI needs polishing, prefer reviewing scripts/src/render.tsx and scripts/src/styles.css.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
71
Repository forks
15
7-day trend score
21

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/mikechongcan/cfo-stack/report-dashboard/badge)](https://verified-skill.com/skills/mikechongcan/cfo-stack/report-dashboard)

Something wrong with this skill or its page? Tell us.