← ClaudeAtlas

finance-motionlisted

Turn ONE audited financial data file (report.json) into three outputs whose figures are identical and machine-verified. The outputs are a print-ready PDF (Typst), an animated MP4 for LinkedIn/social (Remotion — count-up KPIs, growing bars, segment mix, revenue waterfall, income statement), and a self-contained interactive HTML report (Apache ECharts). Use when someone wants annual or quarterly results, investor updates, fund reports or KPI highlights as a moving/interactive piece AND a printable one, or asks for animated financial charts or infographics with numbers that must be right. Every figure is validated to foot before rendering, and read back from every output after. NOT for long editorial reports (use magazine-builder's annual-report mode), one-page teasers (pdf-builder), or non-financial explainer videos.
hussainnasser1996-stack/print-studio · ★ 0 · Data & Documents · score 62
Install: claude install-skill hussainnasser1996-stack/print-studio
# finance-motion One data file → a print PDF, an animated reel and an interactive web report, with the **same figures everywhere, verified**. Animated finance content usually breaks this rule. Someone retypes numbers into a video tool, a chart rounds 16.14% to 16.2%, and the web version drifts from the PDF. Here, no renderer is allowed to format a number. Every visible figure is a `display` string copied from `report.json`, and two checkers enforce that. ``` report.json ──validate_report.py──► PASS? ──┬─► pdf/ → report.pdf (Typst) (the only place ├─► video/ → reel.mp4 (Remotion) numbers live) └─► web/ → report.html (ECharts) │ verify_outputs.py ◄─────────────┘ every figure visible in every output? ``` ## Self-improvement: mandatory on every use This skill fixes itself. When you, the user or a check find a defect: fix the output, then ask whether it would happen again on a different report. If yes, patch this skill in its canonical location (`~/.claude/skills/finance-motion/`, a symlink into the user's Claude Hub repo) as *symptom → cause → fix*. Write it generically: this skill is public, so no client names, real figures or job paths. Log one line in `CHANGELOG.md`, and commit only this skill's files: `git -C ~/.claude/skills/finance-motion add . && git -C ~/.claude/skills/finance-motion commit -m "finance-motion: <lesson>"